company · explainer · draft
Airbnb (SOA discovery, Viaduct, CDC)
Airbnb’s public systems story is thick on SOA service discovery (SmartStack), a GraphQL data-oriented mesh (Viaduct), and CDC (SpinalTap) — and thin on company-operated network topology. AWS case studies cover cloud adoption, not a first-party WAN or PoP map.
In one sentence. Teaching published SOA/CDC patterns without inventing an Airbnb global network diagram or freezing job-posting language as topology fact.
Why it exists
SmartStack (2013) made out-of-band service discovery practical for SOA: Nerve registers healthy local services in ZooKeeper; Synapse configures local HAProxy; apps talk to localhost. Viaduct (2020) published a GraphQL central schema as a data-oriented service mesh. SpinalTap (2019) captures mutations toward Kafka. Cross-link: `/architectures/apis-edge/` for gateway/discovery teaching.
Visual walkthrough
Nerve registers healthy local service instances in ZooKeeper. Unhealthy instances should disappear from discovery.
Control vs data plane
Control plane
SmartStack control is ZooKeeper watches + Synapse rewriting HAProxy config. Viaduct’s control themes are schema collaboration, soft dependencies, and field-level consumption observability. Whether SmartStack remains production discovery today is a known unknown.
Data plane
Apps call localhost HAProxy (retries, timeouts, LB via HAProxy). SpinalTap Source/Destination/Pipe moves CDC events (MySQL, DynamoDB, in-house store) as Thrift to Kafka with Helix coordination — open-source components on GitHub.
Request / packet path
North–south
No Airbnb primary discloses PoP maps, ASNs, or company-operated CDN/WAN comparable to Cloudflare/Netflix Open Connect. AWS case studies describe business use of AWS — not a first-party edge architecture. Treat network north–south as known unknowns.
East–west
East–west as published is SOA discovery + GraphQL mesh + CDC pipelines — not spine-leaf fabric disclosure.
Scaling & math
Do not invent QPS, region counts, or mesh hop budgets. SmartStack/Viaduct/SpinalTap posts are qualitative architecture narratives.
When it breaks
- Clients reach instances that are no longer healthy.
Cause. Nerve registration / ZooKeeper health lag in SmartStack-class discovery.
Mitigation. Treat discovery freshness as a hard dependency; apps still benefit from HAProxy retries/timeouts as published.
- Local HAProxy config diverges from ZooKeeper truth.
Cause. Synapse watch/config apply failure.
Mitigation. SmartStack’s point: Synapse owns HAProxy config from ZooKeeper — debug the watch path.
- Downstream consumers see stale mutations.
Cause. CDC pipeline lag in SpinalTap Source/Destination/Pipe toward Kafka.
Mitigation. Monitor CDC lag; do not invent in-house store internals beyond the post.
Misconceptions
- “AWS Airbnb case studies disclose Airbnb’s global network topology.” — They describe cloud adoption; PoPs/ASNs/WAN remain unpublished.
- “We can draw Airbnb’s current service mesh from SmartStack alone.” — SmartStack is a 2013 discovery pattern; present replacement status is unknown.
Reference expression
Primary: SmartStack 2013; Viaduct 2020; SpinalTap 2019 + GitHub; AWS case study/innovator for cloud adoption only. review: draft. Network wall stays in knownUnknowns.
Standards & sources
- airbnb-smartstack-2013 · Nerve + Synapse + HAProxy discoveryPrimary source, retrieved 2026-09-20. SmartStack: Service Discovery in the CloudSmartStack: Service Discovery in the Cloud — Nerve + Synapse + HAProxy discovery
- airbnb-viaduct-2020 · Viaduct GraphQL data-oriented meshPrimary source, retrieved 2026-09-20. Taming Service Oriented Architecture Using a Data-Oriented Service MeshTaming Service Oriented Architecture Using a Data-Oriented Service Mesh — Viaduct GraphQL data-oriented mesh
- airbnb-spinaltap-2019 · SpinalTap CDC architecturePrimary source, retrieved 2026-09-20. Capturing Data Evolution in a Service Oriented ArchitectureCapturing Data Evolution in a Service Oriented Architecture — SpinalTap CDC architecture
- airbnb-spinaltap-github · SpinalTap open-source componentsPrimary source, retrieved 2026-09-20. airbnb/SpinalTapairbnb/SpinalTap — SpinalTap open-source components
- airbnb-aws-case-study · AWS adoption narrative (not WAN)Primary source, retrieved 2026-09-20. Airbnb Case StudyAirbnb Case Study — AWS adoption narrative (not WAN)
Known unknowns
- Entire company-operated L3/L4 global network design: PoPs, ASNs, peering policy, CDN vendor vs self-operated edge — not publicly documented.
- Whether SmartStack remains production discovery vs later service-mesh proxies.
- Details of the “in-house storage solution” referenced by SpinalTap.
- Global region topology, compute orchestration, and SLOs beyond the cited posts.
- Any Cloud WAN migration details lacking a citable Airbnb/AWS primary transcript.
Check yourself
In SmartStack, Synapse’s published role is to…
- Serve video bytes from OCAs
- Watch ZooKeeper and configure local HAProxy
- Announce AS13335 anycast
- Run Cascara TE
Answer: Watch ZooKeeper and configure local HAProxy. SmartStack 2013: Synapse configures HAProxy from ZooKeeper.
Viaduct as published is primarily…
- A BGP peering policy
- A GraphQL central schema / data-oriented service mesh
- An FCC Gen2 authorization
- Azure Front Door VIP rings
Answer: A GraphQL central schema / data-oriented service mesh. Viaduct 2020: GraphQL data-oriented mesh.
SpinalTap primarily publishes…
- PoP rack counts
- CDC mutation events toward Kafka (Thrift) from named stores
- Starlink laser-mesh TE
- Maglev consistent hashing
Answer: CDC mutation events toward Kafka (Thrift) from named stores. SpinalTap 2019: CDC Source/Destination/Pipe to Kafka.
Airbnb company-operated L3/L4 global network design is…
- Fully documented like Cloudflare Unimog
- A known unknowns wall — not publicly disclosed in primaries reviewed
- Identical to Open Connect AS2906
- Proven by AWS innovator job-scope language alone
Answer: A known unknowns wall — not publicly disclosed in primaries reviewed. Phase 7 ship rule: network = known unknowns.