Achieving Fault Tolerance in Istio with Observability-Driven Load Management
summary
Aperture is an open-source flow-control layer that integrates with Istio via Envoy’s External Authorization API and runs as Aperture Agent as sidecar or DaemonSet, using OpenTelemetry → Prometheus and etcd for control. It classifies requests with Rego, enforces distributed token buckets (peer-to-peer, leader-sharded) for quotas, and schedules with weighted fair queuing to prioritize subscribers. Demo with K6 driving a PostgreSQL-backed service uses a 40% connection setpoint, 20% decrease on overload and 5% increase every 10s, preventing errors and yielding roughly 5× higher acceptance for subscribers. Response codes default to 503/403 when rejected.
AI-written summary · about
chapters (18)
- 0:00Observability-driven load management
- 0:22Istio’s capabilities and limits
- 1:46Flow control in production
- 3:50Flow control challenges
- 4:53Aperture for flow control
- 6:15Aperture enhances Istio
- 8:41Istio plus Aperture integration
- 10:48Envoy and Aperture interaction
- 12:12Aperture with EnvoyFilter
- 13:13Aperture’s control loop
- 14:35Token buckets for rate limiting
- 16:03Fair queuing scheduler
- 17:31Live demo setup
- 19:38PostgreSQL overload policy
- 21:01Results and metrics
- 22:04Detecting overload
- 23:38Q&A
- 24:15Closing remarks
related talks
40mMastering Chaos: Achieving Fault Tolerance with Observability-Driven...
40mIstio, your K8S cluster best friend
33mObserving and Troubleshooting your Microservices with Istio
36mIstio to the rescue
48mIstio An open platform to connect, manage, and secure microservices
39mRunning Resilient Workloads with Istio
50mDeveloping Microservices with Istio
36mIstio: Real world scenarios
