SlideShare ist ein Scribd-Unternehmen logo
1 von 70
Downloaden Sie, um offline zu lesen
Airbnb’sGreatMigration:
BuildingAPIsatScale
JESSICA TAI • 24 APRIL 2019 • API DAYS
SINGAPORE
@jessicamtai
2014
@jessicamtai
2015+
@jessicamtai
Hi,I’mJessica.

Ipairprogram

withmycorgi.
Agenda
1. Why migrate
2. Service design tenets
3. Decomposition
4. Best practices
5. Cultural shifts
6. Results
@jessicamtai
Monorail,ourRubyonRailsmonolith
@jessicamtai
Agenda
1. Whymigrate
2. Service design tenets
3. Decomposition
4. Best practices
5. Cultural shifts
6. Results
@jessicamtai
@jessicamtai
Howcanwescale

thegrowingteam?
@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
Agenda
1. Why migrate
2. Servicedesigntenets
3. Decomposition
4. Best practices
5. Cultural shifts
6. Results
@jessicamtai
Servicesaddressaspecificconcern
@jessicamtai
Eachdatasourceaccessedby
oneread,onewriteAPI @jessicamtai
Scalefortomorrow
@jessicamtai
Buildforproduction
@jessicamtai
Agenda
1. Why migrate
2. Service design tenets
3. Decomposition
4. Best practices
5. Cultural shifts
6. Results
@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
Whattomigratefirst?
@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
Agenda
1. Why migrate
2. Service design tenets
3. Decomposition
4. Bestpractices
5. Cultural shifts
6. Results
@jessicamtai
Frameworks
Auto-generate code
Documentation
Updated upon deployment
Observability
Templates
Standardizeservices&APIs
SCALE WITH CONSISTENCY
@jessicamtai
Migrationcomparisonframework
Monorail
Service
Database
Monorail response
Service response
Consumer + 

offline
comparison
framework
Offline
queryable
metrics
@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
@jessicamtai
@jessicamtai
Agenda
1. Why migrate
2. Service design tenets
3. Decomposition
4. Best practices
5. Culturalshifts
6. Results
@jessicamtai
2016: 

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

shipthingsquickly
@jessicamtai
Incrementalmigration
@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
Agenda
1. Why migrate
2. Service design tenets
3. Decomposition
4. Best practices
5. Cultural shifts
6. Results
@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
500+ 67%
Deploys in MonorailEngineers
2016
@jessicamtai
500+ 67%
Deploys in MonorailEngineers
1400+ 3.5%
2016
2019
@jessicamtai
Production traffic via API Gateway
45%
@jessicamtai
450+ 2.4k+
API endpointsServices
IDL
@jessicamtai
@jessicamtai
OurcurrentSOA
@jessicamtai
/findHomeListById
/fetchReservations
/loadReviewsForUser
/getAvailability
/createMessage
/setBusinessTravel
/getCancellations
/calculateHomeDemand
/fetchDates
/getUser
Checkout presentation service
HowcanweimproveourAPIs?
@jessicamtai
Home Pricing
Availability
Host&guest
users
Reservation
Checkout presentation service
@jessicamtai
Easyandquicktowrite
@jessicamtai
• Prepare for a long commitment
• Decompose incrementally
• Scale via standardization with frameworks, tools
• Shift development culture
SOAmigration
TAKEAWAYS
@jessicamtai
@JESSICAMTAI
LINKEDIN.COM/IN/JESSICATAI
API DAYS SINGAPORE 2019

Weitere ähnliche Inhalte

Was ist angesagt?

API Frenzy: API Strategy 101
API Frenzy: API Strategy 101API Frenzy: API Strategy 101
API Frenzy: API Strategy 101Akana
 
Lean Method for Building Good APIs for Business – APIOps Cycles
Lean Method for Building Good APIs for Business – APIOps CyclesLean Method for Building Good APIs for Business – APIOps Cycles
Lean Method for Building Good APIs for Business – APIOps CyclesNordic APIs
 
Core Dimensions of API Management
Core Dimensions of API ManagementCore Dimensions of API Management
Core Dimensions of API ManagementFaisal Banaeamah
 
API Economy - Cuomo
API Economy - Cuomo API Economy - Cuomo
API Economy - Cuomo Prolifics
 
APIdays London 2019 - Value in the API Economy: Insights from the world’s lar...
APIdays London 2019 - Value in the API Economy: Insights from the world’s lar...APIdays London 2019 - Value in the API Economy: Insights from the world’s lar...
APIdays London 2019 - Value in the API Economy: Insights from the world’s lar...apidays
 
