solucionando problemas de microsservi os com service mesh
play

Solucionando Problemas de Microsservios com Service Mesh: Istio e - PowerPoint PPT Presentation

Solucionando Problemas de Microsservios com Service Mesh: Istio e Envoy Edson Yanaga (@yanaga) bit.ly/istio-tutorial @yanaga - bit.ly/istio-intro 1 @yanaga Edson Yanaga Raffle Rules @yanaga - Follow: - With a picture of the session -


  1. Solucionando Problemas de Microsserviços com Service Mesh: Istio e Envoy Edson Yanaga (@yanaga) bit.ly/istio-tutorial @yanaga - bit.ly/istio-intro � 1

  2. @yanaga Edson Yanaga

  3. Raffle Rules @yanaga - Follow: - With a picture of the session - Mention @yanaga - With hashtag #QConSP Edson Yanaga

  4. bit.ly/mono2microdb @yanaga - bit.ly/istio-intro

  5. bit.ly/istiobook 2nd Edition @yanaga - bit.ly/istio-intro

  6. Agenda • Why Service Mesh • Observability • Istio Architecture & Introduction • Traffic Control • Service Resiliency & Circuit Breaking • Chaos Testing • Egress • Security @yanaga - bit.ly/istio-intro

  7. Your Journey to Awesomeness Automation Self-Service, CI & CD Advanced Microservices Re-Org to On-Demand, Deployment Deployment DevOps Elastic Pipeline Techniques Infrastructure @yanaga - bit.ly/istio-intro @yanaga - bit.ly/istio-intro

  8. Monolith MyApp @yanaga - bit.ly/istio-intro

  9. The Application @yanaga - bit.ly/istio-intro

  10. Modules @yanaga - bit.ly/istio-intro

  11. Microservices @yanaga - bit.ly/istio-intro

  12. Microservices @yanaga - bit.ly/istio-intro

  13. Microservices @yanaga - bit.ly/istio-intro

  14. Microservices @yanaga - bit.ly/istio-intro

  15. Network of Services @yanaga - bit.ly/istio-intro

  16. Microservices own their Data @yanaga - bit.ly/istio-intro

  17. Multiple Points of Entry @yanaga - bit.ly/istio-intro

  18. Multiple Teams, Multiple Pipelines @yanaga - bit.ly/istio-intro

  19. Microservices Principles 1. Deployment Independence - updates to an individual microservice have no negative impact to any other component of the system. Optimized for Replacement 2. Organized around business capabilities 3. Products not Projects 4. API Focused 5. Smart endpoints and dumb pipes 6. Decentralized Governance 7. Decentralized Data Management 8. Infrastructure Automation (infrastructure as code) 2 Pizza Team 9. Design for failure 10. Evolutionary Design @yanaga - bit.ly/istio-intro

  20. Old School New School Love Thy Mono @yanaga - bit.ly/istio-intro

  21. Microservices == Distributed Computing OS OS JVM JVM Service A Service C OS JVM Service B @yanaga - bit.ly/istio-intro

  22. Fallacies of Distributed Computing • The Network is Reliable • Latency is zero • Bandwidth is infinite • Topology does not change • There is one administrator • Transport cost is zero • The network is homogeneous https://en.wikipedia.org/wiki/Fallacies_of_distributed_computing @yanaga - bit.ly/istio-intro

  23. Failure of a Service X @yanaga - bit.ly/istio-intro

  24. Cascading Failure X X X X X X X @yanaga - bit.ly/istio-intro

  25. Microservices'ilities API Tracing Discovery Invocation Monitoring MyService Elasticity Logging Authentication Resilience Pipeline @yanaga - bit.ly/istio-intro

  26. History of Microservices AWS EC2 Java EE6 DropWizard Hystrix Eureka Spring Boot Kubernetes 2006 2009 May 2011 March 2012 July 2012 Sept 2013 June 2014 Continuous DevOps NETFLIX Vert.x Ribbon Microservices Microservices Agile Docker Integration 2009 to AWS June March 
 Assess Defined Manifesto March via XP 2010 2011 2012 Thoughtworks Thoughtworks Feb 2013 1999 Radar Fowler, Lewis 2001 March 2012 March 2014 @yanaga - bit.ly/istio-intro

  27. Microservices embedding Capabilities Container Container JVM JVM Service A Service C Discovery Discovery Load-balancer Load-balancer Resiliency Resiliency Metrics Metrics Tracing Tracing Container JVM Service B Discovery Load-balancer Resiliency Metrics Tracing @yanaga - bit.ly/istio-intro

  28. What's Wrong with Netflix OSS? Java Only Adds a lot of libraries to YOUR code @yanaga - bit.ly/istio-intro

  29. Microservices'ilities API Tracing Discovery Invocation Monitoring MyService Elasticity Logging Authentication Resilience Pipeline @yanaga - bit.ly/istio-intro

  30. @yanaga - bit.ly/istio-intro

  31. Microservices'ilities + Kubernetes API Tracing Discovery Invocation Monitoring MyService Elasticity Logging Authentication Resilience Pipeline @yanaga - bit.ly/istio-intro

  32. Microservices'ilities + OpenShift API Tracing Discovery Invocation Monitoring MyService Elasticity Logging Authentication Resilience Pipeline @yanaga - bit.ly/istio-intro

  33. Istio - Sail (Kubernetes - Helmsman or ship’s pilot) @yanaga - bit.ly/istio-intro

  34. Service Mesh Defined 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/ @yanaga - bit.ly/istio-intro

  35. Microservices'ilities + Istio API Tracing Discovery Invocation Monitoring MyService Elasticity Logging Authentication Resilience Pipeline @yanaga - bit.ly/istio-intro

  36. Observability @yanaga - bit.ly/istio-intro

  37. @yanaga - bit.ly/istio-intro

  38. @yanaga - bit.ly/istio-intro

  39. @yanaga - bit.ly/istio-intro

  40. Microservices embedding Capabilities Container Container JVM JVM Before Istio Service A Service C Discovery Discovery Load-balancer Load-balancer Resiliency Resiliency Metrics Metrics Tracing Tracing Container JVM Service B Discovery Load-balancer Resiliency Metrics Tracing @yanaga - bit.ly/istio-intro

  41. Microservices externalizing Capabilities Pod Pod Container Container JVM JVM After Istio Service A Service C Sidecar Container Sidecar Container Pod Container JVM Service B Sidecar Container @yanaga - bit.ly/istio-intro

  42. Microservices externalizing Capabilities Pod Pod Container Container JVM JVM After Istio Service A Service C The sidecar intercepts all network traffic Sidecar Container Sidecar Container Pod Sidecar Container Container JVM Service B @yanaga - bit.ly/istio-intro

  43. Sidecar https://www.imz-ural.com/blog/waffles-the-sidecar-dog @yanaga - bit.ly/istio-intro

  44. How to add an Istio-Proxy (sidecar)? istioctl kube-inject -f NormalDeployment.yaml OR kubectl label namespace myspace istio- injection=enabled To "see" the sidecar: kubectl describe deployment customer @yanaga - bit.ly/istio-intro

  45. Better Microservices Platform circa 2018 Config Server Istio Jaeger NETFLIX Ribbon @yanaga - bit.ly/istio-intro

  46. Polyglot Microservices Platform circa 2018 Config Server Istio Jaeger NETFLIX Ribbon @yanaga - bit.ly/istio-intro

  47. Envoy is the current sidecar Pod Pod Container Container JVM JVM Service A Service C Sidecar Container Sidecar Container Pod Sidecar Container Container JVM Service B @yanaga - bit.ly/istio-intro

  48. Next Generation Microservices - Service Mesh Code Independent (Polyglot) • Intelligent Routing and Load-Balancing • Smarter Canary Releases • Dark Launch • Chaos: Fault Injection • Resilience: Circuit Breakers • Observability & Telemetry: Metrics and Tracing • Security: Encryption & Authorization • Fleet wide policy enforcement @yanaga - bit.ly/istio-intro

  49. Istio Data Plane vs Control Plane Pod Pod Pod Data Container Container Container Plane JVM JVM JVM Service A Service B Service C HTTP1.1, HTTP2, HTTP1.1, HTTP2, HTTP1.1, HTTP2, gRPC, TCP w/TLS gRPC, TCP w/TLS gRPC, TCP w/TLS Envoy Sidecar Envoy Sidecar Envoy Sidecar Control Mixer 
 Galley Pilot Citadel Plane (telemetry, policy) API, config Quota, Telemetry 
 mTLS, SPIFFE ACL @yanaga - bit.ly/istio-intro

  50. API Gateways Pod Pod Pod Container Container Container Pod JVM JVM JVM Container Nginx or Service A Service B Service C Haproxy or OpenShift Istio Route istio-proxy istio-proxy istio-proxy Gateway API Management @yanaga - bit.ly/istio-intro

Recommend


More recommend