Istio is a service mesh for Kubernetes. It moves the cross-cutting concerns of service-to-service communication — retries, timeouts, load balancing, mutual TLS, authorization, and telemetry — out of application code and into the infrastructure layer, where they are configured declaratively and applied uniformly regardless of what language each service is written in.
The architecture has two planes. The control plane, istiod, watches Kubernetes and Istio configuration, converts it into Envoy xDS configuration, and issues the SPIFFE-format workload identities that mutual TLS depends on. The data plane is Envoy: historically a sidecar proxy injected into every pod, and in ambient mode a per-node ztunnel for identity and mTLS with optional per-namespace waypoint proxies for layer seven policy. Every request between meshed workloads passes through a proxy, which is what makes uniform policy and telemetry possible without touching application code.
Configuration is a small set of custom resources with well-defined roles. Gateway and VirtualService control how traffic enters and how it is routed and split; DestinationRule defines subsets, load balancing, connection pools and outlier detection; ServiceEntry brings external dependencies into the mesh; PeerAuthentication sets mTLS mode; RequestAuthentication validates JWTs; and AuthorizationPolicy decides who may call what. Istio increasingly supports the Kubernetes Gateway API as the standard replacement for its own ingress objects, and the Telemetry API governs metrics, tracing and access logs consumed through Prometheus, Grafana, Jaeger and Kiali.
Why this skill matters now
Microservice estates reach a point where the same problems recur in every service: a retry storm that amplifies an outage, an unencrypted internal hop that fails an audit, a latency regression nobody can attribute, and authorization logic reimplemented differently in six languages. Solving those in application libraries means every team must upgrade in step, which never happens. Istio moves them into infrastructure, which is why it keeps reappearing on platform engineering roadmaps despite its reputation for complexity.
Regulation has become the strongest driver. Zero-trust mandates and internal audit requirements increasingly ask for encryption in transit between every workload and identity-based authorization rather than network-based, and mutual TLS with SPIFFE identities issued per workload is the most practical way to satisfy that on Kubernetes without changing applications. Progressive delivery is the second driver: percentage-based traffic shifting, mirroring and header-based routing are mesh features that make canary releases a configuration change rather than a deployment pipeline rewrite.
Istio has also changed materially, and much of the available material has not kept up. Ambient mode removes sidecars entirely for many workloads, the Gateway API is replacing Istio's own ingress resources, and revision-based canary upgrades are the supported path rather than in-place ones. Teams need someone who can teach the version they are running and the migration path to the one they are not.