SlideShare a Scribd company logo
Airbnb’sGreatMigration:

BuildingServicesatScale
JESSICA TAI / MAY 15-16, 2019 / MICROCPH - COPENHAGEN
@jessicamtai
2014
@jessicamtai
2015+
@jessicamtai
Hi,I’mJessica.

Ipairprogram

withmycorgi.
Why migrate? Service design tenets
Incremental

comparison
Best practices Results
Decomposition
@jessicamtai
Why migrate?
Best practices Results
Incremental

comparison
Service design tenets
Decomposition
@jessicamtai
Why migrate?
Best practices Results
Incremental

comparison
Service design tenets
Decomposition
@jessicamtai
Why migrate?
Best practices Results
Incremental

comparison
Service design tenets
Decomposition
@jessicamtai
Why migrate?
Best practices Results
Incremental

comparison
Service design tenets
Decomposition
@jessicamtai
Why migrate?
Best practices Results
Incremental

comparison
Service design tenets
Decomposition
@jessicamtai
Monorail,ourRubyonRailsmonolith
@jessicamtai
Easystartwithmonoliths
EARLY AIRBNB
Client traffic
Shared
database
Monorail
Data access query
Business logic
Presentation view
@jessicamtai
@jessicamtai
@jessicamtai
WHY DECIDE TO MIGRATE?
@jessicamtai
@jessicamtai
Moreincidents Slowerdeploytrains
@jessicamtai
Moreincidents Slowerdeploytrains
@jessicamtai
Oursolution:Service-orientedarchitecture(SOA)
NETWORK OF LOOSELY-COUPLED SERVICES
@jessicamtai
Client
API Gateway
Service 1
Service 2 Service 3
Data store Data store
CheckoutpageinSOA
@jessicamtai
Homes service
Reservation service
Review service
Availability service
Messaging service
Business travel service
Cancellation service
Homes demand service
Pricing service
User
service
Checkout page service
SERVICE DESIGN TENETS
@jessicamtai
Servicesownreads&writes

totheirdata @jessicamtai
Servicesaddressaspecificconcern
@jessicamtai
Avoidduplicatefunctionality
https://www.flickr.com/photos/popilop/331357312
@jessicamtai
Datamutationspropagate

viastandardevents @jessicamtai
Buildforproduction
@jessicamtai
DECOMPOSE BY

REQUEST LIFE CYCLE
@jessicamtai
Requestlifecycle
Client traffic
Shared
database
Monorail
Data access query
Business logic
Presentation view
V1: MONORAIL
@jessicamtai
Requestlifecycle
Monorail
API traffic
Routing & view
Business logic, model, data 

via services
Client traffic
V2: MONORAIL & SERVICES
@jessicamtai
MIDDLE TIER
Shared business logic
Servicetypes
STRICT FLOW OF DEPENDENCIES
PRESENTATION
Synthesize
DERIVED DATA
Shared context, multiple sources
DATA
Entity read and writes
@jessicamtai
MIDDLE TIER
Shared business logic
PRESENTATION
Synthesize
DERIVED DATA
Shared context, multiple sources
DATA
Entity read and writes
Servicetypes
STRICT FLOW OF DEPENDENCIES
@jessicamtai
MIDDLE TIER
Shared business logic
PRESENTATION
Synthesize
DERIVED DATA
Shared context, multiple sources
DATA
Entity read and writes
Servicetypes
STRICT FLOW OF DEPENDENCIES
@jessicamtai
MIDDLE TIER
Shared business logic
DERIVED DATA
Shared context, multiple sources
DATA
Entity read and writes
PRESENTATION
Synthesize
Servicetypes
STRICT FLOW OF DEPENDENCIES
@jessicamtai
PRESENTATION
Synthesize
MIDDLE TIER
Shared business logic
DERIVED DATA
Shared context, multiple sources
DATA
Entity read and writes
Servicetypes
STRICT FLOW OF DEPENDENCIES
@jessicamtai
Homes
H O S T E D B Y K I T T Y   ·   A P T O S , C A L I F O R N I A
Mushroom Dome
@jessicamtai
Homes data
service
Shared
database
Monorail
Data access query
Business logic
1.Migratecoredatamodels
Presentation view
Homes
database
@jessicamtai
Homes data
service
Shared
database
Monorail
Data access query
Business logic
2.Migratecorebusinesslogic
Presentation view
Homes
database
Pricing derived
data service
Pricing trends
data store
@jessicamtai
Homes data
service
Shared
database
Monorail
Data access query
Business logic
3.Migratecoreproductviews
Presentation view
Homes
database
Pricing derived
data service
Pricing trends
data store
Checkout
presentation
service
@jessicamtai
Homes data
service
Shared
database
Monorail
Data access query
Business logic
4.Migratecoreproductwrites
Presentation view
Homes
database
Homes
validation
middle-tier
Pricing derived
data service
Pricing trends
data store
Checkout
presentation
service
@jessicamtai
Requestlifecycle
Monorail
API traffic
Routing & view
Client traffic
V2: MONORAIL & SERVICES
@jessicamtai
Business logic, model, data 

