SlideShare a Scribd company logo
The histories of Microservices
@Steve_Upton
The standard Microservices creation story
The histories of microservices
Monolith
HTTP
Data
Access
Component
Component
Component
Component
...
HTTP
Monolith
HTTP
Data
Access
Component
Component
Component
Component
...
HTTP
Monolith
HTTP
Data
Access
Component
Component
Component
Component
...
HTTP
Hard to scale
Hard to scale
RDBMS was also a SPOF
Hard to scale
RDBMS was also a SPOF and bottleneck
Hard to scale
RDBMS was also a SPOF and bottleneck
Vertical scaling easy, but limited
Hard to scale
RDBMS was also a SPOF and bottleneck
Vertical scaling easy, but limited
Horizontal scaling helpful, but slow and expensive
Hard to scale
RDBMS was also a SPOF and bottleneck
Vertical scaling easy, but limited
Horizontal scaling helpful, but slow and expensive
Scaling the whole monolith was wasteful
“...the average server operates at no more than
12 to 18 percent of its capacity”
Natural Resources Defense Council
Tightly coupled, slow to change
Sharing knowledge of components
Difficult to upgrade without affecting other services
Tightly coupled, slow to change
Sharing knowledge of components
Difficult to upgrade without affecting other services
Sharing libraries, platform, OS etc.
Teams have little choice in setup
Tightly coupled, slow to change
The histories of microservices
The histories of microservices
?
Service
Moving to the cloud
HTTP
Data
Access
Component
Component
Component
...
HTTP
Service
Service
Service
Service
Microservices
HTTP
HTTP
Resilience to failure
Able to isolate failures
Resilience to failure
Able to isolate failures
Resilience to failure
Able to isolate failures
Gracefully adapt to failures
Resilience to failure
Able to isolate failures
Gracefully adapt to failures
Quick recovery
Resilience to failure
Able to isolate failures
Gracefully adapt to failures
Quick recovery
Easy (auto) scaling
Loosely coupled, easy to change
Share contracts, not internals
Little to no knowledge of other services needed
Loosely coupled, easy to change
Share contracts, not internals
Little to no knowledge of other services needed
Teams free to choose OS, language, libraries etc.
Free to upgrade and experiment independently
“In short, the microservice architectural style is an approach to developing
a single application as a suite of small services, each running in its
own process and communicating with lightweight mechanisms, often an
HTTP resource API. These services are built around business
capabilities and independently deployable by fully automated
deployment machinery. There is a bare minimum of centralized
management of these services, which may be written in different
programming languages and use different data storage technologies.”
James Lewis and Martin Fowler, ThoughtWorks
“Loosely coupled service oriented
architecture with bounded contexts”
Adrian Cockcroft, Architect @ Netflix
The histories of microservices
EFFICIENCY
(of delivery)
EFFICIENCY
(of delivery)
SPEED
(of delivery)
https://netflix.github.io/
http://techblog.netflix.com/
Atlas
The histories of microservices
The histories of microservices
The other story
The other story
credit to Fred George
Project delivery cycles
1980 1990 2000 2010
Projectduration(log)
1 week
1 month
1 year
5 years
Project delivery cycles
1980 1990 2000 2010
Projectduration(log)
1 week
1 month
1 year
5 years Waterfall
Project delivery cycles
1980 1990 2000 2010
Projectduration(log)
1 week
1 month
1 year
5 years Waterfall
Waterfall + OO
Project delivery cycles
1980 1990 2000 2010
Projectduration(log)
1 week
1 month
1 year
5 years Waterfall
Waterfall + OO
Agile
Project delivery cycles
1980 1990 2000 2010
Projectduration(log)
1 week
1 month
1 year
5 years Waterfall
Waterfall + OO
Agile
Agile + Lean
Hardware lead times
1990 2000 2010 2015
Orderleadtime(log(ish))
< 1 sec
1 hour
1 week
6 months
5 secs
Hardware lead times
1990 2000 2010 2015
Orderleadtime(log(ish))
< 1 sec
1 hour
1 week
6 months Data center
5 secs
Hardware lead times
1990 2000 2010 2015
Orderleadtime(log(ish))
< 1 sec
1 hour
1 week
6 months Data center
Virtual machines
5 secs
Hardware lead times
1990 2000 2010 2015
Orderleadtime(log(ish))
< 1 sec
1 hour
1 week
6 months Data center
Virtual machines
Commercial
cloud (AWS)
5 secs
PaaS
Hardware lead times
1990 2000 2010 2015
Orderleadtime(log(ish))
< 1 sec
1 hour
1 week
6 months Data center
Virtual machines
Commercial
cloud (AWS)
Docker
FaaS
5 secs
PaaS
Project size
1990 2000 2010 2015
Projectsize(linesofcode)
1,000
10,000
100,000
1,000,000
Project size
1990 2000 2010 2015
Projectsize(linesofcode)
1,000
10,000
100,000
1,000,000 Java
Project size
1990 2000 2010 2015
Projectsize(linesofcode)
1,000
10,000
100,000
1,000,000 Java
Ruby
Project size
1990 2000 2010 2015
Projectsize(linesofcode)
1,000
10,000
100,000
1,000,000 Java
Ruby
Python
Project size
1990 2000 2010 2015
Projectsize(linesofcode)
1,000
10,000
100,000
1,000,000 Java
Ruby
Python
Node.js
Onboarding the new dev...
credit: https://twitter.com/moonpolysoft/status/781868129269919744
Story time
Marx on Microservices
Marx on Microservices
Economic and Philosophic Manuscripts of 1844
Marx on Microservices
Economic and Philosophic Manuscripts of 1844
Gattungswesen (species-being)
Workers feeling a connection to their work
Marx on Microservices
Economic and Philosophic Manuscripts of 1844
Gattungswesen (species-being)
Workers feeling a connection to their work
Entfremdung (alienation)
Workers feel estranged from their work
Products not Projects
“Any piece of software reflects the organizational
structure that produced it”
Conway's Law
Inverse Conway Maneuver?
What sort of organisation do you want to work in?
The other, other story
SOA
Service Oriented Architecture
Service Oriented Architecture
Boundaries are explicit
Service Oriented Architecture
Boundaries are explicit
Services are autonomous
Service Oriented Architecture
Boundaries are explicit
Services are autonomous
Services share schema and contract, not class
Service Oriented Architecture
Boundaries are explicit
Services are autonomous
Services share schema and contract, not class
Service compatibility is based on policy
IBM SOA Foundation
IBM SOA Foundation Reference Architecture
IBM SOA Foundation Reference Architecture logical model
IBM SOA Foundation Reference Architecture solution
Oracle SOA Foundation Reference Architecture (Product Mapping)
Oracle SOA Foundation Reference Architecture
“The latest shiny new technology will not make
things better… If you want spectacular gains,
then you need to make a spectacular
commitment to change.”
Anne Thomas Manes, SOA is Dead; Long Live Services
“... and that’s where we need to concentrate from
this point forward: Services”
Anne Thomas Manes, SOA is Dead; Long Live Services
“Microservices are hard. Some things you get for
free, but you have to work for the good stuff. If
you won’t put in the work, you shouldn’t be doing
Microservices. (You should be doing that stuff
anyway!)”
Steve Upton
“Microservices are hard. Some things you get for
free, but you have to work for the good stuff. If
you won’t put in the work, you shouldn’t be doing
Microservices. (You should be doing that stuff
anyway!)”
Steve Upton
“Microservices are hard. Some things you get for
free, but you have to work for the good stuff. If
you won’t put in the work, you shouldn’t be doing
Microservices. (You should be doing that stuff
anyway!)”
Steve Upton
“Microservices are hard. Some things you get for
free, but you have to work for the good stuff. If
you won’t put in the work, you shouldn’t be doing
Microservices. (You should be doing that stuff
anyway!)”
Steve Upton
“Microservices are hard. Some things you get for
free, but you have to work for the good stuff. If
you won’t put in the work, you shouldn’t be doing
Microservices. (You should be doing that stuff
anyway!)”
Steve Upton
“Microservices are hard. Some things you get for
free, but you have to work for the good stuff. If
you won’t put in the work, you shouldn’t be doing
Microservices. (You should be doing that stuff
anyway!)”
Steve Upton
Questions?
@Steve_Upton
steveupton.io
Essential reading
https://www.infoq.com/articles/cap-twelve-years-later-how-the-rules-have-changed
https://plus.google.com/+RipRowan/posts/eVeouesvaVX
https://engineering.linkedin.com/distributed-systems/log-what-every-software-engi
neer-should-know-about-real-time-datas-unifying
http://martinfowler.com/articles/microservices.html
http://jonasboner.com/bla-bla-microservices-bla-bla/
(honestly, just Google “netflix microservices”, there are loads of good videos)
Good reading
http://highscalability.com/blog/2014/10/27/microservices-in-production-the-good-th
e-bad-the-it-works.html
http://highscalability.com/blog/2014/4/8/microservices-not-a-free-lunch.html

