Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Shaping tomorrow’s technology: Navigating Cloud Native, Serverless, and Polyglot Programming

Shaaf Syed
November 06, 2023

Shaping tomorrow’s technology: Navigating Cloud Native, Serverless, and Polyglot Programming

Tailored for developers looking to modernize their applications, this talk guides the transition to cloud-native and serverless architectures. It emphasizes developer productivity by showcasing architectural patterns, common pitfalls, and the benefits of polyglot programming. A live demo will further illuminate and detail the practical applications. If you're a developer seeking to enhance efficiency and embrace cutting-edge practices, this is the right talk for your journey towards a successful modernization.

Shaaf Syed

November 06, 2023
Tweet

More Decks by Shaaf Syed

Other Decks in Technology

Transcript

  1. Naina Singh - Red Hat @madhatter_ns Shaping tomorrow’s technology: Navigating

    Cloud Native, Serverless, and Polyglot Programming Shaaf Syed -Red Hat @syshaaf
  2. Agenda ➔ Define the terms ➔ Knative vs Serverless ➔

    Architecture ➔ Demo in picture ➔ Monolith Architecture & Challenges ➔ Architecture with tomorrow’s technology(s) ➔ Patterns ➔ Conclusion- Formula to Modernize
  3. Monolith Microservice Function f( ) Architecture Evolution ❖ Self-contained software

    ❖ Fewer cross-cutting concerns ❖ Lack of flexibility ❖ Difficult to Scale ❖ Difficult to maintain, update, and deploy ❖ Multiple, loosely coupled, independent services ❖ More scalable ❖ More flexible ❖ More Complex Development ❖ Easier to maintain, update, and deploy services individually ❖ Single purpose, event driven ❖ Easy development ❖ Highly scalable ❖ Highly flexible ❖ More Complex Deployment ❖ Cold start latency
  4. Our Monolith’s Architecture & Challenges ➔ Scaling challenges e.g. individual

    components or app ➔ Lifecycle is prolonged due to dependencies ➔ Everything runs in the same process ➔ Technical debt, hard to innovate ➔ CI/CD
  5. Breaking down components into services ➔ Scaling is more independent

    to the component (hypothetically speaking..) ➔ Life cycles are shorter depending on the teams ➔ Everything is no longer in one big process ➔ Distributed, can introduce other challenges like latency, compatibility, single point of failures etc. ➔ Capacity, not all services are used all the time…. wait what???
  6. Our evolved architecture- mix and match! ➔ Lets try this

    on one service ➔ Scale to Zero? ➔ Only use it when a component needs it.? ➔ Mix and match which ones? ➔ Cost, efficiency maybe more sustainable? ➔ Is it really beneficial in production?
  7. Show me Event Driven Pattern- Eventing ➔ Operates on a

    Knative Service ➔ Publish an event without creating a consumer. ➔ Consume an event without creating a publisher. ➔ Push based approach ➔ Manages data delivery (Eventing) ➔ Knative Autoscaler - Demand-based autoscaling (HTTP)
  8. Show me scaling of Events - with KEDA ➔ Automatically

    scale Kubernetes Deployments, Jobs & Custom Resources ➔ Provides 61+ built-in scalers, but users can build own external scalers ➔ Kafka, Prometheus, RabbitMQ, AWS services, Azure Services,... ➔ Scale resources based on events in the target scalers, eg. messages in Kafka topic ➔ KEDA does not manipulate the data, just scales the workload ➔ Installation through OLM Operator or Helm
  9. Show me the wild scaling! - Efficiency Over provisioning Time

    in capacity planning IT cost of idle resources Under provisioning Lost business revenue Poor quality of service More applications Direct line between IT costs & business revenue NOT Serverless with Serverless
  10. Show me easy development - Function! Code to Cloud -Knative

    Service in 2 steps ➔ In the OOTB language of your choice ➔ Quick get-started template ➔ Avoid wrangling HTTP libraries ➔ Handle POST requests ➔ Handle CloudEvents ➔ Build standard container images ➔ Build locally or on-cluster
  11. Rehost Take current containerized applications and deploy as serverless workloads.

    No rewrite necessary. Refactor Refactor applications to benefit from cloud native technologies such as Service Mesh and benefit from platform-wide security and observability. Revise Decouple systems and define boundaries by using Event Driven Architectures. Trigger applications through events and decouple them. Replace Decommission legacy systems and replace with new cloud native solutions that are easier to maintain and optimized for the cloud. Rebuild Implement new functionality as Serverless, but avoid lock-in. Consider Functions to go even faster. 05 01 02 03 04 Modernization- 5R model!
  12. Please scan the QR Code to leave feedback on this

    session Drop in @Kiosk (P5-A) learn more, ask questions have some coffee..