implementing blue green deployments with istio
play

Implementing Blue/Green Deployments with Istio Machine - PowerPoint PPT Presentation

Implementing Blue/Green Deployments with Istio Machine Intelligence Modern Infrastructure http://mi2.live What is MI2? MI2 Webinars focus on the convergence of machine intelligence and modern infrastructure . Every alternate week, I deliver


  1. Implementing Blue/Green Deployments with Istio Machine Intelligence Modern Infrastructure http://mi2.live

  2. What is MI2? MI2 Webinars focus on the convergence of machine intelligence and modern infrastructure . Every alternate week, I deliver informative and insightful sessions covering cutting-edge technologies. Each webinar is complemented by a tutorial, code snippets, and a video. MI2 strives to be an independent and neutral platform for exploring emerging technologies. Register at http://mi2.live

  3. Objectives • Overview of Microservices • Challenges involved with Microservices • Why use a Service Mesh? • Big picture of Istio • Closer look at traffic routing policies • Demo • Summary

  4. Traditional 3 Tier Architecture UI Business Logic Data

  5. Traditional 3 Tier Architecture UI C1 C1 C1 C1 C2 C2 C2 C2 C3 C3 C3 C3 AS 4 AS 1 AS 2 AS 3 Data

  6. Microservices Architecture UI Node 1 Node 2 Node 3 Node 4 Node 5 C1 C2 C1 C2 C1 C2 C1 C2 C1 C2 C1 C3 C3 C3 C3 C3 C3 C3 C1 C3 Cluster Manager Data

  7. Microservices Architecture S1 S2 S3

  8. Challenges involved with Microservices Service B Service D Service A External Service C Service

  9. Challenges involved with Microservices Java Ruby Service B Service D Python Service A C# External Service C Service

  10. Challenges involved with Microservices Java Ruby Service B Service D Python Agent Agent Service A Agent C# External Service C Service Agent

  11. Challenges involved with Microservices Java Ruby gRPC Service B Service D Python P Agent Agent T T H Service A Agent C# HTTP/2 External GraphQL Service C Service Agent

  12. Challenges involved with Microservices Java Ruby gRPC Service B Service D L7 Python Agent Agent P T T H Service A L4 Agent C# HTTP/2 External GraphQL Service C Service Agent

  13. Challenges involved with Microservices Central Monitoring Service Java Ruby gRPC Service B Service D L7 Python Agent Agent P T T H Service A L4 Agent C# HTTP/2 External GraphQL Service C Service Agent

  14. Challenges involved with Microservices • Polyglot programming model • Language-specific tools and SDKs • Diverse set of protocols • Multiple deployment targets • Combination of load balancers • Complex debugging • Lack of visibility and observability • Hard to implement the best practices of distributed computing • Decentralized authentication and authorization

  15. Service Mesh - A Possible Solution • Out of process architecture • Clean separation of data plane and control plane • Support internal and external load balancing (L3/L4/L7) • Consistent Service discovery • Extensible protocol support • Advanced health checks • Real-time monitoring, logging, tracing • Best practices of distributed computing

  16. Service Mesh – Control Plane vs Data Plane Control Plane Java Ruby gRPC Service B Service D L7 Python P T T H Proxy Proxy Service A L4 C# Proxy HTTP/2 External GraphQL Service C Service Proxy

  17. What is Istio? • Connect • Intelligent traffic routing and flow • Secure • Managed authentication, encryption • Control • Enforce policy-driven communication across services • Observe • Automatic tracing, monitoring, and logging

  18. Istio – Control Plane vs. Data Plane Istio Control Plane Java Ruby gRPC Service B Service D L7 Python P T T H Proxy Proxy Service A L4 C# Proxy HTTP/2 External GraphQL Service C Service Proxy

  19. Istio Building Microservice 1 Blocks Observability Proxy Policy Definition Network Management Proxy Service Discovery Microservice 2 Istio Control Plane

  20. Istio Architecture

  21. Key Concepts of Istio Traffic Management • VirtualService defines the rules that control how requests for a service are routed within an Istio service mesh. • DestinationRule configures the set of policies to be applied to a request after VirtualService routing has occurred. • ServiceEntry is commonly used to enable requests to services outside of an Istio service mesh. • Gateway configures a load balancer for HTTP/TCP traffic operating at the edge of the mesh, most commonly to enable ingress traffic for an application. • Sidecar configures one or more sidecar proxies attached to application workloads running inside the mesh.

  22. Blue/Green Deployments with Istio

  23. What are we building? • Two versions of the same applications deployed in Kubernetes • Dynamically adjusting the traffic routing to the application via Istio rules

  24. DEMO Performing Blue/Green Deployments

  25. Summary • Automatic load balancing for HTTP, gRPC, WebSocket, and TCP traffic • Fine-grained control of traffic behavior with rich routing rules, retries, failovers, and fault injection • A pluggable policy layer and configuration API supporting access controls, rate limits and quotas • Automatic metrics, logs, and traces for all traffic within a cluster, including cluster ingress and egress • Secure service-to-service communication in a cluster with strong identity-based authentication and authorization

  26. MI2 Sponsors

  27. Next Webinar Ge Getting ing Started wit ith Azure Io IoT Edge ge Azure IoT Edge is an Internet of Things (IoT) service that builds on top of Azure IoT Hub. By moving parts of an IoT workload to the edge, devices can spend less time sending messages to the cloud and react more quickly to changes in status. Attend this session to learn how to use Azure IoT Edge to build intelligent applications that run at the edge. Thursday, April 18th, 2019 9:00 AM PST / 9:30 PM IST Register at http://mi2.live

Recommend


More recommend