SlideShare a Scribd company logo
@crichardson
Microservices - an architecture
that enables DevOps
Chris Richardson
Microservice architecture consultant and trainer
Founder of Eventuate.io
Founder of the original CloudFoundry.com
Author of POJOs in Action and Microservices Patterns
@crichardson
chris@chrisrichardson.net
http://adopt.microservices.io
Copyright © 2020. Chris Richardson Consulting, Inc. All rights reserved
@crichardson
What you will learn
Answers to Frequently Asked
Questions about the
Microservice Architecture
@crichardson
About Chris
http://adopt.microservices.io
@crichardson
Discounts
35% discount
mtpsystems20
$120 discount coupon
KLDPZOJE
http://adopt.microservices.io
@crichardson
Agenda
1. What is the microservice architecture?
2. How small is a microservice?
3. Why is the microservice architecture important?
4. Is the monolithic architecture an anti-pattern?
5. What are the key challenges with using microservices?
6. How do you migrate a monolith to a microservice
architecture?
Pattern: microservice
architecture
Highly maintainable and
testable
Minimal lead time (time from
commit to deploy)
Loosely coupled
Independently deployable
Implements a business
capability
Owned/developed/tested/
deployed by a small team
An architectural
style
that structures an
application as a
set of deployable/
executable units,
a.k.a. services
A service is:
@crichardson
Food to Go: Microservice
architecture
Browser
Mobile
Application
API
Gateway
Order
Service
Restaurant
Service
Delivery
Service
…
Service
Order
Database
Restaurant
Database
Delivery
Database
…
Database
REST
REST
JavaScript
Message
Broker
@crichardson
Service architecture “mirrors”
the business
FTGO business
Kitchen Service
Delivery Service
Order Taking
Kitchen
Delivery
Accounting
….
….
Service
Order Service
Accounting Service
Maps to
Maps to
Maps to
Maps to
Maps to
Area of the business,
a.k.a.
Subdomain or Business Capability
@crichardson
API
The structure of a service
Operations
Event
Publisher
Commands
Queries
Synchronous
REST/gRPC
Asynchronous
Messaging
Events
Event
Subscriber
API
Client
Invokes
Operations
Events
Service
Database
Private!
@crichardson
Agenda
1. What is the microservice architecture?
2. How small is a microservice?
3. Why is the microservice architecture important?
4. Is the monolithic architecture an anti-pattern?
5. What are the key challenges with using microservices?
6. How do you migrate a monolith to a microservice
architecture?
@crichardson
Microservices should be
team-sized
Service
https://microservices.io/patterns/decomposition/service-per-team.html
Owned by a
team
Owns one
service
Not to exceed
cognitive capacity of
team
@crichardson
Service too large*: split service
Service
Small, autonomous
team
Service
Service
*Too large => unable to achieve desired -ilities, e.g.
short lead time (build/test/deploy time)
@crichardson
Agenda
1. What is the microservice architecture?
2. How small is a microservice?
3. Why is the microservice architecture important?
4. Is the monolithic architecture an anti-pattern?
5. What are the key challenges with using microservices?
6. How do you migrate a monolith to a microservice
architecture?
@crichardson
https://www.ft.com/content/f9356bdc-3102-11ea-a329-0bcf87a328f2
https://www.ft.com/content/3f498e64-1aa6-11ea-97df-cc63de1d73f4
https://techcrunch.com/2019/06/18/the-rise-of-the-gig-economy-helps-london-based-insurtech-zego-to-raise-42m/
C
O
VID
-19
The marketplace/world is
Volatile, Uncertain,Complex,
Ambiguous
Businesses must be nimble,
agile, and innovate faster
IT must deliver software
rapidly, frequently and reliably
@crichardson
Key development metrics
Faster
More reliable
@crichardson
Success triangle
Process: Lean + DevOps/Continuous Delivery & Deployment
Organization:
Small, loosely coupled,
teams
Architecture:
????
Deliver software
rapidly, frequently,
reliably and
sustainably
Enables
Enables
Required architectural quality
attributes (a.k.a. -ilities)
“Complete their work without
communicating and coordinating with
people outside their team”
“Make large-scale changes to the design
of their system without depending on
other teams to make changes in their
systems or creating significant work for
other teams”
“We can do most of our testing without
requiring an integrated environment.”
“We can and do deploy or release our
application independently of other
applications/services it depends on.”
Loosely coupled
(Conway’s law)
Modular
Testable
Deployable
API encapsulates design decisions
@crichardson
Architecture quality attributes
for sustainable development
Time
Technology A Technology B
V1 V2 V3 V…
Importance
The importance of a technology changes over time
Evolvability - Must be able to upgrade the
technology stack of long-lived applications
@crichardson
Process: Lean + DevOps/Continuous Delivery & Deployment
Architecture:
microservices
Testability
Deployability
Loose coupling
Deliver changes to
long-lived
applications rapidly,
frequently and reliably
Organization: Small, long-
lived, product-centric,
autonomous teams
@crichardson
Microservices experiment safely
and evolve the technology stack
Java
Java
Java
Java
Java
Golang
“GoLang
is cool!”
Java
Java
Java
“Kotlin
is better!”
Java
Kotlin
@crichardson
Agenda
1. What is the microservice architecture?
2. How small is a microservice?
3. Why is the microservice architecture important?
4. Is the monolithic architecture an anti-pattern?
5. What are the key challenges with using microservices?
6. How do you migrate a monolith to a microservice
architecture?
@crichardson
Tomcat/App. Server
Food To Go: Monolithic
architecture
Browser/
Client
WAR/EAR
MySQL
Database
Delivery
management
Order
Management
Kitchen
Management
Web UI
Restaurant
Management
HTML
REST/JSON
The application
-ilities of small monoliths
Testability
Deployability
Maintainability
Modularity
Evolvability
✅
✅
✅
✅
✅
(full rewrite)
@crichardson
Rapid, frequent and reliable delivery
eventually becomes impossible
Time
Maintainability
Testability
Deployability
Modularity
Evolvability
Size/
Complexity
-ilities required to be competitive
Risk of
disruption
@crichardson
Lack of sustainability:
Many decisions are global = difficult/
impossible to change incrementally
Programming language
Versions of dependencies - libraries and
frameworks
…
@crichardson
Agenda
1. What is the microservice architecture?
2. How small is a microservice?
3. Why is the microservice architecture important?
4. Is the monolithic architecture an anti-pattern?
5. What are the key challenges with using microservices?
6. How do you migrate a monolith to a microservice
architecture?
@crichardson
Challenge: complexity of
building a distributed system
Development:
IPC, partial failure
Distributed data - sagas etc
Testing: Integration, end to end, …
Deployment
…
@crichardson
Challenge: minimizing
coupling between services
Minimize design-time coupling
Design-time coupling = services changing in lockdown
Reduces productivity by increasing coordination between teams
How: DRY services, Iceberg services, avoiding shared database/
business logic libraries
Minimize runtime coupling
Runtime coupling - e.g. chains of REST calls
Reduces availability
How: use Self-contained services
@crichardson
Agenda
1. What is the microservice architecture?
2. How small is a microservice?
3. Why is the microservice architecture important?
4. Is the monolithic architecture an anti-pattern?
5. What are the key challenges with using microservices?
6. How do you migrate a monolith to a microservice
architecture?
@crichardson
Strangler
Application
http://www.martinfowler.com/bliki/StranglerApplication.html
Incrementally migrate
functionality
from
existing application
to
new (strangler)
application
@crichardson
Strangling the monolith
Monolith
Time
Monolith
Service
Monolith
Service
Service
Monolith
Service
Service
Service
Service
…. Monolith
Service
Service
Service
Service
Service
Service
Service
Service
Service
Service
Service
Service
Service
Service
Service
Service
….
Strangler application
The strangler application grows larger over time
The monolith shrinks over time
Service
Service
Service
Service
Service
Service
Service
Service
New
features
@crichardsonDatabase
Module
Iteratively: Module => Service
Monolith Service
API Gateway
Request
Module
Request
Monolith
Database
Module
Database
Module
Integration
glue
API
API
@crichardson
Start with the modules that
give you the greatest return
on investment (ROI)
Cost vs. Benefit of extraction
Benefit
Solves a significant
problem
Velocity frequently
updated
Scalability Conflicting
resource requirements
…
Cost
Cost of changing the
monolith and adapting/
rewriting module
Difficulty in decoupling/
breaking dependencies
Need to participate in
sagas/compensating
transactions
@crichardson
Iteratively: New feature = Service
Monolith Service
API Gateway
Request
DatabaseDatabase
Integration
glue
@crichardson
Measuring success
Success != Number of Microservices
Improved metrics:
Reduced lead time
Increased deployment frequency
Reduced changed failure rate
Improvements in other -ilities
…
Anti-pattern:
Microservices as the goal
https://chrisrichardson.net/post/antipatterns/2019/01/14/antipattern-microservices-are-the-goal.html
@crichardson
Summary
Modern enterprises need to deliver software rapidly frequently, reliably and
sustainably
This requires a loosely coupled, modular, testable and deployable
architecture
The monolithic architecture is not anti-pattern but its often best for smaller
applications
The microservice architecture is often better for large/complex
applications
Loosely coupled services are essential
Use the Strangler pattern to migrate a monolith to microservices
@crichardson
@crichardson chris@chrisrichardson.net
http://adopt.microservices.io
Questions?
mtpsystems20 KLDPZOJE

