Welcome to the service mesh era!

Welcome to the service mesh era!

Adopting a microservices architecture brings a host of benefits, including increased autonomy, flexibility, and modularity. But the process of decoupling a single-tier monolithic application into smaller services introduces new obstacles: what's running, how to roll out updates, how to secure and monitor all such fleet? To address these challenges, you can use a service mesh. With this talk, we are going to refresh basic knowledge and pillars of the "service mesh" and share our experience and concerns about the most popular one - Istio. Welcome to the service mesh era!

320f3b558c773592bba16c976d1b28d1?s=128

Alex Khaerov

April 25, 2019
Tweet

Transcript

  1. 5.

    @hayorov Alex Khaerov company who I am @hayorov doing software

    development for 9+ years active in the Python and K8s developer communities organises Moscow Python Conf, Helm Summit 2019 a huge fan of laptop stickers
  2. 6.

    @hayorov Chainstack Multi-cloud and multi-blockchain Platform as a Service Alex

    Khaerov company who I am @hayorov doing software development for 9+ years active in the Python and K8s developer communities organises Moscow Python Conf, Helm Summit 2019 a huge fan of laptop stickers
  3. 7.

    @hayorov Chainstack Multi-cloud and multi-blockchain Platform as a Service Alex

    Khaerov company who I am @hayorov doing software development for 9+ years active in the Python and K8s developer communities organises Moscow Python Conf, Helm Summit 2019 a huge fan of laptop stickers We are based in Singapore "
  4. 15.

    @hayorov September 11 - 12, 2019 
 Pakhuis de Zwijger


    Amsterdam, The Netherlands https://events.linuxfoundation.org/events/helm-summit-2019/ CFP is open – Apply now! | #helmsummit
  5. 21.

    @hayorov Monolithic app + Monolithic app + Virtualization Microservices +

    Containers In fact, this is how your Minikube cluster looks like, haha! “Bear Metal”
  6. 23.

    ->

  7. 30.

    @hayorov @hayorov service mesh provides a transparent and language-independent way

    to flexibly and easily automate application network functions.
  8. 31.

    @hayorov @hayorov Istio service mesh technology abstraction level to the

    network intercepts all traffic executes a set of operations
  9. 33.
  10. 36.
  11. 37.
  12. 38.
  13. 39.
  14. 40.
  15. 41.
  16. 42.
  17. 43.
  18. 44.
  19. 45.
  20. 46.
  21. 47.
  22. 48.
  23. 49.
  24. 50.
  25. 51.
  26. 52.

    @hayorov @hayorov • Telemetry. • Single common load balancer for

    all the services (HTTP, path based). • Traffic shifting (v1/v2) with simple YAML configuration. • Circuit breaking, traffic mirroring, retries. What Chainstack have been waiting from Istio
  27. 53.

    @hayorov @hayorov 1.1 Performance 0.2 (Oct, 2017) the first touch

    1.0 (Oct, 2018) major release 1.1.x Milestones
  28. 54.

    @hayorov @hayorov Fact 1: Simple installation Official helm charts Install

    with Helm via helm template or with Helm and Tiller using helm install Istio on GKE Extra checkbox in gconsole. In beta status.
  29. 55.

    @hayorov @hayorov Fact 2: We cannot easily get network interaction

    data on network traffic Istio comes with a precompiled and preconfigured envoy proxy, supporting only the zipkin protocol. Only bytes metrics, no RPS or request latencies. Zipkin protocol is much verbose than Jaeger == less effective.
  30. 56.

    @hayorov @hayorov By default, Istio comes with plain TCP configured

    for all ports, which means that no traces are sent. Fact 3: No magic, need to configure Solution: Name all the ports of the kubernetes service entities. Composite names can be used, like http-magic (proto-extra format). Dirty workaround: Patch the Pilot component.
  31. 57.

    @hayorov  Fact 4: High compute resource consumption  •150 pods; •50

    services; •25 virtualservices; •30 destination rules. “Pilote” CPU consumption •Envoy degrades at big scale (>5k rps); •Side-car consumes ~600Mb RAM (each instance).
  32. 58.

    @hayorov @hayorov Despite all of this… Istio is a great

    tool and performance is getting better.