Airbnb’s Open-Source GraphQL Framework with Adam Miskiewicz

5 Feb 2026 · 56 min · 30 chapters

Ask about this episode

Ask anything about it. ChatGPT or Claude reads this page and answers with the times it was said.

Connect VO and ask about every podcast you hear, including the moments you saved. Add to ChatGPT · Add to Claude

In short

Podcast Episode Notes: Airbnb’s Open-Source GraphQL Framework with Adam Miskiewicz

Episode Overview In this episode of Software Engineering Daily, host Gregor Vann interviews Adam Miskiewicz, a principal software engineer at Airbnb. They discuss "Viaduct," Airbnb's open-source GraphQL framework, its origins, architecture, and the challenges of scaling GraphQL to handle millions of queries per second. The conversation also touches on the future of backend development in an AI-driven world.

Key Topics Discussed

  1. Introduction to Viaduct
  2. Purpose: Viaduct is designed to unify data access patterns in a microservices architecture, addressing issues like fragmented ecosystems and duplicated business logic.
  3. Goals: Centralizes schema, simplifies functionality composition, and reduces operational overhead while maintaining performance and reliability.
  1. Adam Miskiewicz’s Journey to Airbnb
  2. Background: Adam has nearly 20 years of software engineering experience, transitioning from small agencies to Airbnb, where he has worked for about 8 years.
  3. Initial Involvement with GraphQL: Joined a working group focused on implementing GraphQL in Airbnb during the early stages of microservices adoption.
  1. The Origins of GraphQL at Airbnb
  2. Early Adoption: Began as a response to the need for strongly typed APIs while moving away from a monolithic Ruby on Rails structure.
  3. Initial Approach: Adopted a service-oriented GraphQL model, stitching together various presentation services into a single GraphQL schema.
  1. Evolution into Viaduct
  2. Architecture Changes: Transitioned from a service-oriented approach to implementing a unified data access layer called Viaduct.
  3. Key Architectural Principles:
  4. Central schema
  5. Hosted business logic
  6. Re-entrant APIs that allow logic hosted in Viaduct to compose seamlessly
  7. Re-entrancy: Enables features to be built without direct service calls, improving efficiency.
  1. Modernization of Viaduct
  2. Classic vs. Modern Viaduct: Classic Viaduct focused on a monolithic structure, while Modern Viaduct emphasizes clear separation between the execution engine and tenant APIs.
  3. Benefits of Modern Architecture:
  4. Strong typing through Kotlin classes enhances developer experience.
  5. Async memoization optimizes performance by avoiding redundant resolver executions.
  1. Open-Sourcing Viaduct
  2. Motivation for Open-Sourcing: Encouraged by Airbnb's CTO to share their work, promote accountability, and validate ideas through community feedback.
  3. Current State: The modern Viaduct is open-sourced but requires additional infrastructure work for full operational capabilities at scale.
  1. Future of GraphQL and AI
  2. Predictions: The growth of AI will necessitate strong architectural patterns for effective software engineering, especially in large organizations.
  3. Role of GraphQL: Viewed as a potential resurgence tool due to its flexibility and strong typing, aiding in managing complexity in data handling.

Key Takeaways

  • Viaduct addresses common challenges in microservices and offers a robust solution for data access.
  • The transition from classic to modern Viaduct represents an evolution towards better performance, usability, and architecture.
  • Open-sourcing Viaduct aligns with a broader trend of collaboration and transparency in software development, providing valuable insights for engineers.
  • The intersection of GraphQL and AI presents opportunities for improved software engineering practices, particularly in large-scale environments.

