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:

The following is the architecture of Istio:

Istio has two distinct planes:

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.