SlideShare uma empresa Scribd logo
1 de 114
Airbnb’sGreatMigration:

BuildingServicesatScale
JESSICA TAI / MARCH 4, 2019 / QCON LONDON
InfoQ.com: News & Community Site
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
airbnb-services-scalability
• Over 1,000,000 software developers, architects and CTOs read the site world-
wide every month
• 250,000 senior developers subscribe to our weekly newsletter
• Published in 4 languages (English, Chinese, Japanese and Brazilian
Portuguese)
• Post content from our QCon conferences
• 2 dedicated podcast channels: The InfoQ Podcast, with a focus on
Architecture and The Engineering Culture Podcast, with a focus on building
• 96 deep dives on innovative topics packed as downloadable emags and
minibooks
• Over 40 new content items per week
Purpose of QCon
- to empower software development by facilitating the spread of
knowledge and innovation
Strategy
- practitioner-driven conference designed for YOU: influencers of
change and innovation in your teams
- speakers and topics driving the evolution and innovation
- connecting and catalyzing the influencers and innovators
Highlights
- attended by more than 12,000 delegates since 2007
- held in 9 cities worldwide
Presented at QCon London
www.qconlondon.com
@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
Client
API gateway
Service1
Service2
Database2Database3
Service3
@jessicamtai
CheckoutpageinSOA
Business travel service
Cancellation service
Home demand service
Pricing service
Home service
Reservation service
Messaging service
@jessicamtai
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.Migratingcoredatamodels
Presentation view
Homes
database
@jessicamtai
Homes data
service
Shared
database
Monorail
Data access query
Business logic
2.Migratingcorebusinesslogic
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.Migratingcoreproductviews
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.Migratingcoreproductwrites
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
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%
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
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
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
FrameworksusingThriftIDL
@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 (personal)
/** Some extra context baz */
2: optional bool fooBar
}
/** /loadSomeData batch endpoint */

LoadSomeDataResponse loadSomeData


(1: LoadSomeDataRequest request)

throws (1: SomeException exception1)


(accept_replay = "true", rate_limit = "true")
ThriftIDL
API FRAMEWORK
@jessicamtai
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
1200+ 7%
2016
2019
@jessicamtai
Production traffic via API Gateway
40%
@jessicamtai
IDL services in production0
400+
@jessicamtai
CheckoutpagerequiredmessageinSOA Checkout presentation
Home data
Reservation data
Review data
Pricing
derived data
Home demand
derived data
Cancellation
derived data
Business travel
derived data
Messaging data
@jessicamtai
SOAhasitschallenges
CAUTION
@jessicamtai
Distributedservices
CAUTION
@jessicamtai
Multiple,isolateddatabases
CAUTION
@jessicamtai
Complexserviceorchestration
CAUTION
@jessicamtai
! Prepare for a long commitment
! Decompose incrementally
! Scale with auto-generating frameworks, tools
! Shift development culture
SOAmigration
TAKEAWAYS
@jessicamtai
Lookbothways

duringyourGreatMigration
@jessicamtai
@JESSICAMTAI
QCON LONDON 2019
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
airbnb-services-scalability

Mais conteúdo relacionado

Mais de C4Media

Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDC4Media
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine LearningC4Media
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at SpeedC4Media
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsC4Media
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsC4Media
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerC4Media
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleC4Media
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeC4Media
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereC4Media
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing ForC4Media
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data EngineeringC4Media
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreC4Media
 
Navigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery TeamsNavigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery TeamsC4Media
 
High Performance Cooperative Distributed Systems in Adtech
High Performance Cooperative Distributed Systems in AdtechHigh Performance Cooperative Distributed Systems in Adtech
High Performance Cooperative Distributed Systems in AdtechC4Media
 
Rust's Journey to Async/await
Rust's Journey to Async/awaitRust's Journey to Async/await
Rust's Journey to Async/awaitC4Media
 
Opportunities and Pitfalls of Event-Driven Utopia
Opportunities and Pitfalls of Event-Driven UtopiaOpportunities and Pitfalls of Event-Driven Utopia
Opportunities and Pitfalls of Event-Driven UtopiaC4Media
 
Datadog: a Real-Time Metrics Database for One Quadrillion Points/Day
Datadog: a Real-Time Metrics Database for One Quadrillion Points/DayDatadog: a Real-Time Metrics Database for One Quadrillion Points/Day
Datadog: a Real-Time Metrics Database for One Quadrillion Points/DayC4Media
 
Are We Really Cloud-Native?
Are We Really Cloud-Native?Are We Really Cloud-Native?
Are We Really Cloud-Native?C4Media
 
CockroachDB: Architecture of a Geo-Distributed SQL Database
CockroachDB: Architecture of a Geo-Distributed SQL DatabaseCockroachDB: Architecture of a Geo-Distributed SQL Database
CockroachDB: Architecture of a Geo-Distributed SQL DatabaseC4Media
 
A Dive into Streams @LinkedIn with Brooklin
A Dive into Streams @LinkedIn with BrooklinA Dive into Streams @LinkedIn with Brooklin
A Dive into Streams @LinkedIn with BrooklinC4Media
 

Mais de C4Media (20)

Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CD
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine Learning
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at Speed
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep Systems
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.js
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly Compiler
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix Scale
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's Edge
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home Everywhere
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing For
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data Engineering
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
 
Navigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery TeamsNavigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery Teams
 
High Performance Cooperative Distributed Systems in Adtech
High Performance Cooperative Distributed Systems in AdtechHigh Performance Cooperative Distributed Systems in Adtech
High Performance Cooperative Distributed Systems in Adtech
 
Rust's Journey to Async/await
Rust's Journey to Async/awaitRust's Journey to Async/await
Rust's Journey to Async/await
 
Opportunities and Pitfalls of Event-Driven Utopia
Opportunities and Pitfalls of Event-Driven UtopiaOpportunities and Pitfalls of Event-Driven Utopia
Opportunities and Pitfalls of Event-Driven Utopia
 
Datadog: a Real-Time Metrics Database for One Quadrillion Points/Day
Datadog: a Real-Time Metrics Database for One Quadrillion Points/DayDatadog: a Real-Time Metrics Database for One Quadrillion Points/Day
Datadog: a Real-Time Metrics Database for One Quadrillion Points/Day
 
Are We Really Cloud-Native?
Are We Really Cloud-Native?Are We Really Cloud-Native?
Are We Really Cloud-Native?
 
CockroachDB: Architecture of a Geo-Distributed SQL Database
CockroachDB: Architecture of a Geo-Distributed SQL DatabaseCockroachDB: Architecture of a Geo-Distributed SQL Database
CockroachDB: Architecture of a Geo-Distributed SQL Database
 
A Dive into Streams @LinkedIn with Brooklin
A Dive into Streams @LinkedIn with BrooklinA Dive into Streams @LinkedIn with Brooklin
A Dive into Streams @LinkedIn with Brooklin
 

Último

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 

Último (20)

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

Airbnb’s Great Migration: Building Services at Scale