via services
Requestlifecycle
API gateway
Middleware
Session data
service
Authentication
data service
Oauth data
service
Risk derived 

data service
...
Request

context
Presentation, logic, data
V3: SOA & API GATEWAY
Routing
@jessicamtai
Requestlifecycle
API gateway
Middleware
Session data
service
Authentication
data service
Oauth data
service
Risk derived 

data service
...
Request

context
Web rendering
service
HTML viewV3: SOA & API GATEWAY
Routing
@jessicamtai
Presentation, logic, data
Monolith
world
Services
world
TheFutureTM
@jessicamtai
Migration
world
Monolith
world
Services
world
@jessicamtai
COMPARE FOR DIFFERENCES
@jessicamtai
Dualreadcomparison
WaitRamp&waitCompareGate
Admin web UI
configuration
1% traffic Gradual
increments
Gather traffic
patterns
All traffic through
service only
Switch
Read path A
Read path BMonorail
Service
Database
@jessicamtai
Dualreadcomparison
WaitRamp&waitCompareGate
Admin web UI
configuration
1% traffic Gradual
increments
Gather traffic
patterns
All traffic through
service only
Switch
Monorail
Service
Database
Response A
Response B
Consumer + 

offline
comparison
framework
@jessicamtai
Dualreadcomparison
WaitRamp&waitCompareGate
Admin web UI
configuration
1% traffic Gradual
increments
Gather traffic
patterns
All traffic through
service only
Switch
Monorail
Service
Database
Response A
Response B
Consumer + 

offline
comparison
framework
@jessicamtai
Dualreadcomparison
WaitRamp&waitCompareGate
Admin web UI
configuration
1% traffic Gradual
increments
Gather traffic
patterns
All traffic through
service only
Switch
Production

traffic
Monorail
Service
Database
Response A
Response B
Consumer + 

offline
comparison
framework
@jessicamtai
Dualreadcomparison
WaitRamp&waitCompareGate
Admin web UI
configuration
1% traffic Gradual
increments
Gather traffic
patterns
All traffic through
service only
Switch
Production

traffic
Monorail
Service
Database
Response A
Response B
Consumer + 

offline
comparison
framework
@jessicamtai
Dualreadcomparison
WaitRamp&waitCompareGate
Admin web UI
configuration
1% traffic Gradual
increments
Gather traffic
patterns
All traffic through
service only
Switch
100%
Monorail
Service
Database
Response A
Response B
Consumer + 

offline
comparison
framework
@jessicamtai
Dualreadcomparison
WaitRamp&waitCompareGate
Admin web UI
configuration
1% traffic Gradual
increments
Gather traffic
patterns
All traffic through
service only
Switch
@jessicamtai
Monorail
Service
Database
Response A
Response B
Consumer + 

offline
comparison
framework
Dualreadcomparison
WaitRamp&waitCompareGate
Admin web UI
configuration
1% traffic Gradual
increments
Gather traffic
patterns
All traffic through
service only
Switch
Monorail
Service
Database
The only read path
@jessicamtai
Writecomparison
DUAL WRITE TO SEPARATE DATABASES
Presentation service
Write validation
middle tier service
Write path A
Write path B
Data service
(production)
Data service
(shadow)
Consumer + 

offline comparison
framework
Monorail
Payload A Payload B
@jessicamtai
s
Writecomparison
DUAL WRITE TO SEPARATE DATABASES
Presentation service
Write validation
middle tier service
The only write path
Data service
(shadow)
Monorail
@jessicamtai
APIgatewaycomparison
API gateway
Presentation service
Product logic
Monorail
Product logic
Original request 

(no middleware applied)
Shadow request 

with context
Add request context
@jessicamtai
Middleware
@jessicamtai
Shadow

request copy
APIgatewaycomparison
API gateway
Presentation service
Product logic
Request 

with context
Middleware
@jessicamtai
Incrementalmigration
@jessicamtai
! Production traffic with partially complete service
○ e.g. batch API /loadUsers
○ Fetch users only by user id
! Unblock clients
Migratebyendpoint
@jessicamtai
Migratebyattribute
Service Monorail
Database
Read migrated

attributes
Read not-yet-migrated 

