Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Istio canaries and kubernetes

726 views

Published on

Being a cloud native developer requires learning some new language and new skills like circuit-breakers, canaries, service mesh, linux containers, dark launches, tracers, pods and sidecars. In this session, we will introduce you to cloud native architecture by demonstrating numerous principles and techniques for building and deploying Java microservices via Spring Boot, Wildfly Swarm and Vert.x, while leveraging Istio on Kubernetes with OpenShift.

Published in: Software
  • Be the first to comment

Istio canaries and kubernetes

  1. 1. Istio: Canaries and Kubernetes @burrsutter burr@redhat.com bit.ly/istio-canaries bit.ly/istio-tutorial Recording: https://www.youtube.com/watch?v=YQLOcjvbo9s
  2. 2. Demo: bit.ly/msa-instructions Slides: bit.ly/microservicesdeepdive Video Training: bit.ly/microservicesvideo Free eBooks from developers.redhat.com bit.ly/reactivemicroservicesbookbit.ly/javamicroservicesbook Microservices Introductory Materials @burrsutter Microservices Advanced Materials bit.ly/istio-tutorial bit.ly/mono2microdb http://bit.ly/istio-canaries Istio.io Kubernetes for Java Developers
  3. 3. Monolith MyApp @burrsutter
  4. 4. Microservices @burrsutter
  5. 5. Microservices @burrsutter
  6. 6. Microservices @burrsutter
  7. 7. Microservices @burrsutter
  8. 8. Microservices @burrsutter
  9. 9. Microservices @burrsutter
  10. 10. Network of Services @burrsutter
  11. 11. OS JVM Service C Microservices == Distributed Computing @burrsutter OS JVM Service B OS JVM Service A
  12. 12. MyService Monitoring Tracing API Discovery Invocation Resilience Pipeline Authentication Logging Elasticity Microservices'ilities @burrsutter
  13. 13. Continuous Integration via XP 1999 AWS EC2 2006 DropWizard May 2011 Agile Manifesto Feb 2001 NETFLIX to AWS 2010 Ribbon March 2012 Hystrix March 2012 Eureka July 2012 Microservices Assess Thoughtworks Radar March 2012 Spring Boot Sept 2013 Microservices Defined Thoughtworks Fowler, Lewis March 2014 Kubernetes June 2014 Java EE6 2009 DevOps 2009 Docker March 2013 Short History of Microservices @burrsutter
  14. 14. Java Only Adds a lot of libraries to YOUR code What's Wrong with Netflix OSS?
  15. 15. Microservices embedding Capabilities @burrsutter Container JVM Service B Discovery Load-balancer Resiliency Metrics Tracing Container JVM Service A Discovery Load-balancer Resiliency Metrics Tracing Container JVM Service C Discovery Load-balancer Resiliency Metrics Tracing
  16. 16. MyService Monitoring Tracing API Discovery Invocation Resilience Pipeline Authentication Logging Elasticity Microservices'ilities @burrsutter
  17. 17. @burrsutter
  18. 18. MyService Monitoring Tracing API Discovery Invocation Resilience Pipeline Authentication Logging Elasticity Microservices'ilities + Kubernetes @burrsutter
  19. 19. MyService Monitoring Tracing API Discovery Invocation Resilience Pipeline Authentication Logging Elasticity Microservices'ilities + OpenShift @burrsutter
  20. 20. Istio - Sail (Kubernetes - Helmsman or ship’s pilot) @burrsutter
  21. 21. A service mesh is a dedicated infrastructure layer for handling service-to- service communication. It’s responsible for the reliable delivery of requests through the complex topology of services that comprise a modern, cloud native application. In practice, the service mesh is typically implemented as an array of lightweight network proxies that are deployed alongside application code, without the application needing to be aware https://buoyant.io/2017/04/25/whats-a-service-mesh-and-why-do-i-need-one/ Service Mesh Defined
  22. 22. MyService Monitoring Tracing API Discovery Invocation Resilience Pipeline Authentication Logging Elasticity Microservices'ilities + Istio @burrsutter
  23. 23. Microservices embedding Capabilities @burrsutter Container JVM Service B Discovery Load-balancer Resiliency Metrics Tracing Container JVM Service A Discovery Load-balancer Resiliency Metrics Tracing Container JVM Service C Discovery Load-balancer Resiliency Metrics Tracing Before Istio
  24. 24. Microservices externalizing Capabilities @burrsutter Pod Container JVM Service A Sidecar Container Pod Container JVM Service C Sidecar Container Pod Container JVM Service B Sidecar Container After Istio
  25. 25. Kubernetes, Istio, Envoy @burrsutter Pod Container JVM Service A Sidecar Container Pod Container JVM Service C Sidecar Container Pod Container JVM Service B Sidecar Container
  26. 26. Next Generation Microservices - Service Mesh Code Independent (Polyglot) • Intelligent Routing and Load-Balancing • A/B Tests • Smarter Canary Releases • Chaos: Fault Injection • Resilience: Circuit Breakers • Observability: Metrics and Tracing • Fleet wide policy enforcement @burrsutter
  27. 27. Pod Container JVM Service A Envoy Side-car Pod Container JVM Service B Envoy Side-car Pod Container JVM Service C Envoy Side-car HTTP1.1, HTTP2, gRPC, TCP w/TLS HTTP1.1, HTTP2, gRPC, TCP w/TLS HTTP1.1, HTTP2, gRPC, TCP w/TLS Istio Pilot Istio Mixer Istio Auth istioctl, API, config Quota, Telemetry Rate Limiting, ACL CA, SPIFFE @burrsutter Istio Control Plane
  28. 28. DEVELOPMENT QA STAGING PRODUCTION ROUTER USERS SCM Canary Deployment @burrsutter
  29. 29. DEVELOPMENT QA STAGING PRODUCTION ROUTER USERS SCM Canary Deployment @burrsutter
  30. 30. DEVELOPMENT QA STAGING PRODUCTION ROUTER USERS SCM Canary Deployment @burrsutter
  31. 31. DEVELOPMENT QA STAGING PRODUCTION ROUTER USERS SCM Canary Deployment @burrsutter
  32. 32. DEVELOPMENT QA STAGING PRODUCTION ROUTER USERS SCM Canary Deployment @burrsutter
  33. 33. DEVELOPMENT QA STAGING PRODUCTION ROUTER USERS SCM Canary Deployment @burrsutter
  34. 34. DEVELOPMENT QA STAGING PRODUCTION ROUTER USERS SCM Canary Deployment @burrsutter
  35. 35. DEVELOPMENT QA STAGING PRODUCTION ROUTER USERS SCM Canary Deployment @burrsutter
  36. 36. DEVELOPMENT QA STAGING PRODUCTION ROUTER USERS SCM Canary Deployment @burrsutter
  37. 37. DEVELOPMENT QA STAGING PRODUCTION ROUTER USERS SCM Canary Deployment @burrsutter
  38. 38. Canaries with Kubernetes Pod Container JVM Service A v1 Pod Container JVM Service A v2 Service Route/ Ingress 50% 50% @burrsutter
  39. 39. Canaries with Istio Pod Container JVM Service A v1 Pod Container JVM Service A v2 Service Route/ Ingress 90% 10% @burrsutter
  40. 40. Demo bit.ly/istio-tutorial @burrsutter
  41. 41. Demo: bit.ly/msa-instructions Slides: bit.ly/microservicesdeepdive Video Training: bit.ly/microservicesvideo Free eBooks from developers.redhat.com bit.ly/reactivemicroservicesbookbit.ly/javamicroservicesbook Microservices Introductory materials @burrsutter Microservices Advanced Materials bit.ly/istio-tutorial bit.ly/mono2microdb http://bit.ly/istio-canaries Istio.io

×