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.

Service Mesh Patterns

As we start to go toward cloud-native infrastructure and build our applications out of microservices, we must fully face the drawbacks and challenges to doing so. Some of these challenges include how to consistently monitor and collect statistics, tracing, and another telemetry, how to add resiliency in the face of unexpected failure, how to do powerful feature routing (ie feature graduation, tap compare ) and much more like securing your services correctly.

Service mesh, in general, helps developers solve this in a non-invasive way.

In this session, we'll show how you can take advantage of these capabilities and show you some patterns that you can implement easily with a service mesh to make your delivery to production smoothly and without surprises.

We expect most developers haven't adequately solved for these issues, so we'll take it step by step and build up a strong understanding of Istio and its patterns, harness its power in your production services architecture.

Service Mesh Patterns

  1. 1. @alexsotob SERVICE MESH PATTERNS Alex Soto @alexsotob
  2. 2. @alexsotob2 Alex Soto Red Hat Engineer @alexsotob Who Am I?
  3. 3. @alexsotob Raffle Rules (applicable in the real) 3 1. Follow: @alexsotob 2. With picture of the session 3. Mention @alexsotob 4. With hashtag #DevoxxUK 40% discount: ctwdevoxxuk19
  4. 4. @alexsotob4 Questions
  5. 5. @alexsotob5
  6. 6. @alexsotob6 MyApp Monolith
  7. 7. @alexsotob7 Modules
  8. 8. @alexsotob8 Components
  9. 9. @alexsotob9 Microservices
  10. 10. @alexsotob10 Microservices
  11. 11. @alexsotob11 Microservices
  12. 12. @alexsotob12 Network of Services
  13. 13. @alexsotob13 Microservices Own Their Data
  14. 14. @alexsotob14 Multiple Points of Entry
  15. 15. @alexsotob15 Microservices == Distributed Computing OS JVM Service A OS JVM Service B OS JVM Service C
  16. 16. @alexsotob16 It means no worries (…) It's our problem-free philosophy Hakuna Matata. — Simba “
  17. 17. @alexsotob17 ▪ The network is reliable ▪ Latency is zero ▪ Bandwidth is infinite ▪ The network is secure ▪ Topology does not change ▪ There is one administrator ▪ Transport cost is zero ▪ The network is homogeneous Fallacies of Distributed Computing
  18. 18. @alexsotob18 Failure of a Service
  19. 19. @alexsotob19 Cascading Failure
  20. 20. @alexsotob20 Done properly (Networking) is a heroic art. Done properly ! — Edna “
  21. 21. @alexsotob21 Microservices’ilities MyService Monitoring Tracing API Discovery Invocation Resilience Pipeline Authentication Logging Elasticity
  22. 22. @alexsotob22 Hmmm. Really? I’d say (water) is half full. — Dory “
  23. 23. @alexsotob23
  24. 24. @alexsotob24 Microservices’ilities + OpenShift MyService Monitoring Tracing API Discovery Invocation Resilience Pipeline Authentication Logging Elasticity
  25. 25. @alexsotob25 Istio — ‘Sail’ (Kubernetes — the ‘Helmsman’)
  26. 26. @alexsotob26 But wow! Am I so ready for this change. — Anna “
  27. 27. @alexsotob27 Microservices’ilities + OpenShift + Istio MyService Monitoring Tracing API Discovery Invocation Resilience Pipeline Authentication Logging Elasticity
  28. 28. @alexsotob28 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 Microservices Embedding Capabilities
  29. 29. @alexsotob29 Fairy tales can come true. You gotta make them happen, it all depends on you — Tiana “
  30. 30. @alexsotob30 Pod Container JVM Service A Sidecar Container Pod Container JVM Service C Sidecar Container After Istio Pod Container JVM Service B Sidecar Container Microservices Externalizing Capabilities The sidecar intercepts all network traffic
  31. 31. @alexsotob31
  32. 32. @alexsotob32
  33. 33. @alexsotob33
  34. 34. @alexsotob34
  35. 35. @alexsotob35 This is the circle of sadness. Your job is to make sure that all sadness stays inside of it. — Joy “
  36. 36. @alexsotob36
  37. 37. @alexsotob37
  38. 38. @alexsotob38
  39. 39. @alexsotob39 If I go there is just no telling how far I’ll go. — Moana “
  40. 40. @alexsotob40 It's time to see what I can do To test the limits and break through. — Elsa “
  41. 41. @alexsotob41 Put on your Sunday clothes there's lots of world out there. — Wall-E “ [] [] []
  42. 42. @alexsotob42 To infinity and beyond! — Buzz “
  43. 43. @alexsotob43 Feature Graduation
  44. 44. @alexsotob44
  45. 45. @alexsotob45 Service A Feature Graduation Service B v1 Service B v2 user-preference:”123*” Service B v3 user-preference:”12*” experimental beta production
  46. 46. @alexsotob46 Service A Feature Graduation Service B v2 Service B v3 user-preference:”12*” beta production Both experimental and beta levels
  47. 47. @alexsotob47 Secure Your Steps
  48. 48. @alexsotob48 Virtualizing test-cluster’s database in mirroring Service A Service B v1 Service B v2 Host:”serviceb-shadow” Prod DB Virtual DB read Throwaway write
  49. 49. @alexsotob49 Regression-free versions (tap compare)
  50. 50. @alexsotob50 Diferencia
  51. 51. @alexsotob51 Simple Comparison
  52. 52. @alexsotob52
  53. 53. @alexsotob53
  54. 54. @alexsotob54 New Service Graph
  55. 55. @alexsotob55 If you focus on what you left behind you will never be able to see what lies ahead. — Chef Auguste Gusteau “
  56. 56. @alexsotob56 To live will be an awfully big adventure. — Peter Pan “
  57. 57. @alexsotob57 until serverless
  58. 58. @alexsotob58 Hay un amigo en mí, cuando salgan a volar, hay un amigo en mí — Toy Story “ @alexsotob lordofthejars
  59. 59. @alexsotob59 About Images CC 3 Not Commercial Usage Not Commercial Usage CC 4