attributes
Database
Presentation service
Production traffic
@jessicamtai
SOA BEST PRACTICES
@jessicamtai
Frameworks
Auto-generate code
Testing&deploying
Replay production traffic
Observability
Standard templates
Standardizeservicebuilding
SCALE WITH CONSISTENCY
@jessicamtai
Service
Service&clientsetup
Business logic
@jessicamtai
Service
Service&clientsetup
Business logic
Endpoint logic
Server
transport
@jessicamtai
Service
Service&clientsetup
Business logic
Endpoint logic
Server
transport
Java client
Ruby client
Client
transport
Client
transport
@jessicamtai
Service
Service&clientsetup
Business logic
Server metrics
Server
diagnostics
Startup /
teardown
Endpoint logic
Metrics
Data
validation
Server
transport
Server
resilience
Java client
Ruby client
Metrics
Client
transport
Data
validation
Error
handling
Resilience
Metrics
Client
transport
Data
validation
Error
handling
Resilience
Type
checking
@jessicamtai
Service
Endpoint logic
Service&clientsetup
Business logic
Server metrics
Server
diagnostics
Startup /
teardown
Dashboard
Dashboard
Alert
Alert
Alert
Runbook
documentation
Metrics
Data
validation
Server
transport
Server
resilience
Java client
Ruby client
Metrics
Client
transport
Data
validation
Error
handling
Resilience
Metrics
Client
transport
Data
validation
Error
handling
Resilience
Type
checking
@jessicamtai
Service
Endpoint logic
Service&clientsetup
Business logic
Server metrics
Server
diagnostics
Startup /
teardown
Dashboard
Dashboard
Alert
Alert
Alert
Runbook
documentation
Metrics
Data
validation
Server
transport
Server
resilience
Java client
Ruby client
Metrics
Client
transport
Data
validation
Error
handling
Resilience
Metrics
Client
transport
Data
validation
Error
handling
Resilience
Type
checking
@jessicamtai
FrameworksusingThrift

InterfaceDescriptionLanguage(IDL)
@jessicamtai
IDL
Service
Endpoint logic
Business logic
Server metrics
Server
diagnostics
Startup /
teardown
Dashboard
Dashboard
Alert
Alert
Alert
Runbook
documentation
Metrics
Data
validation
Server
transport
Server
resilience
Java client
Ruby client
Metrics
Client
transport
Data
validation
Error
handling
Resilience
Metrics
Client
transport
Data
validation
Error
handling
Resilience
Type
checking
@jessicamtai
ThriftIDL
API FRAMEWORK
/** Batch request for demo data */
struct LoadSomeDataRequest {
1: optional set<i64> ids
/** Some extra context baz */
2: optional bool fooBar (personal)
}
@jessicamtai
ThriftIDL
API FRAMEWORK
/** id to data response */
struct LoadSomeDataResponse {
1: optional map<i64, SomeData> data
}
@jessicamtai
/** Batch request for demo data */
struct LoadSomeDataRequest {
1: optional set<i64> ids
/** Some extra context baz */
2: optional bool fooBar (personal)
}
ThriftIDL
API FRAMEWORK
@jessicamtai
/** /loadSomeData batch endpoint */

LoadSomeDataResponse loadSomeData


(1: LoadSomeDataRequest request)

