Airbnb’s migration from monolith to microservices

At Codemotion Milan, Airbnb software engineer Jessica Tai talked about their microservices migration from a Service Orientated Architecture.

The early days at Airbnb

Jessica shares,

Why you need a microservices migration?

Jessica details:

Migrating to Microservices from a Service Orientated Architecture

Airbnb opted for service-oriented architecture (SOA) — a network of loosely coupled services, where some client makes a request flows through an API gateway, and that fans out to various other services, which can call services or other data stores. According to Jessica, “the benefits that we saw for SOA is that each service is built independently and can be scaled separately as well. Smaller teams of engineers could work on a service so it’s much easier to manage the changes. We hoped this would help solve our developer velocity problems, as well as being able to introduce new verticals.”

Principles of Service Design applied to Microservices Migration

  • Read/Write: according to Jessica, “The service should own both the reads and writes to its own data. This means if another service is interested in particular services data, they must go through the owning services API. This helps with consistency and encapsulation of our data.
  • Services should also address a specific concern. “We wanted to avoid taking our monolith and switching to really tiny granular microservices.”
  • Avoid duplicate functionality: “We wanted our services to be larger and focus on business functionality, but not to duplicate this functionality amongst multiple services.”
  • Data mutation should propagate via standard events. “So what this means is if there’s a change to a data store and another service is interested in, it should be able to find out about this change in an asynchronous way.”

--

--

We help tech communities to grow worldwide, providing top-notch tools and unparalleled networking opportunities.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Codemotion

We help tech communities to grow worldwide, providing top-notch tools and unparalleled networking opportunities.