Adopting Ambient Istio


What is a Service Mesh

Abstracting network complexity from the Application layer

Core pillars: Security Observability Traffic management

Istio is the industry standard, but know to be heavy to deploy

Sidecar Model

Traditionally you run a sidecar container.

Problems:

  • Cost (each pod gets a sidecar)
  • Intercepts all inbound and outbound traffic
  • New versions are deployed on pod restart -> leads to outdated versions

Shift to Ambient

In Ambient mode, the data plane is sidecarless.

Core concept: Decouple Layer 4 from Layer 7.

Workloads talk to each other via ztunnels

Gateway API

If you’re using Ambient mode, Istio suggests using Gateway API.

Aside from that, the speaker remarks that the Istio CRDs are uh… shitty

Is this a problem? Not really, but Gateway API is early stages.

Evaluating Ambient mode

The Good

  • Cost is down (reduction of 30-60%)
  • Zero-friction operations: Istio upgrades no longer require restarting business apps for new Sidecar versions.
  • Predictable infrastructure footprint: ztunnel scales with nodes, not with pods
  • Simplified Metrics: sidecar is also a monitorable component

The Bad

  • Layer 7 features require a Waypoint, which needs to be configured using Gateway API, some vendors support Layer 7 over ztunnel, but not OSS
  • Authz complexity skyrockets when mixing Layer 4 and Layer 7 (Split Brain)
  • All or nothing
    • ztunnel transparently intercepts ALL traffic on the nodes
    • You lose the ability to easily filter out or exclude certain ports at the pod level
    • It’s a blackbox for traditional pod debugging

The Ugly

  • ztunnel metrics look different from traditional Envoy sidecar metrics
  • Traffic flow has changed to: App -> ztunnel -> HBONE -> ztunnel -> App
  • Your monitoring dashboards need to be adapted to this
  • Gateway API is needed, which is not very mature yet
  • Gateway API usage means using experimental features in other tooling
    • external-dns
    • cert-manager
    • argo-rollouts

Conclusion

Is Ambient mode worth it? Yes

But, there’s trade-offs.

Pro tip: use Layer 4 as much as possible.