More Related Content

PDF
DSR Microservices (Day 2)
PDF
Serverless is the future... or is it?
PDF
DSR Microservices (Day 1, Part 1)
PDF
DSR microservices
PPTX
Microservices why?
PPTX
The "Why", "What" & "How" of Microservices - short version
PPTX
An introduction to Microservices
PDF
QCon 2015 - Microservices Track Notes
DSR Microservices (Day 2)
Serverless is the future... or is it?
DSR Microservices (Day 1, Part 1)
DSR microservices
Microservices why?
The "Why", "What" & "How" of Microservices - short version
An introduction to Microservices
QCon 2015 - Microservices Track Notes

Similar to The histories of microservices (20)

PDF
Microservices - Hitchhiker's guide to cloud native applications
PDF
Microservices Architecture: Nirvana or Nightmare
PDF
Arquitetura orientada a micro serviços: Nirvana ou pesadelo?
PDF
Whitepaper : Microservices In or Out
PDF
Introduction to Microservices Architecture - SECCOMP 2020
PPTX
The "Why", "What" and "How" of Microservices
PPTX
Microservice intro
PDF
MicroServices, yet another architectural style?
PDF
Microservice - Intro and Discussion
PPTX
building microservices
PPSX
Microservices Architecture, Monolith Migration Patterns
PDF
Microservices Architecture
PDF
A Gentle introduction to microservices
PPTX
Are Microservices our future?
PPT
About microservices on cloud computing services
PPT
Microservices and developer pattern saga
PPT
ZhuSem.ppt
PDF
20141210 - Microservice Container
PPTX
Microservices Architecture & Testing Strategies
PDF
Service Mesh Talk for CTO Forum
Microservices - Hitchhiker's guide to cloud native applications
Microservices Architecture: Nirvana or Nightmare
Arquitetura orientada a micro serviços: Nirvana ou pesadelo?
Whitepaper : Microservices In or Out
Introduction to Microservices Architecture - SECCOMP 2020
The "Why", "What" and "How" of Microservices
Microservice intro
MicroServices, yet another architectural style?
Microservice - Intro and Discussion
building microservices
Microservices Architecture, Monolith Migration Patterns
Microservices Architecture
A Gentle introduction to microservices
Are Microservices our future?
About microservices on cloud computing services
Microservices and developer pattern saga
ZhuSem.ppt
20141210 - Microservice Container
Microservices Architecture & Testing Strategies
Service Mesh Talk for CTO Forum
Ad