API Management in Digital Transformation
API Management in Digital TransformationAPI Management in Digital Transformation
API Management in Digital TransformationAditya Thatte
 
APIdays Paris 2018 - API Culture Enabling Bi-Modal IT Laure Jouffre, API Prog...
APIdays Paris 2018 - API Culture Enabling Bi-Modal IT Laure Jouffre, API Prog...APIdays Paris 2018 - API Culture Enabling Bi-Modal IT Laure Jouffre, API Prog...
APIdays Paris 2018 - API Culture Enabling Bi-Modal IT Laure Jouffre, API Prog...apidays
 
How API became key to Whispir's growth strategy - Gartner AADI 2016
How API became key to Whispir's growth strategy - Gartner AADI 2016How API became key to Whispir's growth strategy - Gartner AADI 2016
How API became key to Whispir's growth strategy - Gartner AADI 2016Jordan Walsh
 
Considerations For an API Strategy - Ronnie MItra API Architect Layer 7 Londo...
Considerations For an API Strategy - Ronnie MItra API Architect Layer 7 Londo...Considerations For an API Strategy - Ronnie MItra API Architect Layer 7 Londo...
Considerations For an API Strategy - Ronnie MItra API Architect Layer 7 Londo...CA API Management
 
API Economy: 2016 Horizonwatch Trend Brief
API Economy:  2016 Horizonwatch Trend BriefAPI Economy:  2016 Horizonwatch Trend Brief
API Economy: 2016 Horizonwatch Trend BriefBill Chamberlin
 
API Management Part 1 - An Introduction to Azure API Management
API Management Part 1 - An Introduction to Azure API ManagementAPI Management Part 1 - An Introduction to Azure API Management
API Management Part 1 - An Introduction to Azure API ManagementBizTalk360
 
The API Economy: Adding Business Value
The API Economy: Adding Business ValueThe API Economy: Adding Business Value
The API Economy: Adding Business ValueSmartBear
 
Realizing SOA and API Convergence
Realizing SOA and API ConvergenceRealizing SOA and API Convergence
Realizing SOA and API ConvergenceAkana
 
Open API and API Management - Introduction and Comparison of Products: TIBCO ...
Open API and API Management - Introduction and Comparison of Products: TIBCO ...Open API and API Management - Introduction and Comparison of Products: TIBCO ...
Open API and API Management - Introduction and Comparison of Products: TIBCO ...Kai Wähner
 
Alexio Cassani - Start-up & API Economy: opportunità e benefici | Codemotion ...
Alexio Cassani - Start-up & API Economy: opportunità e benefici | Codemotion ...Alexio Cassani - Start-up & API Economy: opportunità e benefici | Codemotion ...
Alexio Cassani - Start-up & API Economy: opportunità e benefici | Codemotion ...Codemotion
 
apidays LIVE Paris - Marketplace API modernization: how to scale your busines...
apidays LIVE Paris - Marketplace API modernization: how to scale your busines...apidays LIVE Paris - Marketplace API modernization: how to scale your busines...
apidays LIVE Paris - Marketplace API modernization: how to scale your busines...apidays
 

Was ist angesagt? (20)

API Frenzy: API Strategy 101
API Frenzy: API Strategy 101API Frenzy: API Strategy 101
API Frenzy: API Strategy 101
 
Lean Method for Building Good APIs for Business – APIOps Cycles
Lean Method for Building Good APIs for Business – APIOps CyclesLean Method for Building Good APIs for Business – APIOps Cycles
Lean Method for Building Good APIs for Business – APIOps Cycles
 
Core Dimensions of API Management
Core Dimensions of API ManagementCore Dimensions of API Management
Core Dimensions of API Management
 
API Economy - Cuomo
API Economy - Cuomo API Economy - Cuomo
API Economy - Cuomo
 
APIdays London 2019 - Value in the API Economy: Insights from the world’s lar...
APIdays London 2019 - Value in the API Economy: Insights from the world’s lar...APIdays London 2019 - Value in the API Economy: Insights from the world’s lar...
APIdays London 2019 - Value in the API Economy: Insights from the world’s lar...
 
API Management in Digital Transformation
API Management in Digital TransformationAPI Management in Digital Transformation
API Management in Digital Transformation
 
