Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Microservices and Integration: what's next with Istio service mesh

2.129 Aufrufe

Veröffentlicht am

Red Hat Canada day presentation about service mesh, Istio and integration

Veröffentlicht in: Software
  • Sex in your area is here: www.bit.ly/sexinarea
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • Dating for everyone is here: www.bit.ly/2AJerkH
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • Sex in your area for one night is there tinyurl.com/hotsexinarea Copy and paste link in your browser to visit a site)
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • Girls for sex are waiting for you https://bit.ly/2TQ8UAY
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • Meetings for sex in your area are there: https://bit.ly/2TQ8UAY
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier

Microservices and Integration: what's next with Istio service mesh

  1. 1. Microservices with integration, containers and APIs: what’s next? @christianposta
  2. 2. Christian Posta Chief Architect, cloud application development Twitter: @christianposta Blog: http://blog.christianposta.com Email: christian@redhat.com Slides: http://slideshare.net/ceposta • Author “Microservices for Java developers” and other soon to be announced books • Committer/contributor lots of open-source projects • Blogger, speaker
  3. 3. @christianposta
  4. 4. @christianposta Innovation is admitting we don’t have all the answers Mark Schwartz – Former CIO USCIS
  5. 5. @christianposta How do we figure out the right questions to ask?
  6. 6. @christianposta Scientific method anyone? • Make observations • Formulate hypothesis • Design an experiment • State the indicators you will evaluate • Conduct the experiment • Evaluate results • Accept or reject hypothesis • Make new hypothesis and continue…
  7. 7. @christianposta Traditional user story “requirements” • As A…. <role> • I Want… <goal/desire> • So That… <receive benefit> https://barryoreilly.com/2013/10/21/how-to-implement-hypothesis-driven-development/
  8. 8. @christianposta Asking questions instead of requirements https://barryoreilly.com/2013/10/21/how-to-implement-hypothesis-driven-development/
  9. 9. @christianposta https://www.infoq.com/articles/cloud-native-panel "Cloud native” describes applications, architectures, platforms/infrastructure, and processes, that together make it economical to work in small batches to learn and reduce uncertainty.
  10. 10. @christianposta We can now assert with confidence that high IT performance correlates with strong business performance, helping to boost productivity, profitability and market share. https://puppet.com/resources/whitepaper/2014-state-devops-report
  11. 11. @christianposta https://puppet.com/resources/whitepaper/2015-state-devops-report
  12. 12. @christianposta https://puppet.com/resources/whitepaper/state-of-devops-report
  13. 13. @christianposta With any new methodologies or shift in technology that promise great gains, you should always expect new challenges to arise.
  14. 14. @christianposta Come on… how hard can it be!?
  15. 15. @christianposta
  16. 16. @christianposta
  17. 17. @christianposta
  18. 18. @christianposta
  19. 19. As we move to services architectures, we push the complexity to the space between our services. @christianposta
  20. 20. New challenges in a cloudy, services world • Service discovery • Retries • Timeouts • Load balancing • Rate limiting • Thread bulk heading • Circuit breaking @christianposta
  21. 21. …continued • Routing between services (adaptive, zone-aware) • Deadlines • Back pressure • Outlier detection • Health checking • Traffic shaping • Request shadowing @christianposta
  22. 22. …continued • Edge/DMZ routing • Surgical / fine / per-request routing • A/B rollout • Internal releases / dark launches • Fault injection • Stats, metric, collection • Logging • Tracing
  23. 23. Oh yah... And.... Security
  24. 24. • Netflix Hystrix (circuit breaking / bulk heading) • Netflix Zuul (edge router) • Netflix Ribbon (client-side service discovery / load balance) • Netflix Eureka (service discovery registry) • Brave / Zipkin (tracing) • Netflix spectator / atlas (metrics) “Microservices” patterns
  25. 25. http://bit.ly/application-networking@christianposta
  26. 26. • Require specific language to bring in new services • A single language doesn’t fit for all use cases • How do you patch/upgrade/manage lifecycle? • Need strict control over application library choices Some drawbacks to this approach?
  27. 27. But I’m using Spring! • spring-cloud-netflix-hystrix • spring-cloud-netflix-zuul • spring-cloud-netflix-eureka-client • spring-cloud-netflix-ribbon • spring-cloud-netflix-atlas • spring-cloud-netflix-spectator • spring-cloud-netflix-hystrix-stream • ….. • ...... • @Enable....150differentThings
  28. 28. But I’m using Vert.x! • vertx-circuit-breaker • vertx-service-discovery • vertx-dropwizard-metrics • vertx-zipkin? • ….. • ...... @christianposta
  29. 29. Screw Java - I’m using NodeJS! JavaScript is for rookies, I use Go! But python is so pretty! I prefer unreadability… Perl for me! @christianposta
  30. 30. A “service mess” @christianposta Now we have …
  31. 31. Let’s abstract this functionality to a single binary and apply to all services. • Allow heterogeneous architectures • Remove application-specific implementations of this functionality • Consistently enforce these properties • Correctly enforce these properties • Opt-in as well as safety nets @christianposta
  32. 32. @christianposta
  33. 33. @christianposta
  34. 34. Meet Envoy Proxy http://envoyproxy.io
  35. 35. Envoy is… • service proxy • written in C++, highly parallel, non-blocking • L3/4 network filter • out of the box L7 filters • HTTP 2, including gRPC • baked in service discovery/health checking • advanced load balancing • stats, metrics, tracing • dynamic configuration through xDS
  36. 36. @christianposta
  37. 37. Envoy implements • zone aware, least request load balancing • circuit breaking • outlier detection • retries, retry policies • timeout (including budgets) • traffic shadowing • rate limiting • access logging, statistics collection • Many other features!
  38. 38. Service instance proxy AKA Sidecar
  39. 39. As a service-instance proxy
  40. 40. “2018 is the year of the service mesh” Clayton Coleman (@smarterclayton) Red Hat OpenShift Platform Architect @christianposta
  41. 41. A service mesh is decentralized application- networking infrastructure between your services that provides resiliency, security, observability, and routing control. A service mesh is comprised of a data plane and control plane. @christianposta Time for definitions:
  42. 42. All traffic between our applications flows through these proxies. The proxies make up the “data plane” @christianposta
  43. 43. Meet Istio.io http://istio.io A control plane for service proxies
  44. 44. What higher-order clusters semantics does Istio enable? • Request-level control • Graduated deployment and release • Service observability • Cluster reliability • Chaos testing • Policy enforcement
  45. 45. @christianposta Resilience with timeouts, retries, budgets, circuit breakers, service discovery, etc
  46. 46. @christianposta Zone aware, sophisticated client-side load balancing
  47. 47. @christianposta Fine-grained traffic control and routing
  48. 48. @christianposta http://bit.ly/application-networking Traffic shadowing
  49. 49. @christianposta Secure transport with mTLS
  50. 50. @christianposta Metrics, logs, distributed tracing out of the box http://bit.ly/application-networking
  51. 51. http://bit.ly/like-a-unicorn
  52. 52. Demo! @christianposta http://bit.ly/istio-tutorial
  53. 53. Thanks! BTW: Hand drawn diagrams made with Paper by FiftyThree.com  Twitter: @christianposta Blog: http://blog.christianposta.com Email: christian@redhat.com Slides: http://slideshare.net/cepostaFollow up links: • http://envoyproxy.io • http://istio.io • http://blog.christianposta.com/istio-workshop/slides/ • http://launch.openshift.io • http://blog.openshift.com • http://developers.redhat.com/blog • https://www.redhat.com/en/open-innovation-labs

×