SlideShare uma empresa Scribd logo
1 de 39
Baixar para ler offline
Traps on the Path to
Microservices
George Woskob | New York, NY
©ThoughtWorks 2017 Commercial in Confidence
Once upon a time there was an airline...
2
● Founded in 1937
● By Willbur and Orville Redenbacher
● Pioneer in computerized reservation
system
©ThoughtWorks 2017 Commercial in Confidence
DB
3rd
Party
BIG BALL
OF MUD
(SEPARATION OF CONCERNS?)
FRONT END
4th
Party
..and they had a monolith
3
©ThoughtWorks 2017 Commercial in Confidence
4
©ThoughtWorks 2017 Commercial in Confidence
5
“Microservices are the future!”
-very senior Architect
©ThoughtWorks 2017 Commercial in Confidence
6
©ThoughtWorks 2017 Commercial in Confidence
DB
3rd PARTY
BIG BALL
OF MUD
FRONT END
4th PARTY
FANCY NEW FE
NEW!
NEW!
NEW!
NOSQL!
(NEGLECTED)
ETL
NEW!
...but we ended up here
7
©ThoughtWorks 2017 Commercial in Confidence
8
©ThoughtWorks 2017 Commercial in Confidence
9
©ThoughtWorks 2017 Commercial in Confidence
10
©ThoughtWorks 2017 Commercial in Confidence
The traps
11
UNDERESTIMATING THE
COST OF A MICROSERVICE
OVERCENTRALIZATION
NEGLECTING THE
MONOLITH
Underestimating the cost
of a microservice
Just because you’re doing microservices, doesn’t mean you’re seeing their value
©ThoughtWorks 2017 Commercial in Confidence
Operational costs
13
Additional points of failure
Scaling
Build and deploy pipelines
©ThoughtWorks 2017 Commercial in Confidence
Integration costs
14
With other services
With the monolith
Error handling
©ThoughtWorks 2017 Commercial in Confidence
Developer’s costs
Running several services locally
Test data
Networking config
Interteam communication
15
©ThoughtWorks 2017 Commercial in Confidence
It’s all about automation!
Dev workstation
Test data
Networking
16
©ThoughtWorks 2017 Commercial in Confidence
Contract tests!
17
©ThoughtWorks 2017 Commercial in Confidence
18
Don’t gamble with your architecture
Going all in
©ThoughtWorks 2017 Commercial in Confidence
(Marginal benefit) – (Marginal cost) > 0
19
©ThoughtWorks 2017 Commercial in Confidence
Where do I start?
20
Faster feature development
Encapsulation of business functionality
Optimal technology or design for the task
Scalability needs
Functionality that is “ripe for a rewrite”
©ThoughtWorks 2017 Commercial in Confidence
(Marginal benefit) – (Marginal cost) > 0
21
Overcentralization
All hail the distributed monolith!
©ThoughtWorks 2017 Commercial in Confidence
Technical overcentralization
23
©ThoughtWorks 2017 Commercial in Confidence
Too much shared code
24
Can create complex release dependencies
Can tie you to a particular tech stack
©ThoughtWorks 2017 Commercial in Confidence
Avoiding too much shared code
25
Follow rules of library design
Consensus on standards over shared implementation
No business logic!
©ThoughtWorks 2017 Commercial in Confidence
Organizational overcentralization
26
©ThoughtWorks 2017 Commercial in Confidence
Organizational tollgates
27
PROD
©ThoughtWorks 2017 Commercial in Confidence
Organizational tollgates
28
PROD
©ThoughtWorks 2017 Commercial in Confidence
Organizational tollgates
29
PROD
©ThoughtWorks 2017 Commercial in Confidence
Integrate Ops and QA
with your Dev Teams
30
Neglecting the monolith
Legacy code needs love too!
©ThoughtWorks 2017 Commercial in Confidence
“The monolith will be gone soon!”
32
©ThoughtWorks 2017 Commercial in Confidence
Always be improving your monolith!
(Test it!)
33
©ThoughtWorks 2017 Commercial in Confidence
“Microservices are the panacea!”
34
©ThoughtWorks 2017 Commercial in Confidence
Make sure you actually use the
strangler pattern!
35
©ThoughtWorks 2017 Commercial in Confidence
36
©ThoughtWorks 2017 Commercial in Confidence
The traps
37
UNDERESTIMATING THE
COST OF A MICROSERVICE
OVERCENTRALIZATION
NEGLECTING THE
MONOLITH
©ThoughtWorks 2017 Commercial in Confidence
Some parting words
38
Keep in mind marginal utility!
Make room for autonomy
Own the whole process
Don’t wait for microservices
THANK YOU
For questions or suggestions:
George Woskob
gwoskob@ThoughtWorks.com
Special thanks to Dan Lockman with whom I originally wrote this talk
39

