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

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!

Alex Khaerov

April 25, 2019
Tweet

More Decks by Alex Khaerov

Other Decks in Programming

Transcript

  1. @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. @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. @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. @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. @hayorov Monolithic app + Monolithic app + Virtualization Microservices +

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

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

    to flexibly and easily automate application network functions.
  8. @hayorov @hayorov Istio service mesh technology abstraction level to the

    network intercepts all traffic executes a set of operations
  9. @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
  10. @hayorov @hayorov 1.1 Performance 0.2 (Oct, 2017) the first touch

    1.0 (Oct, 2018) major release 1.1.x Milestones
  11. @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.
  12. @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.
  13. @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.
  14. @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).
  15. @hayorov @hayorov Despite all of this… Istio is a great

    tool and performance is getting better.