Links and Resources

  • [Viaduct GitHub Repository](https://github.com/Airbnb/viaduct)
  • Adam Miskiewicz on X (formerly Twitter): [@skevy](https://twitter.com/skevy)
  • Software Engineering Daily [Podcast Page](https://softwareengineeringdaily.com)

---

These notes encapsulate the discussions and key points from the episode, providing clarity on the evolution of Viaduct and its implications for the software engineering community.

Written by AI. May contain mistakes. Listen to the episode to check what was said.

Chapters

Tap a time to open that second in VO

The Challenges of Microservices

0:45 to 2:18

Discusses the difficulties faced by engineering teams as systems grow and the role of a unified data graph.

“Viaduct is Airbnb's open-source, data-oriented service mesh and GraphQL platform built around a single, highly connected central schema.”

Introduction of the Guests

2:18 to 3:39

Introduction to Adam Miskiewicz and Gregor Vann, including their backgrounds and expertise.

“Hello and welcome to Software Engineering Daily.”

Adam's Journey to Airbnb

3:39 to 4:44

Adam shares his unique career path leading to his role at Airbnb and the creation of Viaduct.

“So I've seen it kind of grow from, you know, a 500 person engineering organization to, you know, 3000.”

The Birth of Viaduct

4:44 to 5:20

Adam explains the origins and early development of Viaduct at Airbnb.

“But yeah, it's been cool to work at Big Tech and bring kind of the generalist experience into that.”

Transitioning to Microservices

5:20 to 6:39

Discussion on the transition from a monolithic architecture to microservices and the challenges faced.

“So about the second day after I joined Airbnb, I was pulled into a working group.”

GraphQL's Initial Implementation

6:39 to 8:08

Exploring the implementation of GraphQL within Airbnb's microservice architecture.

“So you can imagine, you know, we came from this big Ruby on Rails monolith, had millions of lines of code in it.”

Schema Stitching Approach

8:08 to 9:22

Detailing the initial schema stitching approach used for GraphQL and its implications.

“And we had a couple of big ones at that point.”

Adapting to Change in GraphQL

9:22 to 10:15

Discussing the need for adapting to changes in the GraphQL landscape and the challenges involved.

“And remember GraphQL actually just had its kind of 10 year anniversary back in September of like open source.”

Client Adoption of GraphQL

10:15 to 11:28

How client teams at Airbnb adopted GraphQL and the role of client-side engineers.

“So we They were, like I said, maybe not the first, but kind of on the forefront of what folks were doing then.”

GraphQL's Impact at Airbnb

11:28 to 13:02

Describing the impact of GraphQL on the engineering processes at Airbnb.

“I'm sort of sidebarring here, but how was that, I guess, communicated, especially back then?”
Show all 30 chapters

Data Architecture Working Group

13:02 to 14:01

Formation of the Data Architecture Working Group and their focus on improving data management.

“But then around, let's see, was it the summer of 2019, I believe?”

Formation of the Data Architecture Working Group

14:01 to 15:02

Learn about Airbnb's approach to addressing data architecture challenges.

“We spun up this working group called the Data Architecture Working Group, brought in an outside consultant named Rami Stata, and really started to think about the whole stack end to end.”

Introduction of Viaduct and its Origins

15:02 to 16:15

Discover the inception of Viaduct and its connection to Airbnb's data needs.

“And at this point, you know, a lot of data has migrated to it.”

Understanding the Concept of Viaduct

16:46 to 18:01

Learn the meaning of viaduct and its significance in the context of Airbnb.

“Somebody will yell at me if I try to give some exact definition, but essentially it's a bridge.”

Philosophical Shift in Using Viaduct

18:01 to 20:09

Explore the philosophy shift in hosting business logic directly in Viaduct.

“So let's kind of get into, I guess there was like a sort of philosophy shift where, I mean, there's a great blog post, which we'll link to that you wrote about all of this about two months ago.”

The Structure of Viaduct’s Architecture

20:09 to 21:56

Examine the architectural layers that make up Viaduct and their purposes.

“we've done with Viola to Modern, which is what we open sourced.”

Reentrancy and Data Dependency in Viaduct

21:56 to 24:29

Understand the concept of reentrancy in Viaduct and its impact on data handling.

“I mean, in the blog post, you mentioned this is like logic hosted on Viaduct composes with other logic hosted on Viaduct by issuing GraphQL fragments and queries.”

Modernization Journey of Viaduct

24:29 to 28:00

Discover the evolution from classic Viaduct to modern Viaduct and its implications.

“So at its core, Viaduct is, you know, really kind of an opinionated GraphQL server.”

Introduction to Viaduct's Transition

28:00 to 28:20

Learn about the current state of Airbnb's API architecture and the transition from classic to modern Viaduct.

Challenges of the Classic Viaduct

28:20 to 29:30

Explore the scaling problems and architectural challenges faced by Airbnb's classic Viaduct.

“And so there's like this kind of shim layer that we're building and that we maintain with the eventual goal to push everyone to the modern API.”

Evolution of the Viaduct System

29:30 to 31:20

Understand how the classic Viaduct evolved and the impact of its success on further development.

“But it definitely has some scaling problems, right?”

Modernization and Reliability Efforts

31:20 to 34:10

Discover the efforts made to modernize Viaduct, focusing on reliability and developer experience.

“So a lot of people go, oh, well then now we can put time on this thing or sort of bandwidth is made available.”

Introducing Modern Viaduct's Architecture

34:10 to 36:50

Learn about the new architectural principles and design changes in the modern Viaduct system.

“I firmly believe that there is a better world than that.”

Performance Improvements in GraphQL

36:50 to 40:00

Explore how modern Viaduct enhances GraphQL performance and handles complex queries.

“even a large thing in order to figure out what that right abstraction is, right?”

Open-Sourcing the Modern Viaduct

40:00 to 42:00

Understand the decision and implications of open-sourcing the modern Viaduct framework.

“It's you kind of override the domain models themselves, right?”

The Open Source Journey of Viaduct

42:00 to 44:25

Learn how Airbnb's CTO advocates for open sourcing and the challenges faced.

“It was pretty early in the modern story.”

Understanding Modern vs. Classic APIs

44:25 to 45:59

Explore the differences between modern and classic APIs at Airbnb and their implementation.

“inside of Airbnb, the modern engine and kind of shimming, like I said, on top of that, the old API.”

The Role of AI in Code Migration

45:59 to 48:29

Discover how AI tools are utilized for code migration and updating systems at Airbnb.

“There is a lot of like kind of infrastructure work that we have not yet open sourced.”

Future of Software Engineering with AI

48:29 to 50:56

Discuss the future implications of AI on software engineering and development practices.

“That's really where a system like Viaduct or there are other systems that are like Viaduct, I suppose, really can play a major role.”

The Potential Resurgence of GraphQL

50:56 to 54:07

Examine the future and relevance of GraphQL in modern software architecture.

“but it's going to take a long time for us to get there.”
Hear the part that matters, and keep it.Open this episode in VO. Double tap your headphones to save a moment as you listen.
Get VO free

Transcript

Automatic transcript. May contain errors.

0:00Are you passionate about software development and the tech industry? Software engineering daily is looking for a new podcast host host to grow its hosting team team. In this role, you'll help shape the show's editorial direction and interview engineers, founders, hackers, and tech leaders. Podcasting experience is a plus, but not required. Curiosity, great communication skills, and a genuine interest in the craft of building software are what matter most. If this sounds like you, reach out at editor at softwareengineeringdaily.com. Engineering teams often build microservices as their systems grow, but over time this can lead to a fragmented ecosystem with scattered data access patterns, duplicated business logic, and an uneven developer experience.

0:46A unified data graph with a consistent execution layer helps address these challenges by centralizing schema, simplifying how teams compose functionality, and reducing operational overhead while preserving performance and reliability. Viaduct is Airbnb's open-source, data-oriented service mesh and GraphQL platform built around a single, highly connected central schema. It has played a major role in scaling Airbnb's engineering organization. Adam Miskovich is a principal software engineer at Airbnb, and he worked on Viaduct. He joins the podcast with Gregor Vann to talk about how Viaduct originated inside Airbnb, the architectural principles that shaped it, the challenges of scaling GraphQL to millions of queries per second, and why the team decided to open-source the platform.

1:38They also discussed the future of backend development in an AI-driven world and how unified data layers may influence the next generation of engineering systems. Gregor Vand is a security-focused technologist, having previously been a CTO across cybersecurity, cyber insurance, and general software engineering companies. He is based in Singapore and can be found via his profile at van.hk or on LinkedIn.

2:18Hello and welcome to Software Engineering Daily. My guest today is Adam Miscavige. Hey, how's it going? Nice to be here. Yeah, great to have you here. Today we're going to be talking about Viaduct and that is a spin out from Airbnb. So we're going to be understanding what happened there. But yeah, Adam, I'd love you just to talk to us a bit about first of all, just your journey to maybe to like to Airbnb. And then where did Viaduct come from? And how did that come about? Yeah, absolutely. Yeah. So I have been a software engineer for gosh, it's pushing 20 years or something professionally these days.

2:57And I actually took a little bit of a non traditional path to kind of where I'm at at Airbnb, kind of working in big tech. I have done a lot of work at a lot of small companies. I ran an agency, like an interactive agency in Baltimore, Maryland for a while, building web and mobile apps for folks and interactive installations. I worked at a company called Expo. Some folks, some listeners might be familiar with doing React Native tooling, and then eventually kind of ended up at Airbnb. So I kind of went from small company to big company instead of big company to small company, I think, like a lot of folks do.

3:33So it's definitely been a learning experience working at big tech. And I've at this point, I've been at Airbnb close to eight years. So I've seen it kind of grow from, you know, a 500 person engineering organization to, you know, 3000. And also the company around us, you know, has grown a lot as well. So yeah, it's definitely been an interesting journey. That's kind of interesting. It's actually quite similar to myself yeah we're at an agency for a long time which was a by most standards small company and yeah i'm now in a bigger company but that's only 150 people but still feels big to me i think what's cool about like working at like a interactive agency is you kind of get exposed to a lot of different stuff right and it like forces you to kind of be a generalist so you know i was actually hired at Airbnb originally as a front-end engineer and had done a lot of front-end development prior to Airbnb.

4:31And at this point, I haven't done front-end development for... I said I've been there about eight years. I haven't done it for about seven and a half. So that kind of takes us into the GraphQL story and Viaduct and all those types of things. But yeah, it's been cool to work at Big Tech and bring kind of the generalist experience into that. Yeah, for sure. And I think as you call out that it will as we'll hear that will lend itself really well to kind of i'm sure why viaduct came about and like what it is today because yeah the more problems you're exposed to the more realization that you know you have to actually understand so many different business types and requirements and so on so forth and inside big tech you're effectively working on different businesses if you want to look at it that way so yeah how did viaduct come about what's the story there.

5:20Sure. So about the second day after I joined Airbnb, I was pulled into a working group. It was called the GraphQL working group. And a bunch of engineers at Airbnb had been thinking about using GraphQL. We were kind of in this interesting spot. We were starting to do microservices, kind of move out of our Ruby on Rails monolith. We wanted, especially like the iOS and Android and web engineers, right? They really wanted like, you know, strongly typed APIs. There were some experiments with GraphQL in the Ruby space, right? We had this thing that I think was open source at some point called Graphists, which was like this very opinionated kind of framework.

6:04It actually wasn't GraphQL, although you could imagine GraphQL layered on top of that. That was kind of this opinionated framework in Ruby on Rails for building our endpoints, our API endpoints. And yeah, so I was kind of pulled into this working group and there was a bunch of folks in there. I mean, it was probably 20 or so folks from backend, from front end, whatever it might be, thinking about how do we adopt GraphQL in this new kind of microservice world that we were moving into. And we had, there was already an opinion that was relatively pervasive and then kind of became a bit more pervasive around how to structure our microservices at Airbnb.

6:41So you can imagine, you know, we came from this big Ruby on Rails monolith, had millions of lines of code in it. And we started to kind of carve out chunks like lots of folks do, right? We had a service for listings, kind of some of our search components were pulled out, that type of thing. But we were pretty early at that point in like kind of building a bunch of services. But the way we were thinking about structuring the microservice architecture, SOA, as you'll probably hear me call it a bunch during this conversation, is kind of have presentation services, derived data services, and data services.

7:18So data services at the bottom, pretty straightforward. They wrap, essentially, databases, provide kind of a thrift. We use thrift at Airbnb, so kind of provide a thrift API over core data. You have the presentation services up top that are really, you know, I would say how they started it is ports of controller logic from, you know, MVC system inside of Ruby on Rails. And so they were very tightly scoped to like, you know, they exposed just like RESTful or RPC over JSON type of endpoints. Right. And then you kind of have the middle tier, which is all the random derived data services that pull data from X, Y and Z places and bunch it together.

7:58So the GraphQL story was really focused at the beginning around this presentation service layer. And there was a lot of trepidation at first because we were trying to figure out like, OK, well, we've already started to build these presentation services. And we had a couple of big ones at that point. Right. And we needed to figure out how to let people continue to build these things because that's what we said we were going to do. But how do we put kind of GraphQL on top of them? So our first general approach was very far from Viaduct, which was just kind of convert the Thrift schema to GraphQL and stitch all of the presentation service schema together into one GraphQL schema and one GraphQL endpoint.

8:47And we definitely weren't the only people to take that approach. And mind you, this is essentially seven years ago, right? i was just gonna say i mean because you said this was like day two working group it really was like it was day two yeah so i mean this was around when quite a few companies i guess were starting to well probably some hadn't maybe done it beforehand but this was quite a big time for bigger companies to say hey we actually think graphql is where we should be going with our apis right i mean yeah so actually let me set the stage a little bit so like this is pre apollo Federation.

9:25So like it's pre all of that stuff. Right. And remember GraphQL actually just had its kind of 10 year anniversary back in September of like open source. So yeah, so this is a few years into GraphQL. There was no Apollo Federation. Apollo did exist, but it was kind of early. They were trying to figure out, you know, what their business model was going to be, how to bring it to enterprises, that type of thing. The client space outside of like Relay was still pretty nascent. GraphQL JS was mature-ish, but not used in a lot of spaces. And so everyone was trying to think about how to bring big companies and enterprises into GraphQL.

10:02And yeah, the schema stitching idea was pretty popular at that point. That was how you did it if you didn't want to have one kind of monolithic GraphQL server. So that's kind of the space that we were working in. So we They were, like I said, maybe not the first, but kind of on the forefront of what folks were doing then. And so we took these Thrift APIs, we converted them to GraphQL, and we stitched them all together. And the schema that kind of we ended up with was what I like to call service-oriented GraphQL. I mean, it was not an entity graph in the way that we did it. Right. It was literally like service foo as like a top level field and then the endpoints for service foo underneath.

10:47Right. And we always knew that we were going to like transition away from that somehow. But what this gave us was the ability to get clients using GraphQL across iOS, Android and Web, get that stack in there, figure out the cogen situation on the clients, all of those types of things. Right. And we could pretty quickly and you can imagine since these endpoints were the same kind of shape as our REST endpoints, then like writing code against them, client side code was relatively straightforward. Right. And then you could easily kind of migrate from the old version to like this new typed version.

11:22Given this was largely all internal as an internal APIs. Yeah, it's all internal APIs. Yeah. I'm sort of sidebarring here, but how was that, I guess, communicated, especially back then? Like, hey, we're moving to GraphQL. That's quite a big shift for probably the number of services that we're talking about here. So were you the person having to deliver this news, so to speak? Or how was that done? Yeah, it was me and a few other folks that were working on this. I kind of was the main sort of back-end guy at this time. But to your point about like going and telling people the whole idea here was that the conversion from Thrift to GraphQL was automatic.

12:06Right. So for the most part, the back end folks didn't really need to know. Right. It was kind of interesting. We were like protecting the back end people back then. I don't know. It's very different now. Like I wouldn't say we do that. But like back then, it was like client engineers want to do some crazy stuff, protect the back end people, let them focus on their microservice migration. Right. And so that's what we did. You know, we really made it as trivial as possible on the back end side. And then on the client side, people were much more eager to adopt the new tools. And so it wasn't really a struggle to get folks to adopt the new tools.

12:42Right. They wanted it. Right. especially on the iOS and Android side. But then, you know, web was kind of a fast follow there. Yeah. And we had a couple of champions in each kind of client platform that really wanted to see it succeed. For sure. That was kind of, you know, the origins of GraphQL at Airbnb and how GraphQL itself really got its foothold. But then around, let's see, was it the summer of 2019, I believe? Yeah. So basically this had been around for about a year. This like GraphQL, new GraphQL stuff had been around in Airbnb for about a year. Summer of 2019, spring and summer, kind of hired a new CTO.

13:25He comes in. He is like, what's going on with like our data at Airbnb? Like, how are we doing this? Right. And we had kind of a fragmented data store situation. Offline data was crazy. We were having trouble with like our data pipelines back then, you know, and we were thinking about IPOing at that point. Right. And so it's like, well, we got to get our core data to make some sense. Right. So that we can use it for financial reporting and all of the things that are required there. And so we spun up this working group. You'll notice a trend of working groups. We spun up this working group called the Data Architecture Working Group, brought in an outside consultant named Rami Stata, and really started to think about the whole stack end to end.

14:14So whether it was online side, APIs, whatever, whether it's the offline side, really nothing was off limits to think about changing. We had like eight people in this group, a bunch of different disciplines from all over the company. And we sat in a room for what seemed like months at a time trying to figure out what we were going to do. A bunch of things came out of that. A bunch of improvements to the offline world. It's much, much better now. And it took a lot of years, but it got there. A bunch of changes in the online data source side. So born out of this data architecture working group was kind of a rethink of our kind of core online data system, which is called UDS, stands for Unified Data Store.

15:01And that's a big project, been going on for a while. And at this point, you know, a lot of data has migrated to it. And then on the API side, really this idea of what became Viaduct or what we call a data-oriented service mesh, but really is a more simplified way to say it is just kind of a unified data access layer, really emerged as kind of a key need to try to simplify how we build APIs, how we expose data to clients. So we really shipped the very first version of Viaduct, which really wasn't anything super crazy. It was really just a GraphQL server that was separate from this service-oriented GraphQL.

15:45We figured out how to kind of stitch it in. and we shipped this this the first version of viaduct i mean really early i mean a couple months into the project we shipped it and i think he was working on like the trips product at the time so basically you know imagine you go and to airbnb in the upper right hand corner on your on your home screen and you know view your current trip and so that was like probably the first like viaduct powered feature back then that and maybe wish list so yeah that was kind of the original origins. Very cool. You're a developer who wants to innovate. Instead, you're stuck fixing bottlenecks and fighting legacy code.

16:24MongoDB can help. It's a flexible, unified platform that's built for developers by developers. MongoDB is ACID compliant, enterprise ready, with the capabilities you need to ship AI apps fast. That's why so many of the Fortune 500 trust MongoDB with their most critical workloads. Ready to think outside rows and columns? Start building at mongodb.com slash build. Again, sidebar question, but since we're going to probably use the word a lot, I did grow up in a country that have a lot of viaducts, but maybe you could just explain what is a viaduct and why did that kind of become the name, I guess?

17:00Viaducts. Somebody will yell at me if I try to give some exact definition, but essentially it's a bridge. A bridge where water flows over it, basically. No, that's an aqueduct. Oh, there we go. Wow. Yes. A viaduct is a bridge over a span of, you know, it could be over water, but usually it carries, you know, trains or cars or something like that. Then I've learned something today. I called everything a viaduct. Okay. It does tend to have arches, though, much like an aqueduct. So I don't know. Hopefully podcast listeners don't go crazy. I mean, maybe there's some like technical definition of a viaduct.

17:36But anyway, the general idea, right, the reason why we call it Viaduct, we're kind of traditionally pretty bad at naming things at Airbnb. We always put air in front of them. But with Viaduct, you know, it's really just it's a connector. It's a bridge. It's trying to connect things together. And we had a lot of services and a number of services grew tremendously over time. And yeah, that was the idea there. Yeah. Okay. So let's kind of get into, I guess there was like a sort of philosophy shift where, I mean, there's a great blog post, which we'll link to that you wrote about all of this about two months ago.

18:13there are kind of three guiding principles sort of to that philosophy shift which was a central schema hosted business logic and what's called the re-entrant api and we'll obviously get into that but you said in that blog post like from the beginning we've been encouraging teams to host their business logic directly in viaduct this runs counter to what many consider to be best practices in graphql so was that from the kind of beginning beginning or is that something that's come through in time? It's definitely from the beginning to beginning. So like I said, we had built the original GraphQL system very much integrated with our microservice architecture.

18:50But at that moment in Airbnb's engineering journey, there was a bit of microservice fatigue. And while we have a lot more tooling nowadays that helps with microservice development at Airbnb, be in those early days. It was tough to have quick iteration, to understand your dependencies. And also, you know, we had this kind of really opinionated framework for how you actually write business logic in the microservice world. So it was just, I think a lot of people found it really tough to like be iterative. And so when we built Viaduct, you know, the idea was, you know, like, yeah, we'll figure out how to like scale it.

19:30It's like do things that don't scale, right? We'll figure out how to scale it at some point. But for now, let's just write code in there. And we'll have some opinion on how to write the code so that it doesn't go completely insane. But at the end of the day, we wanted to build a platform that really was kind of, you know, we had many early ideas of like how it can just be like Airbnbs, you know, to use a buzzword that a lot of people hate, like serverless platform, right? And I'd say it's had its ups and downs of that decision. And I think we have a lot of interesting things in the pipeline with some of the work that we've done with Viola to Modern, which is what we open sourced.

20:12But it definitely ended up being like a pretty core tenant from the beginning. Yeah. I mean, just to kind of call out for anyone, well, we've touched on Apollo already, but a global schema approach, that's actually unlike Apollo or like GraphQL modules. So that's kind of the differentiator here, right? That's right. I think there is some interesting similarities with Apollo and Apollo Federation. I mean, at the end of the day, Apollo talks a lot and has a lot of success with this concept of a super graph. And in their case, yes, it is a super graph made up of sub graphs that are kind of hosted in services.

20:50but viaduct is not necessarily that much different when it comes to this general idea of having a unified graph and vending kind of essentially one schema to your clients and in our case our sub graphs are not independent services but they're what we call viaduct tenants right so viaduct even though you're writing business logic in viaduct right it's not just a complete free-for-all Right. There is a rhyme or reason to how we organize the Viada kind of monolithic system at the moment. Right. Which is, you know, we have these things called tenant modules and tenant modules have schema. They have code.

21:36There's opinions on how you write your schema. There's opinions on how you write the code. And, you know, they can be essentially packaged up. There's a little bit of nuance there, but if you look in the code base, right, they kind of look like little services, honestly. It's just that we host them in one larger platform. Got it. And then this term reentrancy, could you talk to us about that? I mean, in the blog post, you mentioned this is like logic hosted on Viaduct composes with other logic hosted on Viaduct by issuing GraphQL fragments and queries. Yep. So this is one of the things that I do think is relatively unique to Viaduct in that the whole idea is that as you build out this unified graph and you get more and more data into this graph, well, the less that you need to go elsewhere to get some data and the more that you can use the data that you already have in the graph to build features.

22:35So the canonical example I always give, it's very trivial, but I think it illustrates the point, which is let's say you want to implement a field that returns the user's full name. Well, the full name is typically you store the first name and maybe their surname, last name separately. Right. And so you kind of have your first name, you have your last name, and then you have the full name. You got to combine those two things together. There's a bunch of ways you can do that. If you imagine that all this data, the user data is stored in some separate service, right? You could query for the user upfront and you could take the first name and last name.

23:08And then you could just like, you know, have some logic that combines those things together. But in Viaducts, what we encourage is that you are essentially declaring for that full name field, you're declaring data dependencies from within the graph. So you're saying that for the full name field, I need the first name. I need the last name from the user entity. And Viaduct will know how to fetch those things, compute them if necessary, and give that data to the resolver. And that general idea, which we've actually had since almost day one in Viaduct, the API has definitely shifted, but we had that idea from day one.

23:46It turns out it scales really well because as the graph grows and our graph is really big, I think we have 25 ,000 types and, you know, hundreds of thousands of fields or something like that. So it's huge. And we have the majority of Airbnb is kind of available online data exposed in this graph. you can often find what you need without going to some service especially if you're operating you know higher up in the layers right you know building presentational type of features and so you can you can really write entire features and applications without ever making a direct service call and instead calling back into the graph using this re-entrancy approach awesome that's a really good example i like that very simple but very effective i think to understand what we're talking about here you mentioned or you touched on the idea that there's a sort of modern version we're going to get there i think just before we do maybe we could just still talk about the just general technical architecture which again you you touched on in the blog post and the kind of three bits to this the tenant api the execution engine and hosted application code could we just walk through those three just sort of how do they come together to make Viaduct what it is?

25:05So at its core, Viaduct is, you know, really kind of an opinionated GraphQL server. It certainly grew from those origins. You know, it was really just GraphQL Java from the very beginning and then build stuff on top of it. But we've taken a much more principled approach as we've kind of started to rebuild pieces of it. So the modern kind of way that Viaduct looks is those three layers, as you mentioned, you know, an engine, this like kind of tenant API and runtime and then the code itself. And the reason to structure it like that really comes down to we wanted a engine that was really lean, as performant as possible, might be implemented in some other language or framework or whatever one day and can focus on the things that are kind of core to the Vibex execution model, which is this high-performance execution, executing selection sets, which is a GraphQL concept, our concurrency model, how are we doing parallel fetches, batching, which is very much tied into that.

26:10So figuring out how to avoid the N plus one problem, maybe caching in certain cases, at the very least, intra request caching and things like that. And then the tenant API and runtime kind of sits on top of the engine and it's what is kind of providing that like strongly typed interface right so you know for those that haven't looked at the open source projects viaduct is is built in kotlin we're a big jvm shop at airbnb we use a lot of java but also use a lot of kotlin everyone that writes code in viaduct at airbnb writes it in kotlin and when you're actually writing code inside of viaduct you want that strong typing right but the engine doesn't care so much about the strong typing, right?

26:53It just is kind of schlepping data around. So that boundary of like where typed data lives and where the engine can deal with just kind of more raw data, so to speak, is actually ends up being quite important because if you're going to build this multi-tenant system, right, you want to avoid sending typed information back through the entire system. Because if you want to, say, deploy a tenant individually from another tenant, you need that kind of boundary. And so we actually draw it a lot. It's not a perfect analogy, but we kind of have engine space, tenant space, kind of like kernel space, user space.

27:35And like I said, it's not a perfect analogy, but it keeps us kind of grounded in that we need to keep those things separate. And we need to create that very strict boundary between those two layers of the system and then you have the hosted code right that kind of you know is actually what uses the tenant api and antenna runtime so let's talk about the modernization journey if you like there's i guess what's known now is like classic viaduct and modern viaduct is that right yeah yeah it's at least known internally yeah yeah i think it was in the blog post as well but yeah yeah yeah we've talked about it publicly but it's i think to to the outside world classic viaduct doesn't mean a whole lot because they've never seen it gotcha there we go yeah yeah but yeah and actually most of of airbnb as of the recording of this podcast is still running on classic viaduct we're rolling out modern viaducts kind of as we speak going to continue you know rolling it out in earnest over the following year over in 26 but yeah most of what airbnb is running right now is still kind of the classic viaduct especially the classic again this is why that engine tenant split is important because actually we're running the modern engine but the classic API inside of Airbnb.

28:47And so there's like this kind of shim layer that we're building and that we maintain with the eventual goal to push everyone to the modern API. So anyway, so why modernize, right? What are we kind of doing here? So Viaducts, the way it started, like I said, you know, kind of started out as a working group. We had a small team. That thing like lived as a working group for a long time. We didn't have a real team, you know, but it found a lot of organic adoption inside of Airbnb. Which means it's successful, basically, because if it doesn't... Exactly. It was successful, right? But I think it was also a victim of its own success.

Read the full transcript

29:20And if you look at how the code base evolved, it's one feature on top of another feature on top of another feature that we added because some customer came to us and was like, we need this. And we're like, okay, we'll help you. And I think in many ways, it's fine. It got us to where we're at. But it definitely has some scaling problems, right? Whether it's runtime performance, or whether it's like build time and developer loop performance, there's just to be completely honest, right? There have been a lot of struggles and we've worked around a lot of them. But what we realized when we started to think about Viola to modern, you know, a couple of years ago was that there's certain problems that like are just insurmountable in the old architecture.

30:03And so the old architecture, just to kind of compare and contrast it with the architecture that we were just talking about with that clear engine tenants, but basically the old architecture dreadnought that, right? And in fact, there was a lot of overlap. It was very unclear when the engine began and when the tenant API stopped, right? And we did that on purpose. You know, I think it sounded like a good idea back then in that what you can imagine it looked like is that we co-genned basically domain models, right? And then attached implementation to those co-gen domain models. And it worked really well.

30:41It actually had some pretty ergonomic properties when it comes to just like, oh, just go override this method in this class, and then you've implemented your thing. But yeah, like I said, scaling that and figuring out how we offer what we're really trying to offer with modern, which is more tenant isolation, more tenant autonomy, but still retaining kind of the leverage that we have working in this like opinionated centralized platform we just kind of realized that it's just we're not gonna be able to get that with the classic system and one other thing to mention that i think will sound very familiar to anybody who has evolved a very large software project it also became hard for the platform team itself to work on it and that slows down velocity etc it's like i mean this is a maybe slightly nuanced example but given you've worked in an agency that the last thing an agency ends up updating is its own website basically because that's exactly right yep absolutely so it's it's that kind of problem where unless there is a team that has been put together dedicated to this tooling which is i guess how you could maybe look at it in some ways like that tooling just kind of only gets updated as you i think alluded to sometimes it's a customer i.e there's sort of money on the table that says like this, we need this thing.

31:59So a lot of people go, oh, well then now we can put time on this thing or sort of bandwidth is made available. But it sounds like as with so many companies and projects, it was going to be challenging for that to happen. So that's kind of leading into the modernization and skipping ahead a little bit here, the open sourcing as well. But yeah, so I'll let you go back to the story. Yeah, sure, sure. All very good points. Hindsight is 20-20. We could have done some of this stuff sooner, But I think what we ended up, like I said, kind of a victim of its own success. And with that victim of its own success, we spent a lot of time on reliability, right?

32:35Like keeping it alive, because at a certain point, it became a very, very critical dependency for Airbnb. And at this point, something like 80 % of all traffic runs through Viaduct. So of all very, yeah, traffic runs through Viaduct. So it can't get much more critical than that, right? And so the reliability aspect of Viaducts really took the front seat, while some of the developer experience pieces took a backseat, much to the chagrin, I think, of a lot of developers at Airbnb, who I think, just as a shout out to them, hey, I see you. And I think it's been tricky. However, we've kept it alive.

33:15And now, and I would say over the last couple of years, we've been able to start to balance improving some things about developer experience while also keeping it alive, but building this modern API, modern runtime or an engine to really set us up for a much, much better future. because it really ended up being in a situation where, you know, Viaduct, it's a little too big to fail at Airbnb. And at the end of the day, people have to use it. That's how it is at this moment. You know, this is how a lot of, I think, big company tech, you know, evolves, right? Even if it's not the perfect solution, it is the solution that you have, right?

33:53And so I see my job, I see our team's job, our organization's job as, well, at this point, we just want to make it awesome because I think it can be really awesome. And I think that's what Viaduct Modern is pushing us. We're pushing in that direction. And I think that the benefits that Viaduct provides and has provided to Airbnb are real and ones that we want to continue to capitalize on and not go back, right, to like, oh, just create whatever service you want to create and figure out how to string it all together. I firmly believe that there is a better world than that. And I think Viaduct is that world.

34:36Awesome. Yeah. I mean, I believe that Blogpost does touch on real world Airbnb performance uplifts. So I do encourage anyone to go and take a read. And just looking at time, I want to make sure we do talk about what the modern Viaduct is. And then also when I kind of hear just about the open sourcing journey is something obviously we've had a couple of other companies on in the last six months who have gone from closed source to open source this isn't quite the same because it's i guess kind of a new framework over an updated framework but looking just at the new like the modern sort of architecture i believe it's a lot of it's about sort of boundaries you know strong abstraction boundaries between you know what we've touched on the engine the tenant api and the application code could you just like speak to us a bit about that and I believe it's going from also like a dynamic engine API to a statically typed tenant API with Kotlin classes.

35:34That sounds pretty important. And hopefully kind of, I'm imagining, cleans up a lot of the problems that have just ended up becoming problems with Classic. So, yeah, we kind of touched on it earlier. I mean, those strict boundaries that I was talking about really end up becoming critical if you want to optimize the performance. And also provide a kind of simpler mental model, right? To people writing code inside of the system. And I would say, when I say people writing code, I mean both platform developers, but also tenant developers, right? So at the end of the day, if you build a leaky abstraction, the non-platform team folks, they end up having to understand that abstraction far too deeply.

36:19And that creates a ton of confusion. That's a great article, by the way, leaky abstractions. Yeah, it was funny. I was re-listening to a very old self-engineering daily episode and the article was brought up. So I went back and re-read it. We were talking like years and years ago. And one thing I've learned in my career is how deeply important good abstractions are and how hard they are to come up with. And so, you know, not to belabor the evolution point, but I think like sometimes you have to go through a bunch of different iterations of a thing. even a large thing in order to figure out what that right abstraction is, right?

36:58So you can think about some of these things from first principles. So anyway, I think with modern, you know, like the main benefit we're trying to give to folks is that it's a much simpler mental model. Everything is a resolver. We have this like flow chart that we've used internally or in some like external presentations, where if you think about what it kind of looked like building stuff in the classic API, you know, it's like this big flow chart of like, do you choose this thing, this thing, this thing, this thing, right? Ultimately, what we wanted was everything to be a resolver. We build that re-entrancy capability into that resolver concept.

37:31And that's how you write your code. We can always provide other kind of smaller abstractions for, you know, let's say fetching data from service or something like that, right? Like we can always have utilities to make those types of things easier, simpler or less boilerplate. But the core concept of the system is very, very simple. Everything's a resolver. So the other thing that's pretty core to modern is there's this like pretty fundamental concept that we call like async memoization. And the insight is that when you're building a GraphQL server in particular, just the way that GraphQL execution works, which is kind of this like depth first parallel traversal type of way of, of traversing the query and executing the query.

38:14And then when you layer re-entrance, this re-entrancy concept on top of it, you can end up doing like a lot of duplicate work. And so like take that first name, last name, full name concept I was mentioning before. Well, somewhere else in like, if you imagine the user type, you've got first name, last name, a full name, full name depends on first name and last name. There might be some other field in that type that also depends on first name or also depends on last name, right? Why would you want to execute that resolver again? So if you're executing this node in the graph, right? And you execute that same field with the same arguments again within the same request, you're not going to execute the actual resolver itself again.

39:00So that's a pretty fundamental concept that most GraphQL servers, I've never really seen one do that. and turns out, you know, it has a lot of performance wins. What we really notice, again, scaling Viaduct, scaling GraphQL, you know, we have a massive scheme. I already said that before. We have massive queries. I mean, we have queries that query 100 ,000 fields or 300 ,000 fields, right, in one single query, right? They're returning like megabytes of information. Now you can say, don't do that. Well, easier said than done, right? Sometimes, especially as the platform team, we kind of are looking at, you know, these edge cases and like, how do we scale the platform to support those things versus just simply going, telling people no, because sometimes they do actually have very legitimate use cases.

39:47So a lot of our work, right, around performance and things like that is like looking at how do you really scale GraphQL, GraphQL execution to that size, right, to that level of complexity. And, you know, it ends up being a pretty non-trivial, both graph problem you know there's some computer sciencey stuff in there right which is pretty interesting so vitac modern you know aims to solve those things in a bunch of different ways and like i said you know it kind of makes it easier to optimize and gives us kind of that stable kernel right of the engine while we can continue to evolve the the api on top and then like you mentioned the strong typing we had strong typing before but it was done in a different way right It was done in the, I kind of alluded to it, right?

40:33It's you kind of override the domain models themselves, right? In this case, you don't do that. You're just given value classes, right? That contain the data that you need. We can generate a lot fewer of those, right? Than we were doing before. Helps us with the build time problem, that type of thing. And again, a lot of these problems that I'm talking about, these are things that only happen when you scale to the size that we're talking about at Airbnb. and there's a few other companies that are that are similar sized Airbnb that have have similar similar problems to us I know from talking to them but you know most APIs you know or graphical servers or really any API server right they just don't have these types of problems right and that's definitely been a learning and and one of the reasons why there's some there's actually been a lot of work that goes into building this system yeah I mean I think exactly just to sort of overemphasize you know the massive scale that this is designed to handle is such a huge piece of it you know it's you know the classic has been sort of battle tested through airbnb and then obviously some learnings there which are like flowing through to to modern and that's kind of what people should be sort of if if they're thinking i have a massive graphql footprint brackets problem maybe viaduct is something they should be looking at and that sort of leads quite nicely into just the open sourcing of this.

41:55Yeah. I mean, like, was that a given when you were thinking about modern or how did that sort of come about? It was pretty early in the modern story. You know, our CTO, Ari, he's been really supportive of open sourcing stuff at Airbnb. You know, we have, and we have a lot of open source projects at Airbnb, some definitely non-trivial ones. And I think he was always pretty passionate about, you know, kind of sharing our work with the world. And it's not just about kind of the typical corporate open source thing of, you know, it helps our tech brand and stuff like that. It also is like a, it's an accountability mechanism almost, right?

42:30So it's like a way to share your work with the world and then like get validation on those ideas and be able to talk about them openly, right? And be able to kind of share deeply, you know, what we are doing and why we're doing it and operate and how we operate at the scale we operate at. So that was his way that he kind of pitched it to me and others early on. And so yeah, so we were pretty much focused on open sourcing it from the get go, we kind of separated out the vibe of modern stuff, you know, kind of in our monorepo to make sure that we were not taking on internal dependencies and things of that nature.

43:12So we did have a bit of that flexibility that I think would have been maybe a bit trickier than if we were to have open source classic very directly. That being said, it's definitely been non-trivial to break Viaduct out of the Airbnb bubble. And the real value I think Airbnb has gotten from it from a technical perspective is that that has strengthened the abstractions that we are talking about here because we can't be lazy if we're going to open source this thing which of course we have at this point we couldn't just kind of sit back and depend on other things or not think about how to support both potential open source users as well as airbnb and how is sort of if i'm understanding correctly sort of classic and modern they are different how internally is that working shifting things across or is it just as new services come online they take modern versus classic or yeah what we're starting to do is for new use cases we're having people start to use modern the modern api like i mentioned we actually like have we very clearly split that modern engine from the api so we are running inside of Airbnb, the modern engine and kind of shimming, like I said, on top of that, the old API.

44:31But yeah, right now it's very much a, you know, as new use cases come online, you know, use modern will never force our engineers to rewrite their code to modern. Instead, we will likely use AI tools and things like that. There's a whole like diatribe I could go on about how we're doing AI based migrations at Airbnb. I won't go on that big diatribe, but I think that is going to be a pretty critical way for actually getting rid of classic in the code base over the next couple of years. Got it. And just to give listeners like a little bit of more concreteness to the scale, I won't say exact numbers, but we're talking multi-million lines of code in the Viator code base right as tenant models and we're talking around like a bit over a million qps of graph kill operations per second served by the system so it's definitely pretty hefty scale yeah before we kind of just look at sort of future stuff your devx getting started with viaduct modern any things to call out there is all pretty straightforward from the repo or yeah it's all pretty straightforward.

45:42The thing to call out is that what you see in open source right now, you know, is not, it's not exactly like the developer experience around it. And like, kind of the, if you imagine like kind of embedding it in some server, right? You're not just going to get Airbnb Vitex scale, like for free. There is a lot of like kind of infrastructure work that we have not yet open sourced. We hopefully will open source more of it over time, but that there's glue is kind of what I'm getting at right that makes Viaducts kind of operate at Airbnb scale that being said what is there is truly the core of Viaduct and what we run internally so you know it's kind of what you see is what you get in that case awesome well yeah that's just github.com slash Airbnb slash Viaduct so obviously anyone curious or wanting to just like give it a spin you can head over there i think just as we look ahead we have managed to get pretty far in an episode without once saying ai so this is a change but it would be good to hear you've got some sort of thoughts around graphql and ai and sort of maybe it relates to viaduct or maybe it's sort of just around like where is graphql kind of going from here yeah what are your thoughts there yeah these are all kind of early thoughts, I suppose, but I'll, I'll kind of give some opinions.

47:06I think that with the way AI is going, you know, it's very clear and I'm an avid user of, you know, all the new fancy agentic tools, right. Every day to, to code. Right. And I think it's pretty clear that software engineering is going to change a lot. It's not going to go away. It's already changed a lot, but it's going to change a lot, a lot, right. In the next say three to five years, receive them. And it's not going to go away. There's still going to be engineers. We're still going to code. We might not write a lot of code by hand, but we're still going to be responsible for code. And in that world, I think that having really strong patterns of how to build stuff is going to be really, really important, especially in enterprise type of scenarios, Right.

47:54Large companies, you know, more than, say, 500 or a thousand engineers working on a thing. I mean, anyone can go vibe code some back end and spin something up and have it do something. Right. And don't get me wrong. That can actually take you really, really far. I'm a big proponent of like stay in the monolith. Don't do anything crazy. Just like put everything on one server or whatever and scale your startup that way. Right. But once you get to a certain size and again, it's not just around like QPS or something like that. It's really, you know, this concept of sort of like programming in the large.

48:28Right. Like you have to work with a lot of people and you have to build a lot of things that all have to work together. Right. That's really where a system like Viaduct or there are other systems that are like Viaduct, I suppose, really can play a major role. So I see a pretty clear future for both simplifying architectures in large companies. Services don't die, but maybe there's a considerable collapse of how many services there actually are. We figure out how to scale these things, scale the number of people working on a single service a lot better than we've done in the past. And I guess not just scale people, but agents.

49:09we teach AI how to help us with our operations, right? We kind of are doing some self-healing type of things, making sure that AI understands our deployments, the observability systems, all those types of components, right? So I think that's why this move toward building these really stable managed platforms is actually going to benefit a lot of folks in this AI world because our agents just want to write code. They don't want to like set up all the infrastructure because that's the type of thing that is like, that's not going away. Like I forget who I was listening to on software engineering daily.

49:52It might've been maybe the, uh, I can't remember. Well, anyway, whoever it was, they made a great point. You're a listener, which is always great. So, Oh, it was the, it was the owner, the owner folks that are building the USB get pod, right. That are building. autonomous agents, right? And it's funny, I actually, one of my other lives at Airbnb, when I kind of like took a break from GraphQL for a little bit, was building our internal remote development product. So the stuff that Gitpod and now Ona has worked on is near and dear to my heart. But they made a great point, which is that you spin up agents and they write a bunch of code, right?

50:29But like at the end of the day, you still have to deploy the code. You still have to observe the code. You still have to do something with the code when the service dies, right? And breaks, right? And you have an incident, right? And while AI can help with all of those things, managing that entire software development lifecycle is not going to be something that a single AI agent is going to be able to do for a long time. I mean, I won't say never, but it's going to take a long time for us to get there. And so having these managed platforms be like critical pieces of infrastructure in large companies.

51:05And then I'd say, when, if you're a small company, you know, you'd be using, you know, the Vercels and whatnot, fly.io is whatever to build your backends on top of. You just need it because I don't think you can do it without it, honestly. I think that's a really good point. I think that we're probably still relying at the moment on a lot of, as we should be, but like human in the loop. And where, yeah, taking APIs as an example, like if whichever model you're working with, like is able to grok. I'm not saying Grok has to be that service. I just mean literally Grok it. Grok the API well, then fantastic.

51:40But there probably has to be a more systematic way around these models understanding how and where they should go to fetch data and to fetch it safely and so on and so forth. Exactly. Yes. And so that brings me to the GraphQL point. I actually think there's been some folks that are like, GraphQL is too complicated. Nobody needs it except for the absolute largest companies. Right. And, you know, I think there's some truth to a lot of what the critics say about GraphQL. However, I actually think that, like, I mean, maybe you don't like the GraphQL protocol or whatever, but the general idea of having a strongly typed data oriented schema that represents all of your core business data.

52:24and then you expose that through a query language or a protocol that both humans and machines know how to easily query and it's flexible right that's the flexibility thing is really the important piece here you know because everyone could say well you just do that with rpc or rest or whatever right but it's the flexibility that graphql gives you to kind of build these queries that represent exactly what you want when you want it i actually i don't know i'm biased obviously but i think like There could be a bit of a resurgence in GraphQL. And I think as somebody who maintains a GraphQL-oriented platform, I think the easier we can make it to write scalable backends using that technology, I think it'll actually benefit folks in the AI world.

53:09And I think to your point about accessing data, you know, thinking about folks as backend engineers, especially working at large companies in complicated systems. Yeah. Like, are you going to teach your AI about the nuances of every single service and every single API that every single service in your company vends and responds with? Or could you teach it about a, you know, kind of unified graph of all of your data and all the relationships are already encoded there and things like that? and that seems pretty powerful for sure no i think that's a really good point i mean it's not like we haven't seen technology resurgences of late postgres seems like the obvious one that sort of kept getting overlooked for a good decade i would say i happened to work with it for a long time yeah i'm a big postgres fan as well yeah yeah but then you know mongodb came along no sequel etc and but i think that's a great place to leave it i think that i think sort of highlighting where all this kind of fits into the landscape today is is great and i mean as as we sort of called out if you want to check out viaduct viaduct repo that's github slash airbnb slash viaduct otherwise are you on like x twitter or anything where you talk to developers like where to find you yeah i'm on x at skevy s-k-e-v-y i'm pretty much everywhere on the internet as at skevy uh so if you if you see a skevy it's probably me and yeah please you know folks find even the idea of viaduct interesting even if maybe it's not you know directly maybe maybe you can't use it for whatever reason because it's you know a java thing and you work in a typescript shop or whatever you know i think if you want to come to viaduct also has a discord now i think it's in linkedin or readme but if you come to discord or you come and start a getup issue or discussion you know we'd love to talk to you about what you know skip scaling big data oriented service mesh you know at your at your company awesome well adam thank you so much for coming on learned a ton today maybe you know in a couple years we'll be talking again and let's see how the how the ai side of this is all played out as well yeah absolutely hope so it'll be a very interesting next couple years that's for sure for sure all right thank you so much again thanks a lot gregor Thank you.

From the publisher

Engineering teams often build microservices as their systems grow, but over time this can lead to a fragmented ecosystem with scattered data access patterns, duplicated business logic, and an uneven developer experience. A unified data graph with a consistent execution layer helps address these challenges by centralizing schema, simplifying how teams compose functionality, and reducing

The post Airbnb’s Open-Source GraphQL Framework with Adam Miskiewicz appeared first on Software Engineering Daily.

More from Software Engineering Daily

All 195 episodes
Airbnb’s Open-Source GraphQL Framework with Adam MiskiewiczSoftware Engineering Daily · 56 min
Listen in VO