Mais conteúdo relacionado

Semelhante a Traps on the Path to Microservices - Lead Dev 2018

Semelhante a Traps on the Path to Microservices - Lead Dev 2018 (20)

Continuous delivery for IoT
Continuous delivery for IoTContinuous delivery for IoT
Continuous delivery for IoT
 
CompTIA Top 10 Emerging Technologies of 2018
CompTIA Top 10 Emerging Technologies of 2018CompTIA Top 10 Emerging Technologies of 2018
CompTIA Top 10 Emerging Technologies of 2018
 
How far is too far? The Hybrid Cloud Distance Factor
How far is too far? The Hybrid Cloud Distance FactorHow far is too far? The Hybrid Cloud Distance Factor
How far is too far? The Hybrid Cloud Distance Factor
 
Leading Digital Success - Tetris - TOPS
Leading Digital Success - Tetris - TOPSLeading Digital Success - Tetris - TOPS
Leading Digital Success - Tetris - TOPS
 
Performance and Analytics Cloud for Machine Builders
Performance and Analytics Cloud for Machine BuildersPerformance and Analytics Cloud for Machine Builders
Performance and Analytics Cloud for Machine Builders
 
Machine Learning for Product Managers
Machine Learning for Product ManagersMachine Learning for Product Managers
Machine Learning for Product Managers
 
Experiences with Open Source Telecom Software in the Contact Center Industry
Experiences with Open Source Telecom Software in the Contact Center IndustryExperiences with Open Source Telecom Software in the Contact Center Industry
Experiences with Open Source Telecom Software in the Contact Center Industry
 
Full Spectrum Engineering – The New Full-stack
Full Spectrum Engineering – The New Full-stack Full Spectrum Engineering – The New Full-stack
Full Spectrum Engineering – The New Full-stack
 
A CTO always pays his debt - Agile Tour Bordeaux 2017
A CTO always pays his debt - Agile Tour Bordeaux 2017A CTO always pays his debt - Agile Tour Bordeaux 2017
A CTO always pays his debt - Agile Tour Bordeaux 2017
 
Live collaboration on graphical models sirius integrated with cdo
Live collaboration on graphical models sirius integrated with cdoLive collaboration on graphical models sirius integrated with cdo
Live collaboration on graphical models sirius integrated with cdo
 
Why Data Vault?
Why Data Vault?Why Data Vault?
Why Data Vault?
 
[DN Scrum Breakfast] Effective Cloud Computing
[DN Scrum Breakfast] Effective Cloud Computing[DN Scrum Breakfast] Effective Cloud Computing
[DN Scrum Breakfast] Effective Cloud Computing
 
NW BIM 2018 5 RMD
NW BIM 2018 5 RMDNW BIM 2018 5 RMD
NW BIM 2018 5 RMD
 
VTC Interoperability at the IMCCA UC&C Event at Microsoft London
VTC Interoperability at the IMCCA UC&C Event at Microsoft LondonVTC Interoperability at the IMCCA UC&C Event at Microsoft London
VTC Interoperability at the IMCCA UC&C Event at Microsoft London
 
Why microservices architectures drive exceptional customer experiences
Why microservices architectures drive exceptional customer experiencesWhy microservices architectures drive exceptional customer experiences
Why microservices architectures drive exceptional customer experiences
 
Working with walls, floors, and roofs in autodesk revit
Working with walls, floors, and roofs in autodesk revit Working with walls, floors, and roofs in autodesk revit
Working with walls, floors, and roofs in autodesk revit
 
How far is too far? The Hybrid Cloud Distance Factor
How far is too far? The Hybrid Cloud Distance FactorHow far is too far? The Hybrid Cloud Distance Factor
How far is too far? The Hybrid Cloud Distance Factor
 
Welcome to Hybrid Cloud Innovation Tour 2016
Welcome to Hybrid Cloud Innovation Tour 2016Welcome to Hybrid Cloud Innovation Tour 2016
Welcome to Hybrid Cloud Innovation Tour 2016
 
Adobe Advertising Cloud: The Reality of Cloud Bursting with OpenStack
Adobe Advertising Cloud: The Reality of Cloud Bursting with OpenStackAdobe Advertising Cloud: The Reality of Cloud Bursting with OpenStack
Adobe Advertising Cloud: The Reality of Cloud Bursting with OpenStack
 
Arcburo - architectural outsourcing
Arcburo - architectural outsourcingArcburo - architectural outsourcing
Arcburo - architectural outsourcing
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
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
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 

Traps on the Path to Microservices - Lead Dev 2018