What is Istio?

Istio (https://istio.io/docs/concepts/what-is-istio/) is a service mesh for distributed application architectures, especially the ones with Kubernetes. Istio integrates well with Kubernetes to provide a seamless experience to the end user.

Istio provides the following functionality in a microservice application architecture:

  • Service discovery: This is similar to Netflix Eureka or Consul
  • Automatic load balancing: This is similar to Netflix Zuul
  • Routing, circuit breaking, retries, failovers, fault injection: These are similar to Netflix Ribbon, Hytrix, and so on
  • Policy enforcement for access control, rate limiting, A/B testing, traffic splits, and quotas: Some features are similar to those in Zuul
  • Metrics, logs, and traces: These are similar to the JHipster Console
  • Secure service-to-service communication

The following is the architecture of Istio:

Istio has two distinct planes:

  • Data plane: It is made of Envoy (https://www.envoyproxy.io/) proxies deployed as sidecars to the application containers. They control all the incoming and outgoing traffic to the container and help with secure interservice communication.
  • Control plane: It is made up of Pilot, Mixer, Citadel, and Galley. Pilot manages and configures the proxies to route traffic. Mixer enforces policies and collects telemetry. Citadel manages security, while Galley manages configurations.

For monitoring and observability, the default Istio Helm charts can configure an instance of Grafana (https://grafana.com/), Prometheus (https://prometheus.io/), Jaeger (https://www.jaegertracing.io/), and Kiali (https://www.kiali.io/). You can use these or use your existing monitoring stack as well if you wish to do so.

Helm (https://helm.sh/) is a package manager for Kubernetes. Kubernetes templates are bundled as Helm charts and can be distributed using the Helm repository. This helps with creating reusable Kubernetes manifests.

This is just an overview of Istio; head over to the Istio documentation at https://istio.io to learn more about it.

Let's see how we can rebuild the same microservice stack to use Istio.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.16.54.63