APIdays Paris 2018 - API Culture Enabling Bi-Modal IT Laure Jouffre, API Prog...
APIdays Paris 2018 - API Culture Enabling Bi-Modal IT Laure Jouffre, API Prog...APIdays Paris 2018 - API Culture Enabling Bi-Modal IT Laure Jouffre, API Prog...
APIdays Paris 2018 - API Culture Enabling Bi-Modal IT Laure Jouffre, API Prog...
 
How API became key to Whispir's growth strategy - Gartner AADI 2016
How API became key to Whispir's growth strategy - Gartner AADI 2016How API became key to Whispir's growth strategy - Gartner AADI 2016
How API became key to Whispir's growth strategy - Gartner AADI 2016
 
Considerations For an API Strategy - Ronnie MItra API Architect Layer 7 Londo...
Considerations For an API Strategy - Ronnie MItra API Architect Layer 7 Londo...Considerations For an API Strategy - Ronnie MItra API Architect Layer 7 Londo...
Considerations For an API Strategy - Ronnie MItra API Architect Layer 7 Londo...
 
API Economy: 2016 Horizonwatch Trend Brief
API Economy:  2016 Horizonwatch Trend BriefAPI Economy:  2016 Horizonwatch Trend Brief
API Economy: 2016 Horizonwatch Trend Brief
 
API Management
API ManagementAPI Management
API Management
 
Web API Management
Web API ManagementWeb API Management
Web API Management
 
API Management Part 1 - An Introduction to Azure API Management
API Management Part 1 - An Introduction to Azure API ManagementAPI Management Part 1 - An Introduction to Azure API Management
API Management Part 1 - An Introduction to Azure API Management
 
The API Economy: Adding Business Value
The API Economy: Adding Business ValueThe API Economy: Adding Business Value
The API Economy: Adding Business Value
 
Open api in enterprise
Open api in enterpriseOpen api in enterprise
Open api in enterprise
 
Realizing SOA and API Convergence
Realizing SOA and API ConvergenceRealizing SOA and API Convergence
Realizing SOA and API Convergence
 
Open API and API Management - Introduction and Comparison of Products: TIBCO ...
Open API and API Management - Introduction and Comparison of Products: TIBCO ...Open API and API Management - Introduction and Comparison of Products: TIBCO ...
Open API and API Management - Introduction and Comparison of Products: TIBCO ...
 
Api economy
Api economyApi economy
Api economy
 
Alexio Cassani - Start-up & API Economy: opportunità e benefici | Codemotion ...
Alexio Cassani - Start-up & API Economy: opportunità e benefici | Codemotion ...Alexio Cassani - Start-up & API Economy: opportunità e benefici | Codemotion ...
Alexio Cassani - Start-up & API Economy: opportunità e benefici | Codemotion ...
 
apidays LIVE Paris - Marketplace API modernization: how to scale your busines...
apidays LIVE Paris - Marketplace API modernization: how to scale your busines...apidays LIVE Paris - Marketplace API modernization: how to scale your busines...
apidays LIVE Paris - Marketplace API modernization: how to scale your busines...
 

Ähnlich wie [ApiDays Sngapore 2019] PDF - Airbnb's Great Migration: Building service APIs 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 ArchitectureJessica Tai
 
