Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Empower Your Microservices with Istio Service Mesh - Sydney Alt.Net

Empower Your Microservices with Istio Service Mesh - Sydney Alt.Net

Hossam Barakat

February 26, 2019
Tweet

More Decks by Hossam Barakat

Other Decks in Technology

Transcript

  1. Empower Your
    Microservices with
    Istio Service Mesh
    Hossam Barakat
    Lead Consultant at Readify
    @hossambarakat_ | www.hossambarakat.net

    View Slide

  2. @hossambarakat_
    • Intro to Istio Service Mesh
    • Istio Architecture
    • Traffic Routing
    • Reliability
    • Observability
    Agenda

    View Slide

  3. @hossambarakat_
    Monolith Service Service Service Service

    View Slide

  4. @hossambarakat_
    Monolith
    Container Engine
    Container Container Container Container
    Orchestration Engine

    View Slide

  5. @hossambarakat_
    Distributed Services
    Same Host
    Service A Service B
    Host A
    Service A
    Host B
    Service B
    Network

    View Slide

  6. @hossambarakat_
    How hard can it be?

    View Slide

  7. @hossambarakat_
    • The network is reliable.
    • Latency is zero.
    • Bandwidth is infinite.
    • The network is secure.
    • Topology doesn't change.
    • There is one administrator.
    • Transport cost is zero.
    • The network is homogeneous.
    Fallacies of distributed computing

    View Slide

  8. @hossambarakat_
    Using Application Level Frameworks
    Host A
    Service A
    Host B
    Service B
    Network
    Service Discovery
    Retry Policies
    Service Discovery
    Retry Policies

    View Slide

  9. @hossambarakat_
    Let’s write this new service in Elixir!

    View Slide

  10. @hossambarakat_
    Host A
    Sidecar Proxy
    Sidecar Proxy
    Service A
    Host B
    Service B
    Service Discovery
    Retry Policies
    Sidecar Proxy
    Service Discovery
    Retry Policies
    Network

    View Slide

  11. @hossambarakat_
    Enter Service Mesh

    View Slide

  12. @hossambarakat_
    Service Mesh Data Plane

    View Slide

  13. @hossambarakat_
    Service Mesh Control Plane
    Control Plane

    View Slide

  14. @hossambarakat_
    Istio

    View Slide

  15. @hossambarakat_
    Istio Architecture
    Service A Service B

    View Slide

  16. @hossambarakat_
    Istio Architecture
    Service A
    Proxy
    Service B
    Pilot
    Proxy
    Mixer Citadel

    View Slide

  17. @hossambarakat_
    Istio Architecture
    Service A
    Proxy
    Service B
    Pilot
    Proxy
    Mixer Citadel
    Control Plane

    View Slide

  18. @hossambarakat_
    Kubernetes

    View Slide

  19. @hossambarakat_
    Pods
    Pod

    View Slide

  20. @hossambarakat_
    Sidecar
    Pod

    View Slide

  21. @hossambarakat_
    Service
    10.0.0.2
    Pod B
    10.0.0.3
    Pod C
    IP: 10.0.0.30
    DNS: myservice
    Service
    10.0.0.1
    Pod A

    View Slide

  22. @hossambarakat_
    Espresso Shop

    View Slide

  23. @hossambarakat_
    Espresso Shop

    View Slide

  24. @hossambarakat_
    Espresso Shop

    View Slide

  25. @hossambarakat_
    Espresso Shop Services
    Web
    Product Catalog
    Reviews

    View Slide

  26. @hossambarakat_
    Espresso Shop on Istio
    Web
    Product Catalog
    Reviews V1
    Proxy
    Proxy
    Proxy
    Reviews V2
    Proxy
    X

    View Slide

  27. @hossambarakat_

    View Slide

  28. @hossambarakat_
    Traffic Routing

    View Slide

  29. @hossambarakat_
    • Envoy Proxy
    • Pilot
    Traffic Routing

    View Slide

  30. @hossambarakat_
    • Envoy is an open source edge and service proxy,
    designed for cloud-native applications
    Envoy Proxy

    View Slide

  31. @hossambarakat_
    Pilot

    View Slide

  32. @hossambarakat_
    • Virtual Service
    • Destination Rule
    Request Routing Configuration

    View Slide

  33. @hossambarakat_
    Routing Configurations
    Web
    Virtual Service Destination Rule Reviews V1
    Reviews V2

    View Slide

  34. @hossambarakat_

    View Slide

  35. @hossambarakat_
    Canary Deployment
    Web
    Proxy
    Reviews V1
    Proxy
    Reviews V2
    Proxy

    View Slide

  36. @hossambarakat_

    View Slide

  37. @hossambarakat_
    Browser Based Routing
    Web
    Proxy
    Reviews V1
    Proxy
    Reviews V2
    Proxy

    View Slide

  38. @hossambarakat_

    View Slide

  39. @hossambarakat_
    Reliability

    View Slide

  40. @hossambarakat_
    • Timeout
    • Retry
    • Fault Injection
    • Circuit breakers
    Reliability

    View Slide

  41. @hossambarakat_
    Timeout
    Web
    Proxy
    Reviews V1
    Proxy

    View Slide

  42. @hossambarakat_

    View Slide

  43. @hossambarakat_
    Fault Injection
    Web
    Proxy
    Reviews V1
    Proxy

    View Slide

  44. @hossambarakat_

    View Slide

  45. @hossambarakat_
    Observability

    View Slide

  46. @hossambarakat_
    • Distributed Tracing
    • Metrics
    • Success rates
    • Request volumes
    • Request duration
    • Latency
    Observability

    View Slide

  47. @hossambarakat_
    Mixer

    View Slide

  48. @hossambarakat_
    Mixer Adapters
    https://istio.io/docs/reference/config/policy-and-telemetry/adapters/

    View Slide

  49. @hossambarakat_

    View Slide

  50. @hossambarakat_

    View Slide

  51. @hossambarakat_
    Summary
    https://twitter.com/deniseyu21/status/1032258052114841600

    View Slide

  52. @hossambarakat_
    • https://github.com/hossambarakat/EspressoShop
    • Learn Istio using Interactive Hands-on Scenarios
    (Katacoda)
    • https://istio.io/docs/
    Resources

    View Slide

  53. @hossambarakat_
    Questions?

    View Slide

  54. Thanks
    Hossam Barakat
    @hossambarakat_
    www.hossambarakat.net

    View Slide