Skip to main content
Software Engineering Daily

Airbnb’s Open-Source GraphQL Framework with Adam Miskiewicz

55 min episode · 2 min read
·

Episode

55 min

Read time

2 min

Topics

Software Development

AI-Generated Summary

Key Takeaways

  • Schema Stitching Evolution: Airbnb initially converted Thrift APIs to GraphQL automatically, creating service-oriented GraphQL with top-level fields per service rather than an entity graph. This approach enabled rapid client adoption across iOS, Android, and web without requiring backend engineers to learn GraphQL, protecting them during the microservice migration while establishing the typed API foundation clients demanded.
  • Hosted Business Logic Pattern: Viaduct runs counter to GraphQL best practices by encouraging teams to host business logic directly in the platform rather than separate microservices. This decision emerged from microservice fatigue at Airbnb, where developers struggled with slow iteration cycles. The platform organizes code into tenant modules with schema and implementation opinions, resembling small services hosted in one scalable platform.
  • Async Memoization Performance: Viaduct implements automatic async memoization to eliminate duplicate resolver execution within a single request. When multiple fields depend on the same data like firstName or lastName, the resolver executes once and caches results. This optimization proves critical for queries spanning 100,000 to 300,000 fields that return megabytes of data, addressing performance at extreme GraphQL scale.
  • Reentrancy Architecture: Developers declare data dependencies using GraphQL fragments within resolvers instead of making direct service calls. For example, a fullName field declares dependencies on firstName and lastName from the user entity, and Viaduct fetches or computes them automatically. This pattern scales effectively as the 25,000-type schema grows, enabling feature development without external service integration.
  • Engine-Tenant Separation: Viaduct Modern separates a lean execution engine from the strongly-typed tenant API, similar to kernel-user space boundaries. The engine handles high-performance execution, batching, and caching with raw data, while the tenant layer provides Kotlin type safety. This boundary enables independent tenant deployment and prevents typed information from propagating through the entire system, solving multi-tenant scaling challenges.

What It Covers

Adam Miskiewicz, principal software engineer at Airbnb, explains Viaduct, an open-source GraphQL platform that handles over one million queries per second. The discussion covers Airbnb's evolution from microservices fragmentation to a unified data graph, architectural principles behind scaling GraphQL to massive queries with 300,000 fields, and how AI agents may reshape backend development patterns.

Key Questions Answered

  • Schema Stitching Evolution: Airbnb initially converted Thrift APIs to GraphQL automatically, creating service-oriented GraphQL with top-level fields per service rather than an entity graph. This approach enabled rapid client adoption across iOS, Android, and web without requiring backend engineers to learn GraphQL, protecting them during the microservice migration while establishing the typed API foundation clients demanded.
  • Hosted Business Logic Pattern: Viaduct runs counter to GraphQL best practices by encouraging teams to host business logic directly in the platform rather than separate microservices. This decision emerged from microservice fatigue at Airbnb, where developers struggled with slow iteration cycles. The platform organizes code into tenant modules with schema and implementation opinions, resembling small services hosted in one scalable platform.
  • Async Memoization Performance: Viaduct implements automatic async memoization to eliminate duplicate resolver execution within a single request. When multiple fields depend on the same data like firstName or lastName, the resolver executes once and caches results. This optimization proves critical for queries spanning 100,000 to 300,000 fields that return megabytes of data, addressing performance at extreme GraphQL scale.
  • Reentrancy Architecture: Developers declare data dependencies using GraphQL fragments within resolvers instead of making direct service calls. For example, a fullName field declares dependencies on firstName and lastName from the user entity, and Viaduct fetches or computes them automatically. This pattern scales effectively as the 25,000-type schema grows, enabling feature development without external service integration.
  • Engine-Tenant Separation: Viaduct Modern separates a lean execution engine from the strongly-typed tenant API, similar to kernel-user space boundaries. The engine handles high-performance execution, batching, and caching with raw data, while the tenant layer provides Kotlin type safety. This boundary enables independent tenant deployment and prevents typed information from propagating through the entire system, solving multi-tenant scaling challenges.

Notable Moment

Miskiewicz reveals that Airbnb runs approximately 80 percent of all API traffic through Viaduct, making it too critical to fail. The platform serves over one million GraphQL operations per second across a codebase with millions of lines of tenant code, yet the team never forces engineers to rewrite. Instead, they plan AI-assisted migrations to transition from Classic to Modern architecture.

Know someone who'd find this useful?

You just read a 3-minute summary of a 52-minute episode.

Get Software Engineering Daily summarized like this every Monday — plus up to 2 more podcasts, free.

Pick Your Podcasts — Free

Keep Reading

More from Software Engineering Daily

We summarize every new episode. Want them in your inbox?

Similar Episodes

Related episodes from other podcasts

Explore Related Topics

This podcast is featured in Best Cybersecurity Podcasts (2026) — ranked and reviewed with AI summaries.

Read this week's Software Engineering Podcast Insights — cross-podcast analysis updated weekly.

You're clearly into Software Engineering Daily.

Every Monday, we deliver AI summaries of the latest episodes from Software Engineering Daily and 192+ other podcasts. Free for up to 3 shows.

Start My Monday Digest

No credit card · Unsubscribe anytime