[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 ScaleJessica Tai
 
[MicroCPH 2019] Airbnb's Great Migration: Building Services at Scale
[MicroCPH 2019] Airbnb's Great Migration: Building Services at Scale[MicroCPH 2019] Airbnb's Great Migration: Building Services at Scale
[MicroCPH 2019] Airbnb's Great Migration: Building Services at ScaleJessica Tai
 
Staying Ahead in the Age of Innovation: Tips for a Successful Site Migration
Staying Ahead in the Age of Innovation: Tips for a Successful Site MigrationStaying Ahead in the Age of Innovation: Tips for a Successful Site Migration
Staying Ahead in the Age of Innovation: Tips for a Successful Site MigrationConductor
 
Building Business Applications in Office 365 SharePoint Online Using Logic Apps
Building Business Applications in Office 365 SharePoint Online Using Logic AppsBuilding Business Applications in Office 365 SharePoint Online Using Logic Apps
Building Business Applications in Office 365 SharePoint Online Using Logic AppsPrashant G Bhoyar (Microsoft MVP)
 
Techorama 2014 - Azure API management and Service Virtualization
Techorama 2014 - Azure API management and Service VirtualizationTechorama 2014 - Azure API management and Service Virtualization
Techorama 2014 - Azure API management and Service VirtualizationSam Vanhoutte
 
How and why we evolved a legacy Java web application to Scala... and we are s...
How and why we evolved a legacy Java web application to Scala... and we are s...How and why we evolved a legacy Java web application to Scala... and we are s...
How and why we evolved a legacy Java web application to Scala... and we are s...Katia Aresti
 
Build and Host Real-world Machine Learning Services from Scratch @ pycontw2019
Build and Host Real-world Machine Learning Services from Scratch @ pycontw2019 Build and Host Real-world Machine Learning Services from Scratch @ pycontw2019
Build and Host Real-world Machine Learning Services from Scratch @ pycontw2019 Chun-Yu Tseng
 
Presenting Data – An Alternative to the View Control
Presenting Data – An Alternative to the View ControlPresenting Data – An Alternative to the View Control
Presenting Data – An Alternative to the View ControlTeamstudio
 
Building multiplatform share point solutions
Building multiplatform share point solutionsBuilding multiplatform share point solutions
Building multiplatform share point solutionsMorio Kumagawa
 
Migration to Modern SQL Server Platform
Migration to Modern SQL Server PlatformMigration to Modern SQL Server Platform
Migration to Modern SQL Server PlatformIndra Dharmawan
 
Tricks and Tips in Migrating to Office 365 and On-Premises to acoid migration...
Tricks and Tips in Migrating to Office 365 and On-Premises to acoid migration...Tricks and Tips in Migrating to Office 365 and On-Premises to acoid migration...
Tricks and Tips in Migrating to Office 365 and On-Premises to acoid migration...Mike Maadarani
 
Testing RESTful Web Services
Testing RESTful Web ServicesTesting RESTful Web Services
Testing RESTful Web ServicesTechWell
 
Hybrid SharePoint Strategy with Office 365
Hybrid SharePoint Strategy with Office 365Hybrid SharePoint Strategy with Office 365
Hybrid SharePoint Strategy with Office 365Netwoven Inc.
 
Prospectus Editing Tool (PET)
Prospectus Editing Tool (PET)Prospectus Editing Tool (PET)
Prospectus Editing Tool (PET)MrJ1971
 
Streamlining Workflows: Unleashing Automation with Azure and Power Automate
Streamlining Workflows: Unleashing Automation with Azure and Power AutomateStreamlining Workflows: Unleashing Automation with Azure and Power Automate
Streamlining Workflows: Unleashing Automation with Azure and Power AutomateHamida Rebai Trabelsi
 
Prospectus editing at the University of Bristol- an overview:TERMINALFOUR t44...
Prospectus editing at the University of Bristol- an overview:TERMINALFOUR t44...Prospectus editing at the University of Bristol- an overview:TERMINALFOUR t44...
Prospectus editing at the University of Bristol- an overview:TERMINALFOUR t44...Terminalfour
 
Power b iwithaiandhybridbievent_techcloudtree
Power b iwithaiandhybridbievent_techcloudtreePower b iwithaiandhybridbievent_techcloudtree
Power b iwithaiandhybridbievent_techcloudtreeMohamed Ashiq Faleel
 

Ähnlich wie [ApiDays Sngapore 2019] PDF - Airbnb's Great Migration: Building service APIs at scale (20)

[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
 
[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
 
[MicroCPH 2019] Airbnb's Great Migration: Building Services at Scale
[MicroCPH 2019] Airbnb's Great Migration: Building Services at Scale[MicroCPH 2019] Airbnb's Great Migration: Building Services at Scale
[MicroCPH 2019] Airbnb's Great Migration: Building Services at Scale
 
Staying Ahead in the Age of Innovation: Tips for a Successful Site Migration
Staying Ahead in the Age of Innovation: Tips for a Successful Site MigrationStaying Ahead in the Age of Innovation: Tips for a Successful Site Migration
Staying Ahead in the Age of Innovation: Tips for a Successful Site Migration
 
Building Business Applications in Office 365 SharePoint Online Using Logic Apps
Building Business Applications in Office 365 SharePoint Online Using Logic AppsBuilding Business Applications in Office 365 SharePoint Online Using Logic Apps
Building Business Applications in Office 365 SharePoint Online Using Logic Apps
 
Techorama 2014 - Azure API management and Service Virtualization
Techorama 2014 - Azure API management and Service VirtualizationTechorama 2014 - Azure API management and Service Virtualization
Techorama 2014 - Azure API management and Service Virtualization
 
How and why we evolved a legacy Java web application to Scala... and we are s...
How and why we evolved a legacy Java web application to Scala... and we are s...How and why we evolved a legacy Java web application to Scala... and we are s...
How and why we evolved a legacy Java web application to Scala... and we are s...
 
Build and Host Real-world Machine Learning Services from Scratch @ pycontw2019
Build and Host Real-world Machine Learning Services from Scratch @ pycontw2019 Build and Host Real-world Machine Learning Services from Scratch @ pycontw2019
Build and Host Real-world Machine Learning Services from Scratch @ pycontw2019
 
Katpro Technologies- SharePoint Portfolio
Katpro Technologies- SharePoint PortfolioKatpro Technologies- SharePoint Portfolio
Katpro Technologies- SharePoint Portfolio
 
Presenting Data – An Alternative to the View Control
Presenting Data – An Alternative to the View ControlPresenting Data – An Alternative to the View Control
Presenting Data – An Alternative to the View Control
 
Building multiplatform share point solutions
Building multiplatform share point solutionsBuilding multiplatform share point solutions
Building multiplatform share point solutions
 
Migration to Modern SQL Server Platform
Migration to Modern SQL Server PlatformMigration to Modern SQL Server Platform
Migration to Modern SQL Server Platform
 
Super charged prototyping
Super charged prototypingSuper charged prototyping
Super charged prototyping
 
Tricks and Tips in Migrating to Office 365 and On-Premises to acoid migration...
Tricks and Tips in Migrating to Office 365 and On-Premises to acoid migration...Tricks and Tips in Migrating to Office 365 and On-Premises to acoid migration...
Tricks and Tips in Migrating to Office 365 and On-Premises to acoid migration...
 
Testing RESTful Web Services
Testing RESTful Web ServicesTesting RESTful Web Services
Testing RESTful Web Services
 
Hybrid SharePoint Strategy with Office 365
Hybrid SharePoint Strategy with Office 365Hybrid SharePoint Strategy with Office 365
Hybrid SharePoint Strategy with Office 365
 
Prospectus Editing Tool (PET)
Prospectus Editing Tool (PET)Prospectus Editing Tool (PET)
Prospectus Editing Tool (PET)
 
Streamlining Workflows: Unleashing Automation with Azure and Power Automate
Streamlining Workflows: Unleashing Automation with Azure and Power AutomateStreamlining Workflows: Unleashing Automation with Azure and Power Automate
Streamlining Workflows: Unleashing Automation with Azure and Power Automate
 
Prospectus editing at the University of Bristol- an overview:TERMINALFOUR t44...
Prospectus editing at the University of Bristol- an overview:TERMINALFOUR t44...Prospectus editing at the University of Bristol- an overview:TERMINALFOUR t44...
Prospectus editing at the University of Bristol- an overview:TERMINALFOUR t44...
 
Power b iwithaiandhybridbievent_techcloudtree
Power b iwithaiandhybridbievent_techcloudtreePower b iwithaiandhybridbievent_techcloudtree
Power b iwithaiandhybridbievent_techcloudtree
 

Kürzlich hochgeladen

PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiesPE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiessarkmank1
 
Hospital management system project report.pdf
Hospital management system project report.pdfHospital management system project report.pdf
Hospital management system project report.pdfKamal Acharya
 
Wadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptxWadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptxNadaHaitham1
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTbhaskargani46
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityMorshed Ahmed Rahath
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.Kamal Acharya
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startQuintin Balsdon
 
Moment Distribution Method For Btech Civil
Moment Distribution Method For Btech CivilMoment Distribution Method For Btech Civil
Moment Distribution Method For Btech CivilVinayVitekari
 
Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdfKamal Acharya
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationBhangaleSonal
 
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best ServiceTamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Servicemeghakumariji156
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayEpec Engineered Technologies
 
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...Amil baba
 
Engineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planesEngineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planesRAJNEESHKUMAR341697
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaOmar Fathy
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VDineshKumar4165
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdfKamal Acharya
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxmaisarahman1
 
Computer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to ComputersComputer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to ComputersMairaAshraf6
 

Kürzlich hochgeladen (20)

PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiesPE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and properties
 
Hospital management system project report.pdf
Hospital management system project report.pdfHospital management system project report.pdf
Hospital management system project report.pdf
 
Wadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptxWadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptx
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna Municipality
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
Moment Distribution Method For Btech Civil
Moment Distribution Method For Btech CivilMoment Distribution Method For Btech Civil
Moment Distribution Method For Btech Civil
 
Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdf
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equation
 
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best ServiceTamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
 
Engineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planesEngineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planes
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdf
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
 
Computer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to ComputersComputer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to Computers
 

[ApiDays Sngapore 2019] PDF - Airbnb's Great Migration: Building service APIs at scale