More from Steve Upton (7)

PDF
DSR Testing (Part 2)
PDF
DSR Testing (Part 1)
PDF
DSR Microservices (Day 1, Part 2)
PDF
Computers of Apollo
ODP
Inter-service communication
PDF
Agile101
PDF
Mq light in microservices
DSR Testing (Part 2)
DSR Testing (Part 1)
DSR Microservices (Day 1, Part 2)
Computers of Apollo
Inter-service communication
Agile101
Mq light in microservices
Ad

Recently uploaded (20)

PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Cloud computing and distributed systems.
PPTX
Big Data Technologies - Introduction.pptx
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Approach and Philosophy of On baking technology
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Machine learning based COVID-19 study performance prediction
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
Dropbox Q2 2025 Financial Results & Investor Presentation
Per capita expenditure prediction using model stacking based on satellite ima...
Chapter 3 Spatial Domain Image Processing.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Cloud computing and distributed systems.
Big Data Technologies - Introduction.pptx
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Approach and Philosophy of On baking technology
Unlocking AI with Model Context Protocol (MCP)
Digital-Transformation-Roadmap-for-Companies.pptx
Programs and apps: productivity, graphics, security and other tools
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Understanding_Digital_Forensics_Presentation.pptx
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
Machine learning based COVID-19 study performance prediction
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing

The histories of microservices