throws (1: SomeException exception1)(
ThriftIDL
API FRAMEWORK
@jessicamtai
accept_replay = "true",



rate_limit = “true",
/** /loadSomeData batch endpoint */

LoadSomeDataResponse loadSomeData


(1: LoadSomeDataRequest request)

throws (1: SomeException exception1)(
ThriftIDL
API FRAMEWORK
@jessicamtai
accept_replay = "true",



rate_limit = “true",
slo_error_budget_percent = “0.1”,



slo_success_rate = “99",


slo_success_rate_interval_minutes = "5",

)
/** /loadSomeData batch endpoint */

LoadSomeDataResponse loadSomeData


(1: LoadSomeDataRequest request)

throws (1: SomeException exception1)(
Thrift annotations
@jessicamtai
Block comments 

from .thrift file
@jessicamtai
TRY TRY AGAIN SUCCESS
FAIL FAST
@jessicamtai
Separateasync
workerthreadpools
Graceful
degradation
@jessicamtai
Testing&deploying
TIMELINE
ProductionCanaryDiffyStaging
@jessicamtai
Localdev
Testing&deploying
TIMELINE
ProductionCanaryDiffyStagingLocaldev
Dev
environment
supports shared
dev services
@jessicamtai
Testing&deploying
TIMELINE
Replayed
production
traffic with
other staging
services
ProductionCanaryDiffyStagingLocaldev
@jessicamtai
Testing&deploying
TIMELINE
ProductionCanaryDiffyStagingLocaldev
Compare
responses from
staging against
production
@jessicamtai
RegressionTesting
DIFFY
Staging
(new code)
Primary 

(old code)
Secondary
(old code)
Raw response
differences
Non-

deterministic
noise
Filtered
response
differences
Diffy
Replayed traffic
github.com/twitter/diffy
@jessicamtai
Testing&deploying
TIMELINE
ProductionCanaryDiffyStagingLocaldev
Deploy to single
instance of
production
@jessicamtai
Testing&deploying
TIMELINE
ProductionCanaryDiffyStagingLocaldev
Confidently
deploy to prod
@jessicamtai
@jessicamtai
@jessicamtai
EMPOWERING THE MIGRATION
@jessicamtai
2016: 

One small infra team
Airbnb’s SOA progress
@jessicamtai
Productculture:

shipthingsquickly
@jessicamtai
Orgchallenges:

servicebuildinginparallel
@jessicamtai
Product
Frontend

Monorail
Infrastructure
Backend
Monorail+services
Volunteer

sysops

on-call
@jessicamtai
@jessicamtai
Product
Frontend

Monorail
Infrastructure
Backend
Monorail+services
Volunteer

sysops

on-call
On-callrotationperteam
SERVICE OWNERSHIP
Checkout
service
Pricing service User service
Product Team Infrastructure Team
@jessicamtai
PROGRESS SO FAR?
@jessicamtai
2016: 

One small infra team
2019: 

Whole engineering org
Airbnb’s SOA progress
@jessicamtai
! Faster build & deploy times
○ Hours (Monorail) to minutes (service)
○ Fewer reverts
! Quicker bug fixes
! Increased developer productivity & happiness
Promisinginitialresults
SUCCESS
@jessicamtai
! Lower latency from parallelization
○ Ruby monorail single-threaded
○ Java services multi-threaded
! Search results page 3x faster
! Homes description page 10x faster!
Latencyresults
SUCCESS
@jessicamtai
Monorailfreeze
@jessicamtai
500+ 67%
Deploys in MonorailEngineers
2016
@jessicamtai
500+ 67%
Deploys in MonorailEngineers
1500+ 3%
2016
2019
@jessicamtai
Production traffic via API Gateway
45%
@jessicamtai
IDL services in production0
450+
@jessicamtai
@jessicamtai
OurcurrentSOA
@jessicamtai
/findHomeListById
/fetchReservations
/loadReviewsForUser
/getAvailability
/createMessage
/setBusinessTravel
/getCancellations
/calculateHomeDemand
/fetchDates
/getUser
Checkout presentation service
Home Pricing
Availability
Host&guest
users
Reservation
Checkout presentation service
@jessicamtai
SOAhasitschallenges
CAUTION
@jessicamtai
Distributedservices
CAUTION
@jessicamtai
Multiple,overlappingmigrations
CAUTION
@jessicamtai
Complexserviceorchestration
CAUTION
@jessicamtai
SOAmigration
TAKEAWAYS
@jessicamtai
! Prepare for a long commitment
! Decompose incrementally
! Invest in frameworks, tools, infra teams to scale
! Shift development culture
Lookbothways

duringyourGreatMigration
@jessicamtai
@JESSICAMTAI
MICROCPH 2019

More Related Content

What's hot

Product Roadmap - May 2018
Product Roadmap - May 2018Product Roadmap - May 2018
Product Roadmap - May 2018
eMoney Advisor LLC
 
Learn from the Experts: Using DORA Metrics to Accelerate Value Stream Flow
Learn from the Experts: Using DORA Metrics to Accelerate Value Stream FlowLearn from the Experts: Using DORA Metrics to Accelerate Value Stream Flow
Learn from the Experts: Using DORA Metrics to Accelerate Value Stream Flow
DevOps.com
 
Product vision workshop
Product vision workshopProduct vision workshop
Product vision workshop
Serbian Product Community
 
Development Best Practices
Development Best PracticesDevelopment Best Practices
Development Best Practices
Salesforce Partners
 
Measuring and Improving CX as a PM by fmr Twilio Staff PM
Measuring and Improving CX as a PM by fmr Twilio Staff PMMeasuring and Improving CX as a PM by fmr Twilio Staff PM
Measuring and Improving CX as a PM by fmr Twilio Staff PM
Product School
 
Product Led Growth Strategy
Product Led Growth StrategyProduct Led Growth Strategy
Product Led Growth Strategy
Mickey Alon
 
Customer Lifecycle CTA's
Customer Lifecycle CTA'sCustomer Lifecycle CTA's
Customer Lifecycle CTA's
Gainsight
 
Why should quality content and links always go hand in hand? .pptx
Why should quality content and links  always go hand in hand?  .pptxWhy should quality content and links  always go hand in hand?  .pptx
Why should quality content and links always go hand in hand? .pptx
AlexandraTachalova
 
Product Roadmap
Product RoadmapProduct Roadmap
Product Roadmap
Thang Nguyen
 
API Docs with OpenAPI 3.0
API Docs with OpenAPI 3.0API Docs with OpenAPI 3.0
API Docs with OpenAPI 3.0
Fabrizio Ferri-Benedetti
 
Investor Pitch Deck / Presentation - BradleyBirchall.com's favourite slides
Investor Pitch Deck / Presentation  - BradleyBirchall.com's favourite slidesInvestor Pitch Deck / Presentation  - BradleyBirchall.com's favourite slides
Investor Pitch Deck / Presentation - BradleyBirchall.com's favourite slides
Bradley Birchall
 
Customer Centricity and Product Led Growth by Airbnb Product & Growth
Customer Centricity and Product Led Growth by Airbnb Product & Growth Customer Centricity and Product Led Growth by Airbnb Product & Growth
Customer Centricity and Product Led Growth by Airbnb Product & Growth
Product School
 
Startup Workshop #2: Business Model Canvas
Startup Workshop #2: Business Model CanvasStartup Workshop #2: Business Model Canvas
Startup Workshop #2: Business Model Canvas
Milan Vukas
 
Agile Product Roadmaps
Agile Product RoadmapsAgile Product Roadmaps
Agile Product Roadmaps
Roman Pichler
 
SonarQube: Continuous Code Inspection
SonarQube: Continuous Code InspectionSonarQube: Continuous Code Inspection
SonarQube: Continuous Code Inspection
Michael Jesse
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
Amazon Web Services
 
Business Model Canvas (Dr. Htet Zan Linn)
Business Model Canvas (Dr. Htet Zan Linn)Business Model Canvas (Dr. Htet Zan Linn)
Business Model Canvas (Dr. Htet Zan Linn)
Htet Zan Linn
 
Business Model Canvas
Business Model CanvasBusiness Model Canvas
Business Model Canvas
Handaru Sakti
 
Rajakarthik Resume - QA Automation
Rajakarthik Resume - QA AutomationRajakarthik Resume - QA Automation
Rajakarthik Resume - QA Automation
rajakarthikr
 
Product Brief - The Primary Artefact by Spotify Product Manager
Product Brief - The Primary Artefact by Spotify Product ManagerProduct Brief - The Primary Artefact by Spotify Product Manager
Product Brief - The Primary Artefact by Spotify Product Manager
Product School
 

What's hot (20)

Product Roadmap - May 2018
Product Roadmap - May 2018Product Roadmap - May 2018
Product Roadmap - May 2018
 
Learn from the Experts: Using DORA Metrics to Accelerate Value Stream Flow
Learn from the Experts: Using DORA Metrics to Accelerate Value Stream FlowLearn from the Experts: Using DORA Metrics to Accelerate Value Stream Flow
Learn from the Experts: Using DORA Metrics to Accelerate Value Stream Flow
 
Product vision workshop
Product vision workshopProduct vision workshop
Product vision workshop
 
Development Best Practices
Development Best PracticesDevelopment Best Practices
Development Best Practices
 
Measuring and Improving CX as a PM by fmr Twilio Staff PM
Measuring and Improving CX as a PM by fmr Twilio Staff PMMeasuring and Improving CX as a PM by fmr Twilio Staff PM
Measuring and Improving CX as a PM by fmr Twilio Staff PM
 
Product Led Growth Strategy
Product Led Growth StrategyProduct Led Growth Strategy
Product Led Growth Strategy
 
Customer Lifecycle CTA's
Customer Lifecycle CTA'sCustomer Lifecycle CTA's
Customer Lifecycle CTA's
 
Why should quality content and links always go hand in hand? .pptx
Why should quality content and links  always go hand in hand?  .pptxWhy should quality content and links  always go hand in hand?  .pptx
Why should quality content and links always go hand in hand? .pptx
 
Product Roadmap
Product RoadmapProduct Roadmap
Product Roadmap
 
API Docs with OpenAPI 3.0
API Docs with OpenAPI 3.0API Docs with OpenAPI 3.0
API Docs with OpenAPI 3.0
 
Investor Pitch Deck / Presentation - BradleyBirchall.com's favourite slides
Investor Pitch Deck / Presentation  - BradleyBirchall.com's favourite slidesInvestor Pitch Deck / Presentation  - BradleyBirchall.com's favourite slides
Investor Pitch Deck / Presentation - BradleyBirchall.com's favourite slides
 
Customer Centricity and Product Led Growth by Airbnb Product & Growth
Customer Centricity and Product Led Growth by Airbnb Product & Growth Customer Centricity and Product Led Growth by Airbnb Product & Growth
Customer Centricity and Product Led Growth by Airbnb Product & Growth
 
Startup Workshop #2: Business Model Canvas
Startup Workshop #2: Business Model CanvasStartup Workshop #2: Business Model Canvas
Startup Workshop #2: Business Model Canvas
 
Agile Product Roadmaps
Agile Product RoadmapsAgile Product Roadmaps
Agile Product Roadmaps
 
SonarQube: Continuous Code Inspection
SonarQube: Continuous Code InspectionSonarQube: Continuous Code Inspection
SonarQube: Continuous Code Inspection
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
 
Business Model Canvas (Dr. Htet Zan Linn)
Business Model Canvas (Dr. Htet Zan Linn)Business Model Canvas (Dr. Htet Zan Linn)
Business Model Canvas (Dr. Htet Zan Linn)
 
Business Model Canvas
Business Model CanvasBusiness Model Canvas
Business Model Canvas
 
Rajakarthik Resume - QA Automation
Rajakarthik Resume - QA AutomationRajakarthik Resume - QA Automation
Rajakarthik Resume - QA Automation
 
Product Brief - The Primary Artefact by Spotify Product Manager
Product Brief - The Primary Artefact by Spotify Product ManagerProduct Brief - The Primary Artefact by Spotify Product Manager
Product Brief - The Primary Artefact by Spotify Product Manager
 

Similar to [MicroCPH 2019] Airbnb's Great Migration: Building Services at Scale

[Codemotion Milan 2019] Airbnb's Great Migration - Building Services at Scale
[Codemotion Milan 2019] Airbnb's Great Migration - Building Services at Scale[Codemotion Milan 2019] Airbnb's Great Migration - Building Services at Scale
[Codemotion Milan 2019] Airbnb's Great Migration - Building Services at Scale
Jessica Tai
 
[ScaleConf 2020] How to Tame Your Microservices: Evolving Airbnb's Architecture
[ScaleConf 2020] How to Tame Your Microservices: Evolving Airbnb's Architecture[ScaleConf 2020] How to Tame Your Microservices: Evolving Airbnb's Architecture
[ScaleConf 2020] How to Tame Your Microservices: Evolving Airbnb's Architecture
Jessica Tai
 
[ApiDays Sngapore 2019] PDF - Airbnb's Great Migration: Building service APIs...
[ApiDays Sngapore 2019] PDF - Airbnb's Great Migration: Building service APIs...[ApiDays Sngapore 2019] PDF - Airbnb's Great Migration: Building service APIs...
[ApiDays Sngapore 2019] PDF - Airbnb's Great Migration: Building service APIs...
Jessica Tai
 
APIdays Singapore 2019 - Airbnb's Great Migration: Service APIs at scale, Jes...
APIdays Singapore 2019 - Airbnb's Great Migration: Service APIs at scale, Jes...APIdays Singapore 2019 - Airbnb's Great Migration: Service APIs at scale, Jes...
APIdays Singapore 2019 - Airbnb's Great Migration: Service APIs at scale, Jes...
apidays
 
Services, Apps and the API Powered Web
Services, Apps and the API Powered WebServices, Apps and the API Powered Web
Services, Apps and the API Powered Web
Steven Willmott
 
Becoming a Connected Insurer With API-led Connectivity
Becoming a Connected Insurer With API-led ConnectivityBecoming a Connected Insurer With API-led Connectivity
Becoming a Connected Insurer With API-led Connectivity
Bui Kiet
 
Becoming a Connected Insurer With API-led Connectivity
Becoming a Connected Insurer With API-led ConnectivityBecoming a Connected Insurer With API-led Connectivity
Becoming a Connected Insurer With API-led Connectivity
MuleSoft
 
Semantic Web Process Lifecycle: Role of Semantics in Annotation, Discovery, C...
Semantic Web Process Lifecycle: Role of Semantics in Annotation, Discovery, C...Semantic Web Process Lifecycle: Role of Semantics in Annotation, Discovery, C...
Semantic Web Process Lifecycle: Role of Semantics in Annotation, Discovery, C...
Amit Sheth
 
Testing RESTful Web Services
Testing RESTful Web ServicesTesting RESTful Web Services
Testing RESTful Web Services
TechWell
 
apidays LIVE JAKARTA - Event Driven APIs by Phil Scanlon
apidays LIVE JAKARTA - Event Driven APIs by Phil Scanlonapidays LIVE JAKARTA - Event Driven APIs by Phil Scanlon
apidays LIVE JAKARTA - Event Driven APIs by Phil Scanlon
apidays
 
Applying an IBM SOA Approach to Manual Processes Automation
Applying an IBM SOA Approach to Manual Processes AutomationApplying an IBM SOA Approach to Manual Processes Automation
Applying an IBM SOA Approach to Manual Processes Automation
Prolifics
 
Building Event Driven (Micro)services with Apache Kafka
Building Event Driven (Micro)services with Apache KafkaBuilding Event Driven (Micro)services with Apache Kafka
Building Event Driven (Micro)services with Apache Kafka
Guido Schmutz
 
Semantic Web Process Lifecycle:
Semantic Web Process Lifecycle: Semantic Web Process Lifecycle:
Semantic Web Process Lifecycle:
Amit Sheth
 
Building Event-Driven (Micro)Services with Apache Kafka
Building Event-Driven (Micro)Services with Apache KafkaBuilding Event-Driven (Micro)Services with Apache Kafka
Building Event-Driven (Micro)Services with Apache Kafka
Guido Schmutz
 
Future Trends in FSI
Future Trends in FSIFuture Trends in FSI
Future Trends in FSI
Amazon Web Services
 
2019 devoxx - apis, microservices, et le service mesh
2019 devoxx - apis, microservices, et le service mesh2019 devoxx - apis, microservices, et le service mesh
2019 devoxx - apis, microservices, et le service mesh
Joel Gauci
 
Building event-driven Microservices with Kafka Ecosystem
Building event-driven Microservices with Kafka EcosystemBuilding event-driven Microservices with Kafka Ecosystem
Building event-driven Microservices with Kafka Ecosystem
Guido Schmutz
 
Jitterbit at Phillyforce
Jitterbit at PhillyforceJitterbit at Phillyforce
Jitterbit at Phillyforce
Jitterbit
 
Amtrak: Integration And SOA Gartner AADI Dec 2009
Amtrak: Integration And SOA Gartner AADI Dec 2009Amtrak: Integration And SOA Gartner AADI Dec 2009
Amtrak: Integration And SOA Gartner AADI Dec 2009
jshah0209
 
Competitive EDGE - Data Driven Differentiation
Competitive EDGE - Data Driven DifferentiationCompetitive EDGE - Data Driven Differentiation
Competitive EDGE - Data Driven Differentiation
Akamai Technologies
 

Similar to [MicroCPH 2019] Airbnb's Great Migration: Building Services at Scale (20)

[Codemotion Milan 2019] Airbnb's Great Migration - Building Services at Scale
[Codemotion Milan 2019] Airbnb's Great Migration - Building Services at Scale[Codemotion Milan 2019] Airbnb's Great Migration - Building Services at Scale
[Codemotion Milan 2019] Airbnb's Great Migration - Building Services at Scale
 
[ScaleConf 2020] How to Tame Your Microservices: Evolving Airbnb's Architecture
[ScaleConf 2020] How to Tame Your Microservices: Evolving Airbnb's Architecture[ScaleConf 2020] How to Tame Your Microservices: Evolving Airbnb's Architecture
[ScaleConf 2020] How to Tame Your Microservices: Evolving Airbnb's Architecture
 
[ApiDays Sngapore 2019] PDF - Airbnb's Great Migration: Building service APIs...
[ApiDays Sngapore 2019] PDF - Airbnb's Great Migration: Building service APIs...[ApiDays Sngapore 2019] PDF - Airbnb's Great Migration: Building service APIs...
[ApiDays Sngapore 2019] PDF - Airbnb's Great Migration: Building service APIs...
 
APIdays Singapore 2019 - Airbnb's Great Migration: Service APIs at scale, Jes...
APIdays Singapore 2019 - Airbnb's Great Migration: Service APIs at scale, Jes...APIdays Singapore 2019 - Airbnb's Great Migration: Service APIs at scale, Jes...
APIdays Singapore 2019 - Airbnb's Great Migration: Service APIs at scale, Jes...
 
Services, Apps and the API Powered Web
Services, Apps and the API Powered WebServices, Apps and the API Powered Web
Services, Apps and the API Powered Web
 
Becoming a Connected Insurer With API-led Connectivity
Becoming a Connected Insurer With API-led ConnectivityBecoming a Connected Insurer With API-led Connectivity
Becoming a Connected Insurer With API-led Connectivity
 
Becoming a Connected Insurer With API-led Connectivity
Becoming a Connected Insurer With API-led ConnectivityBecoming a Connected Insurer With API-led Connectivity
Becoming a Connected Insurer With API-led Connectivity
 
Semantic Web Process Lifecycle: Role of Semantics in Annotation, Discovery, C...
Semantic Web Process Lifecycle: Role of Semantics in Annotation, Discovery, C...Semantic Web Process Lifecycle: Role of Semantics in Annotation, Discovery, C...
Semantic Web Process Lifecycle: Role of Semantics in Annotation, Discovery, C...
 
Testing RESTful Web Services
Testing RESTful Web ServicesTesting RESTful Web Services
Testing RESTful Web Services
 
apidays LIVE JAKARTA - Event Driven APIs by Phil Scanlon
apidays LIVE JAKARTA - Event Driven APIs by Phil Scanlonapidays LIVE JAKARTA - Event Driven APIs by Phil Scanlon
apidays LIVE JAKARTA - Event Driven APIs by Phil Scanlon
 
Applying an IBM SOA Approach to Manual Processes Automation
Applying an IBM SOA Approach to Manual Processes AutomationApplying an IBM SOA Approach to Manual Processes Automation
Applying an IBM SOA Approach to Manual Processes Automation
 
Building Event Driven (Micro)services with Apache Kafka
Building Event Driven (Micro)services with Apache KafkaBuilding Event Driven (Micro)services with Apache Kafka
Building Event Driven (Micro)services with Apache Kafka
 
Semantic Web Process Lifecycle:
Semantic Web Process Lifecycle: Semantic Web Process Lifecycle:
Semantic Web Process Lifecycle:
 
Building Event-Driven (Micro)Services with Apache Kafka
Building Event-Driven (Micro)Services with Apache KafkaBuilding Event-Driven (Micro)Services with Apache Kafka
Building Event-Driven (Micro)Services with Apache Kafka
 
Future Trends in FSI
Future Trends in FSIFuture Trends in FSI
Future Trends in FSI
 
2019 devoxx - apis, microservices, et le service mesh
2019 devoxx - apis, microservices, et le service mesh2019 devoxx - apis, microservices, et le service mesh
2019 devoxx - apis, microservices, et le service mesh
 
Building event-driven Microservices with Kafka Ecosystem
Building event-driven Microservices with Kafka EcosystemBuilding event-driven Microservices with Kafka Ecosystem
Building event-driven Microservices with Kafka Ecosystem
 
Jitterbit at Phillyforce
Jitterbit at PhillyforceJitterbit at Phillyforce
Jitterbit at Phillyforce
 
Amtrak: Integration And SOA Gartner AADI Dec 2009
Amtrak: Integration And SOA Gartner AADI Dec 2009Amtrak: Integration And SOA Gartner AADI Dec 2009
Amtrak: Integration And SOA Gartner AADI Dec 2009
 
Competitive EDGE - Data Driven Differentiation
Competitive EDGE - Data Driven DifferentiationCompetitive EDGE - Data Driven Differentiation
Competitive EDGE - Data Driven Differentiation
 

Recently uploaded

Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
IJECEIAES
 
Properties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptxProperties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptx
MDSABBIROJJAMANPAYEL
 
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student MemberIEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
VICTOR MAESTRE RAMIREZ
 
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
171ticu
 
People as resource Grade IX.pdf minimala
People as resource Grade IX.pdf minimalaPeople as resource Grade IX.pdf minimala
People as resource Grade IX.pdf minimala
riddhimaagrawal986
 
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
ecqow
 
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
IJECEIAES
 
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
171ticu
 
An improved modulation technique suitable for a three level flying capacitor ...
An improved modulation technique suitable for a three level flying capacitor ...An improved modulation technique suitable for a three level flying capacitor ...
An improved modulation technique suitable for a three level flying capacitor ...
IJECEIAES
 
BRAIN TUMOR DETECTION for seminar ppt.pdf
BRAIN TUMOR DETECTION for seminar ppt.pdfBRAIN TUMOR DETECTION for seminar ppt.pdf
BRAIN TUMOR DETECTION for seminar ppt.pdf
LAXMAREDDY22
 
Seminar on Distillation study-mafia.pptx
Seminar on Distillation study-mafia.pptxSeminar on Distillation study-mafia.pptx
Seminar on Distillation study-mafia.pptx
Madan Karki
 
Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...
IJECEIAES
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
KrishnaveniKrishnara1
 
Curve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods RegressionCurve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods Regression
Nada Hikmah
 
Engineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdfEngineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdf
abbyasa1014
 
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
IJECEIAES
 
Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...
Prakhyath Rai
 
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Sinan KOZAK
 
Material for memory and display system h
Material for memory and display system hMaterial for memory and display system h
Material for memory and display system h
gowrishankartb2005
 
Applications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdfApplications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdf
Atif Razi
 

Recently uploaded (20)

Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
 
Properties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptxProperties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptx
 
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student MemberIEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
 
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
 
People as resource Grade IX.pdf minimala
People as resource Grade IX.pdf minimalaPeople as resource Grade IX.pdf minimala
People as resource Grade IX.pdf minimala
 
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
 
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
 
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
 
An improved modulation technique suitable for a three level flying capacitor ...
An improved modulation technique suitable for a three level flying capacitor ...An improved modulation technique suitable for a three level flying capacitor ...
An improved modulation technique suitable for a three level flying capacitor ...
 
BRAIN TUMOR DETECTION for seminar ppt.pdf
BRAIN TUMOR DETECTION for seminar ppt.pdfBRAIN TUMOR DETECTION for seminar ppt.pdf
BRAIN TUMOR DETECTION for seminar ppt.pdf
 
Seminar on Distillation study-mafia.pptx
Seminar on Distillation study-mafia.pptxSeminar on Distillation study-mafia.pptx
Seminar on Distillation study-mafia.pptx
 
Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
 
Curve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods RegressionCurve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods Regression
 
Engineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdfEngineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdf
 
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
 
Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...
 
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
 
Material for memory and display system h
Material for memory and display system hMaterial for memory and display system h
Material for memory and display system h
 
Applications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdfApplications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdf
 

[MicroCPH 2019] Airbnb's Great Migration: Building Services at Scale