More Related Content

What's hot (20)

PDF
Mucon 2021 - Dark energy, dark matter: imperfect metaphors for designing micr...
Chris Richardson
 
PDF
OReilly SACON London: Potholes in the road from monolithic hell: Microservice...
Chris Richardson
 
PDF
Developing event-driven microservices with event sourcing and CQRS (Shanghai)
Chris Richardson
 
PDF
JFokus: Cubes, Hexagons, Triangles, and More: Understanding Microservices
Chris Richardson
 
PDF
Designing loosely coupled services
Chris Richardson
 
PDF
Overview of the Eventuate Tram Customers and Orders application
Chris Richardson
 
PDF
Oracle CodeOne 2019: Decompose Your Monolith: Strategies for Migrating to Mic...
Chris Richardson
 
PDF
Polyglot persistence for Java developers: time to move out of the relational ...
Chris Richardson
 
PDF
Melbourne Jan 2019 - Microservices adoption anti-patterns: Obstacles to decom...
Chris Richardson
 
PDF
Saturn2017: No such thing as a microservice!
Chris Richardson
 
PDF
Solving distributed data management problems in a microservice architecture (...
Chris Richardson
 
PDF
A pattern language for microservices - June 2021
Chris Richardson
 
PDF
Oracle CodeOne 2019: Descending the Testing Pyramid: Effective Testing Strate...
Chris Richardson
 
PDF
Code Freeze 2018: There is no such thing as a microservice!
Chris Richardson
 
PDF
OReilly SACON2018 - Events on the outside, on the inside, and at the core
Chris Richardson
 
PDF
Oracle Code Sydney - There is no such thing as a microservice!
Chris Richardson
 
PDF
YOW! Perth: Cubes, Hexagons, Triangles, and More: Understanding the Microserv...
Chris Richardson
 
PDF
Developing Event-driven Microservices with Event Sourcing & CQRS (gotoams)
Chris Richardson
 
PDF
MicroCPH - Managing data consistency in a microservice architecture using Sagas
Chris Richardson
 
PDF
Events to the rescue: solving distributed data problems in a microservice arc...
Chris Richardson
 
Mucon 2021 - Dark energy, dark matter: imperfect metaphors for designing micr...
Chris Richardson
 
OReilly SACON London: Potholes in the road from monolithic hell: Microservice...
Chris Richardson
 
Developing event-driven microservices with event sourcing and CQRS (Shanghai)
Chris Richardson
 
JFokus: Cubes, Hexagons, Triangles, and More: Understanding Microservices
Chris Richardson
 
Designing loosely coupled services
Chris Richardson
 
Overview of the Eventuate Tram Customers and Orders application
Chris Richardson
 
Oracle CodeOne 2019: Decompose Your Monolith: Strategies for Migrating to Mic...
Chris Richardson
 
Polyglot persistence for Java developers: time to move out of the relational ...
Chris Richardson
 
Melbourne Jan 2019 - Microservices adoption anti-patterns: Obstacles to decom...
Chris Richardson
 
Saturn2017: No such thing as a microservice!
Chris Richardson
 
Solving distributed data management problems in a microservice architecture (...
Chris Richardson
 
A pattern language for microservices - June 2021
Chris Richardson
 
Oracle CodeOne 2019: Descending the Testing Pyramid: Effective Testing Strate...
Chris Richardson
 
Code Freeze 2018: There is no such thing as a microservice!
Chris Richardson
 
OReilly SACON2018 - Events on the outside, on the inside, and at the core
Chris Richardson
 
Oracle Code Sydney - There is no such thing as a microservice!
Chris Richardson
 
YOW! Perth: Cubes, Hexagons, Triangles, and More: Understanding the Microserv...
Chris Richardson
 
Developing Event-driven Microservices with Event Sourcing & CQRS (gotoams)
Chris Richardson
 
MicroCPH - Managing data consistency in a microservice architecture using Sagas
Chris Richardson
 
Events to the rescue: solving distributed data problems in a microservice arc...
Chris Richardson
 

Similar to Microservices - an architecture that enables DevOps (T Systems DevOps day) (20)

PDF
Omnikron webbinar - Microservices: enabling the rapid, frequent, and reliable...
Chris Richardson
 
PDF
The microservice architecture: what, why, when and how?
Chris Richardson
 
PDF
There is no such thing as a microservice! (oracle code nyc)
Chris Richardson
 
PDF
iSAQB gathering 2021 keynote - Architectural patterns for rapid, reliable, fr...
Chris Richardson
 
PPTX
Iot cloud service v2.0
Vinod Wilson
 
PDF
Overcoming Ongoing Digital Transformational Challenges with a Microservices A...
Cognizant
 
PDF
apidays LIVE Hong Kong 2021 - Modernizing Monolith Applications with API Arch...
apidays
 
PPTX
Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...
AFAS Software
 
PDF
Using patterns and pattern languages to make better architectural decisions
Chris Richardson
 
PPTX
Microservice intro
ramesh_sharma
 
PDF
Microservices for Application Modernisation
Ajay Kumar Uppal
 
PDF
Micro Service Architecture
Linjith Kunnon
 
PDF
Everything you want to know about microservices
Youness Lasmak
 
PPSX
Microservices Architecture, Monolith Migration Patterns
Araf Karsh Hamid
 
PDF
Understanding MicroSERVICE Architecture with Java & Spring Boot
Kashif Ali Siddiqui
 
PDF
A Guide on What Are Microservices: Pros, Cons, Use Cases, and More
Simform
 
PPTX
Software Architectures, Week 3 - Microservice-based Architectures
Angelos Kapsimanis
 
PPTX
Pragmatic Microservices
Randy Shoup
 
PDF
Practical Microservice Architecture (edition 2022).pdf
Ahmed Misbah
 
PDF
Kong Summit 2018 - Microservices: decomposing applications for testability an...
Chris Richardson
 
Omnikron webbinar - Microservices: enabling the rapid, frequent, and reliable...
Chris Richardson
 
The microservice architecture: what, why, when and how?
Chris Richardson
 
There is no such thing as a microservice! (oracle code nyc)
Chris Richardson
 
iSAQB gathering 2021 keynote - Architectural patterns for rapid, reliable, fr...
Chris Richardson
 
Iot cloud service v2.0
Vinod Wilson
 
Overcoming Ongoing Digital Transformational Challenges with a Microservices A...
Cognizant
 
apidays LIVE Hong Kong 2021 - Modernizing Monolith Applications with API Arch...
apidays
 
Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...
AFAS Software
 
Using patterns and pattern languages to make better architectural decisions
Chris Richardson
 
Microservice intro
ramesh_sharma
 
Microservices for Application Modernisation
Ajay Kumar Uppal
 
Micro Service Architecture
Linjith Kunnon
 
Everything you want to know about microservices
Youness Lasmak
 
Microservices Architecture, Monolith Migration Patterns
Araf Karsh Hamid
 
Understanding MicroSERVICE Architecture with Java & Spring Boot
Kashif Ali Siddiqui
 
A Guide on What Are Microservices: Pros, Cons, Use Cases, and More
Simform
 
Software Architectures, Week 3 - Microservice-based Architectures
Angelos Kapsimanis
 
Pragmatic Microservices
Randy Shoup
 
Practical Microservice Architecture (edition 2022).pdf
Ahmed Misbah
 
Kong Summit 2018 - Microservices: decomposing applications for testability an...
Chris Richardson
 
Ad

More from Chris Richardson (9)

PDF
More the merrier: a microservices anti-pattern
Chris Richardson
 
PDF
YOW London - Considering Migrating a Monolith to Microservices? A Dark Energy...
Chris Richardson
 
PDF
Dark Energy, Dark Matter and the Microservices Patterns?!
Chris Richardson
 
PDF
Dark energy, dark matter and microservice architecture collaboration patterns
Chris Richardson
 
PDF
Scenarios_and_Architecture_SkillsMatter_April_2022.pdf
Chris Richardson
 
PDF
QConPlus 2021: Minimizing Design Time Coupling in a Microservice Architecture
Chris Richardson
 
PDF
An overview of the Eventuate Platform
Chris Richardson
 
PDF
GotoChgo 2019: Not Just Events: Developing Asynchronous Microservices
Chris Richardson
 
PDF
Mucon: Not Just Events: Developing Asynchronous Microservices
Chris Richardson
 
More the merrier: a microservices anti-pattern
Chris Richardson
 
YOW London - Considering Migrating a Monolith to Microservices? A Dark Energy...
Chris Richardson
 
Dark Energy, Dark Matter and the Microservices Patterns?!
Chris Richardson
 
Dark energy, dark matter and microservice architecture collaboration patterns
Chris Richardson
 
Scenarios_and_Architecture_SkillsMatter_April_2022.pdf
Chris Richardson
 
QConPlus 2021: Minimizing Design Time Coupling in a Microservice Architecture
Chris Richardson
 
An overview of the Eventuate Platform
Chris Richardson
 
GotoChgo 2019: Not Just Events: Developing Asynchronous Microservices
Chris Richardson
 
Mucon: Not Just Events: Developing Asynchronous Microservices
Chris Richardson
 
Ad

Recently uploaded (20)

PPTX
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pptx
Varsha Nayak
 
PDF
Open Chain Q2 Steering Committee Meeting - 2025-06-25
Shane Coughlan
 
PDF
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
PPTX
In From the Cold: Open Source as Part of Mainstream Software Asset Management
Shane Coughlan
 
PDF
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
PPTX
Empowering Asian Contributions: The Rise of Regional User Groups in Open Sour...
Shane Coughlan
 
PPTX
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
PDF
Unlock Efficiency with Insurance Policy Administration Systems
Insurance Tech Services
 
PDF
Generic or Specific? Making sensible software design decisions
Bert Jan Schrijver
 
PPTX
Change Common Properties in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PDF
Top Agile Project Management Tools for Teams in 2025
Orangescrum
 
PDF
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
PPTX
Home Care Tools: Benefits, features and more
Third Rock Techkno
 
PDF
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
PDF
Alexander Marshalov - How to use AI Assistants with your Monitoring system Q2...
VictoriaMetrics
 
PDF
Odoo CRM vs Zoho CRM: Honest Comparison 2025
Odiware Technologies Private Limited
 
PPTX
Human Resources Information System (HRIS)
Amity University, Patna
 
PDF
Online Queue Management System for Public Service Offices in Nepal [Focused i...
Rishab Acharya
 
PPTX
Hardware(Central Processing Unit ) CU and ALU
RizwanaKalsoom2
 
PPTX
Transforming Mining & Engineering Operations with Odoo ERP | Streamline Proje...
SatishKumar2651
 
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pptx
Varsha Nayak
 
Open Chain Q2 Steering Committee Meeting - 2025-06-25
Shane Coughlan
 
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
In From the Cold: Open Source as Part of Mainstream Software Asset Management
Shane Coughlan
 
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
Empowering Asian Contributions: The Rise of Regional User Groups in Open Sour...
Shane Coughlan
 
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
Unlock Efficiency with Insurance Policy Administration Systems
Insurance Tech Services
 
Generic or Specific? Making sensible software design decisions
Bert Jan Schrijver
 
Change Common Properties in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Top Agile Project Management Tools for Teams in 2025
Orangescrum
 
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
Home Care Tools: Benefits, features and more
Third Rock Techkno
 
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
Alexander Marshalov - How to use AI Assistants with your Monitoring system Q2...
VictoriaMetrics
 
Odoo CRM vs Zoho CRM: Honest Comparison 2025
Odiware Technologies Private Limited
 
Human Resources Information System (HRIS)
Amity University, Patna
 
Online Queue Management System for Public Service Offices in Nepal [Focused i...
Rishab Acharya
 
Hardware(Central Processing Unit ) CU and ALU
RizwanaKalsoom2
 
Transforming Mining & Engineering Operations with Odoo ERP | Streamline Proje...
SatishKumar2651
 

Microservices - an architecture that enables DevOps (T Systems DevOps day)