Airbnb's experience of building a multi-cluster/multi-environment service mesh on top of Istio
- Airbnb migrated from monolith architecture to SOA and majority of workloads from EC2 to Kubernetes
- Legacy in-house service mesh no longer met their needs
- Adopted Istio as the foundation for their next generation service mesh
- Established confidence in Istio and started full speed migration
- Multi-cluster requirement led to adoption of external control plane and flat network model
- Multi-environment support includes multi-tier mesh, mesh expansion, and external services
Airbnb faced scalability issues in their Kubernetes usage and made the decision to horizontally scale out by distributing IPs. They also leveraged a new VPC feature called prefix delegation to reduce their mapping usage. They adopted the external control plane and flat network model for Istio deployments, which provided better security, isolation from data plane workloads, and easier operation of Istio upgrades. They also followed a multi-tier concept to minimize the blast radius of changes and ran automated functional tests on their sandbox tier to verify mesh features they depend on in production.