Why I’m (still) staying with sidecars

Ambient gets a lot right. For hard enterprise requirements, I’m staying with sidecars for now. The reason for that doesn’t show up in any benchmark.

Date
Topic
Ambient
Sources
8
Reading time
2 min
Version
Translation

Read the German original

This is a personal assessment from the field, not a maturity rating for either side.

Graphic: OMNI52 Open the figure at full size
Figure as text

Two columns with three arguments each: on the left, sidecar (operational experience, because runbooks and debugging reflexes are shaped by sidecars; isolation, because a proxy problem hits exactly one pod, whereas with a node layer it hits the whole node; functionality, because the full L7 feature set sits directly at the workload, without a waypoint as an intermediate stage), on the right, Ambient (proxy lifecycle lies with the platform, mesh upgrade without app restart; shared node layer without per-pod proxy overhead; L7 only where it is needed). Below, two boxes: the 'still' has an expiry date, it just doesn't carry a number yet; for large fleets with little need for L7, sidecars are probably the more expensive architecture. Punchline: Architecture changes with a merge request. Operational experience doesn't.

First, operational experience. Sidecars are the mode that has run in production the longest and most widely. Teams’ runbooks and debugging reflexes are shaped by sidecars. So a switch swaps out more than the mesh layer: it restructures the organization that operates it. Report #10 applies here too.

Second, isolation. In the sidecar model, a proxy problem hits a single pod. With a node layer, the blast radius is the node and everything that runs on it. That isn’t a flaw in Ambient: shared components have shared failure modes. But if you have hard isolation requirements, for instance from a compliance perspective, you have to reckon with this physics.

Third, functionality. In the sidecar model, the full L7 feature set sits directly at the workload, without a waypoint as an intermediate stage. At the waypoint, the feature status table lists the Gateway API as Stable, VirtualService is Alpha there, and EnvoyFilter isn’t supported. Istio’s migration guide therefore calls the move to HTTPRoute a requirement for stable L7. For a grown VirtualService estate, that means two migrations, and the order is the real decision: Gateway API first, still in sidecar mode, then Ambient.

For large fleets where most workloads mainly need mTLS and identity, the operations promise from report #24 is real nonetheless. If you run hundreds of namespaces with little need for L7, you’re probably operating the more expensive architecture with sidecars.

The “still” in the title is meant seriously. This answer has an expiry date, it just doesn’t carry a number yet. I re-check it regularly, and at some point it will flip.

Architecture changes with a merge request. Operational experience doesn’t.

Where do you stand today: sidecar, Ambient or both side by side? And what tipped the scales?

About the author

Portrait of Uli Renz

Uli Renz has been building and hardening service meshes in highly regulated enterprise environments since Istio 1.4. The patterns in these reports come from that work.

If your mesh already runs in production, the Posture Check is the place to start: 13 review areas, each finding rated by severity and backed by evidence from the config. In 90 minutes we go through the list together.

Request a strategy call

The request form on istio-consulting.de is in German.