Airbnb
7 min read

Taming Service-Oriented Architecture Using A Data-Oriented Service Mesh

Read Full Article

Summary

The article introduces Viaduct, a data-oriented service mesh developed by Airbnb, aimed at enhancing the modularity of microservices-based Service-Oriented Architecture (SOA). It contrasts traditional procedure-oriented designs with a modern data-oriented approach, emphasizing the importance of organizing services around data rather than procedures. Viaduct leverages GraphQL to create a unified schema that abstracts service dependencies, thereby simplifying data access and improving agility in large-scale applications. The article also discusses the integration of serverless computing for derived-data services, which further streamlines operations and reduces complexity.

Key Learnings

  • 1Transitioning from a procedure-oriented to a data-oriented service mesh can significantly improve modularity and reduce complexity in microservices architectures.
  • 2Utilizing a central GraphQL schema allows for better management of service dependencies and enhances data agility across microservices.
  • 3Serverless functions can effectively handle derived data transformations, minimizing operational overhead and simplifying the service mesh.
  • 4Understanding the implications of schema design on API and database changes can lead to more efficient workflows and reduced coordination efforts among teams.
  • 5Observability at the field level within the data mesh can provide insights into service consumption patterns, aiding in performance optimization.

Who Should Read This

Senior Software Architects designing scalable microservices architectures seeking to improve modularity and data management.

Test Your Knowledge

?

What are the trade-offs between a data-oriented service mesh and a traditional procedure-oriented service mesh?

?

How does Viaduct's approach to schema management facilitate collaboration among multiple teams?

?

In what scenarios might the use of serverless functions for derived data be less effective?

?

What challenges might arise when transitioning existing services to a data-oriented architecture?

?

Why is it important to abstract service dependencies from data consumers in a microservices environment?

Topics

Read Full Article at Airbnb