Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

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

2 075 vues

Publié le

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

Publié dans : Logiciels
  • Visit this site: tinyurl.com/sexinarea and find sex in your area for one night)) You can find me on this site too)
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici
  • Sex in your area for one night is there tinyurl.com/hotsexinarea Copy and paste link in your browser to visit a site)
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici
  • Girls for sex are waiting for you https://bit.ly/2TQ8UAY
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici
  • Meetings for sex in your area are there: https://bit.ly/2TQ8UAY
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici
  • Best site for flirting and sex in your area you can find there: https://bit.ly/2SlcOnO
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici

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

×