Istio Fundamentals
Istio is a service mesh: infrastructure that sits between the microservices of a cloud application and handles the traffic routing, encryption, and monitoring those services would otherwise each have to build in for themselves.
itCloud native tools and technologies | OpenSkills.info
Course pathWalk it in order
Look it upDip in anytime
Go furtherLeaves this page
Intro
Istio Fundamentals
Split an application into a fleet of microservices and you inherit a second application nobody asked to build: the network between them. Every service now needs retries, timeouts, encryption, identity, access control, and telemetry for its calls to every other service. Traditionally that logic gets written into each service, in whatever language it happens to use, and re-verified every time it changes. Istio moves that logic out of application code and into the infrastructure layer, so services get traffic management, security, and observability without touching their own source.
The mental model: every service gets a proxy that handles its network traffic, and a central control plane programs every proxy from one set of rules. The proxies are the data plane; the brain that configures them is the control plane. You describe intent — split traffic 90/10 between two versions, require encrypted connections, allow only these callers — and Istio compiles that intent into proxy configuration and pushes it out.
Why a service mesh, and why now
Service meshes exist because the "put it in a shared library" answer to cross-cutting network concerns breaks down at scale. A shared library still means every team recompiles and redeploys when the networking logic changes, and it still means every language runtime needs its own implementation. Moving that logic into a sidecar proxy next to each service makes it language-agnostic and centrally upgradable: change a routing rule or a security policy once, and it applies mesh-wide without touching application code or triggering a redeploy.
Continue the course
This section is part of the paid course.
See pricing to subscribe, or log in if you already have access.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://istio.io/latest/about/service-mesh/
Supports
- Definition of a service mesh as an infrastructure layer providing zero-trust security, observability, and traffic management without code changes
- Problems solved — security gaps, visibility limits, traffic-management complexity, resilience across environments
- Istio's founding by Google and IBM with the Envoy team from Lyft; CNCF graduated status
- Envoy as data-plane technology; sidecar and ambient deployment modes
- Multi-environment support — Kubernetes, VMs, multi-cloud, hybrid, on-premises in one mesh
- https://istio.io/latest/docs/concepts/what-is-istio/
Supports
- Istio's feature set — security, observability, traffic management
- Use cases — building cloud-native apps, migrating existing apps, securing current infrastructure
- Design goals — multi-environment, Envoy-powered, WebAssembly extensibility, ambient and sidecar modes
- https://istio.io/latest/docs/ops/deployment/architecture/
Supports
- Data plane / control plane split
- Envoy sidecar responsibilities — service discovery, load balancing, TLS termination, HTTP/2/gRPC, circuit breaking, health checks, fault injection, metrics
- Istiod responsibilities — service discovery, config conversion, certificate authority, security policy enforcement
- Sidecar model avoiding application rearchitecture
- https://istio.io/latest/docs/concepts/traffic-management/
Supports
- VirtualService routing rules, percentage-based traffic splits for canary/A-B testing
- DestinationRule subsets and traffic policies applied after VirtualService routing
- Gateway as standalone edge Envoy handling L4-6, distinct from Kubernetes Ingress
- ServiceEntry adding external services to the mesh registry
- Sidecar resource scoping proxy configuration
- https://istio.io/latest/docs/concepts/security/
Supports
- Zero-trust and defense-in-depth security goals
- Certificate issuance flow — agent CSR, istiod CA signing, Envoy SDS retrieval, automatic rotation
- mTLS modes — STRICT, PERMISSIVE, DISABLE
- PeerAuthentication, RequestAuthentication, AuthorizationPolicy resource roles
- Deny-by-default once a policy selects a workload; deny policies evaluated before allow policies
- Secure naming and principal terminology
- https://istio.io/latest/docs/concepts/observability/
Supports
- Automatic telemetry generation without app instrumentation
- Three levels of metrics — proxy, service, control plane
- Distributed tracing purpose and backends — Jaeger, Zipkin, OpenTelemetry, Apache SkyWalking
- Access logs for per-workload audit visibility
- Prometheus, Grafana, and Kiali integration
- https://istio.io/latest/docs/ambient/overview/
Supports
- Ambient mode rationale versus sidecar resource overhead
- ztunnel — per-node, Rust, L4 mTLS/identity/authorization via HBONE
- Waypoint proxy — optional, independently scaled Envoy providing L7 capabilities
- Coexistence of sidecar and ambient workloads in one mesh
- https://istio.io/latest/docs/setup/getting-started/
Supports
- istioctl install workflow and configuration profiles
- Sidecar injection via namespace labeling
- Verifying injection via 2/2 pod readiness
- Helm as an alternative install method
- https://istio.io/latest/about/faq/
Supports
- Istio's origin — started by teams from Google and IBM in partnership with the Envoy team from Lyft
- Rationale for moving communication logic out of application code
- https://www.cncf.io/projects/istio/
Supports
- CNCF Incubating status dated September 30, 2022
- CNCF Graduated status dated July 12, 2023
- https://www.envoyproxy.io/
Supports
- Envoy description as an open-source edge and service proxy for cloud-native applications
- https://kiali.io/
Supports
- Kiali description as a console for configuring, visualizing, validating, and troubleshooting an Istio mesh
- https://www.jaegertracing.io/
Supports
- Jaeger description as an open-source distributed tracing platform mapping request flow across services
- https://cert-manager.io/
Supports
- cert-manager description as an X.509 certificate controller for Kubernetes automating issuance and renewal
- Relevance to securing pod-to-pod mTLS with private PKI issuers
- https://spiffe.io/
Supports
- SPIFFE/SPIRE description as a uniform workload identity control plane across heterogeneous infrastructure
- Integration with service meshes for automated identity-based authentication
- https://linkerd.io/
Supports
- Linkerd description and positioning as a lighter-weight alternative service mesh for Kubernetes
- https://kuma.io/
Supports
- Kuma description as an Envoy-based service mesh control plane supporting Kubernetes and VMs with multi-mesh support
- https://developer.hashicorp.com/consul
Supports
- Consul description as a service networking solution with service discovery and service mesh across on-prem, hybrid, and multi-cloud runtimes
