Skip to main content
🎤 Speaking at KubeCon EU 2026 Lessons Learned Orchestrating Multi-Tenant GPUs on OpenShift AI View Session
🎤 Speaking at Red Hat Summit 2026 GPUs take flight: Safety-first multi-tenant Platform Engineering with NVIDIA and OpenShift AI Learn More
Service mesh comparison: Istio vs Cilium
Platform Engineering

Service Mesh Evolution: Istio Ambient Mode vs Cilium...

Istio's sidecar-free ambient mode vs Cilium's eBPF-based service mesh. Architecture comparison, performance benchmarks, and migration strategies.

LB
Luca Berton
· 2 min read

The service mesh landscape has shifted dramatically. Istio’s ambient mode removes sidecars. Cilium’s mesh runs in the kernel via eBPF. The sidecar era is ending, and the question is which post-sidecar approach fits your platform.

The Sidecar Problem

Sidecar proxies (Envoy in Istio, Linkerd-proxy) add 50-100MB memory per pod and 1-3ms latency per hop. At scale, this means gigabytes of memory consumed by proxies and measurable latency increase across your service graph.

For AI inference workloads running on expensive GPU nodes, wasting memory on sidecars is particularly costly.

Istio Ambient Mode

Istio ambient replaces per-pod sidecars with per-node ztunnel (zero-trust tunnel) agents and optional per-namespace waypoint proxies:

# Install Istio with ambient profile
istioctl install --set profile=ambient

# Enable ambient mode for a namespace
kubectl label namespace production istio.io/dataplane-mode=ambient

Benefits:

  • No sidecar injection, no pod restarts
  • L4 mTLS handled by ztunnel (DaemonSet)
  • L7 policies only where needed (waypoint proxies)
  • Lower memory overhead (one ztunnel per node vs one sidecar per pod)

Cilium Service Mesh

Cilium takes a different approach entirely: eBPF programs in the Linux kernel handle networking, security, and observability without any proxy:

# Cilium L7 network policy
apiVersion: cilium.io/v2
kind: CiliumNetworkPolicy
metadata:
  name: api-l7-policy
spec:
  endpointSelector:
    matchLabels:
      app: api-server
  ingress:
    - fromEndpoints:
        - matchLabels:
            app: frontend
      toPorts:
        - ports:
            - port: "8080"
          rules:
            http:
              - method: "GET"
                path: "/api/v1/.*"

eBPF runs in kernel space, eliminating user-space proxy overhead. Latency impact is sub-millisecond.

Comparison

FeatureIstio AmbientCilium Mesh
Architectureztunnel + waypointeBPF in kernel
Memory overheadLow (per-node)Minimal
L7 featuresFull EnvoyGrowing
mTLSBuilt-in (SPIFFE)Built-in
ObservabilityKiali, PrometheusHubble
Learning curveModerateSteep (eBPF)

When to Use Each

Choose Istio Ambient when you need advanced L7 traffic management (canary deployments, fault injection, header-based routing) and your team already knows Istio.

Choose Cilium when performance is critical, you want unified networking + security + observability, and you are comfortable with the eBPF ecosystem. Cilium integrates naturally with Kubernetes RBAC and network policies.

Choose neither when your service count is under 20 and basic NetworkPolicies cover your security requirements. Not every platform needs a service mesh.

Zero Trust with Service Mesh

Both options enable zero-trust networking by default: mTLS between all services, identity-based policies, and encrypted east-west traffic. This is increasingly a compliance requirement for SOC 2 and CRA.

The sidecar is dead. Long live the mesh.

Luca Berton Ansible Pilot Ansible by Example Open Empower K8s Recipes Terraform Pilot CopyPasteLearn ProteinLens TechMeOut