SlideShare a Scribd company logo
THE DARK SIDE
OF MICRO-
SERVICES
@NICOLAS_FRANKEL
#microservices
ME, MYSELF AND I
@nicolas_frankel
2
 Developer/Software -
/Solution Architect
• Java
• As consultant
#microservices
HYBRIS, AN SAP COMPANY
3
@nicolas_frankel #springboot
#microservices
MICRO-SERVICES ON PAPER
4
@nicolas_frankel
#microservices
QUOTE OF THE DAY
@nicolas_frankel
5
“[…] if people can't build
monoliths properly,
microservices won't help”
- Simon Brown
https://twitter.com/simonbrown/status/573072777147777024
https://genehughson.wordpress.com/2015/03/08/microservice-architectures-arent-for-everyone/
#microservices
QUOTE OF THE DAY
@nicolas_frankel
6
“I see you have a poorly
structured monolith. Would
you like me to convert it into a
poorly structured set of
microservices?”
- Architect Clippy
https://twitter.com/architectclippy/status/570025079825764352
https://genehughson.wordpress.com/2015/03/08/microservice-architectures-arent-for-everyone/
#microservices
MICRO-SERVICES IN REAL LIFE
7
@nicolas_frankel
#microservices
SUMMARY
What are micro-services?
What benefits to expect?
What requirements?
What’s in it for you now?
8
@nicolas_frankel
#microservices
A TENTATIVE
DEFINITION
THE DARK SIDE OF MICRO-SERVICES
9
@nicolas_frankel
#microservices
THE MONOLITH
“A monolithic application
puts all its functionality into a
single process…”
http://martinfowler.com/articles/microservices.html
10
@nicolas_frankel
#microservices
SCALING A MONOLITH
“… and scales by replicating
the monolith on different
servers”
11
@nicolas_frankel
#microservices
ASSUMPTION
All functionalities of your
application have the same
load
• Really?
12
@nicolas_frankel
#microservices
EXAMPLE: E-COMMERCE SHOP
Catalog
Cart
Login
Payment
etc.
13
@nicolas_frankel
#microservices
MICRO-SERVICES
“A microservices
architecture puts each
element of functionality into
a separate service…”
14
@nicolas_frankel
#microservices
SCALING MICRO-SERVICES
“… and scales by
distributing these services
across servers, scaling as
needed”
15
@nicolas_frankel
#microservices
SINGLE RESPONSIBILITY PRINCIPLE
 Component-based
 Wrapping a single business
capability
• Fine-grained
 Decoupled from one
another
 Communicating via simple
channels
16
@nicolas_frankel
#microservices
BENEFITS
THE DARK SIDE OF MICRO-SERVICES
17
@nicolas_frankel
#microservices
DIFFERENTIAL SCALING
Optimizing resources
18
@nicolas_frankel
#microservices
DECOUPLED LIFECYCLES
Enable continuous delivery
• No more release trains!
19
@nicolas_frankel
#microservices
CONTINUOUS/EVOLUTIONARY DESIGN
No necessary fixed upfront
design
• Allows for continuous changes
20
@nicolas_frankel
#microservices
POLYGLOT PERSISTENCE
Choose the best persistence
tier for the job
21
@nicolas_frankel
#microservices
POLYGLOT
Choose the best language
for the job
22
@nicolas_frankel
#microservices
THE FIRST AND FOREMOST BENEFIT
@nicolas_frankel
23
Scaling your development
team!
#microservices
REQUIREMENTS
THE DARK SIDE OF MICRO-SERVICES
24
@nicolas_frankel
#microservices
INFRASTRUCTURE AUTOMATION
To deliver continuously
25
@nicolas_frankel
#microservices
FORMALIZED DOCUMENTATION
To help service users
26
@nicolas_frankel
#microservices
MONITORING
Cross-components
27
@nicolas_frankel
#microservices
CORE ISSUES
THE DARK SIDE OF MICRO-SERVICES
29
@nicolas_frankel
#microservices
30
@nicolas_frankel
#microservices
THE NETWORK!
From a simple API call to a
network call…
31
@nicolas_frankel
#microservices
FALLACIES OF DISTRIBUTED
COMPUTING
1. The network is reliable.
2. Latency is zero.
3. Bandwidth is infinite.
4. The network is secure.
5. Topology doesn’t change.
6. There is one administrator.
7. Transport cost is zero.
8. The network is homogeneous.
@nicolas_frankel
32
#microservices
NEW PROBLEMS ARISE
Latency
• Asynchronicity
• Performance drop
33
@nicolas_frankel
#microservices
NEW PROBLEMS ARISE
Handling failures
• Different handling
• Unavailable service
34
@nicolas_frankel
#microservices
NEW PROBLEMS ARISE
Serialization/deserialization
• Performance drop
35
@nicolas_frankel
#microservices
STRIKE A BALANCE
Between scalability and
performance
36
@nicolas_frankel
#microservices
NOT ONLY TECHNICAL ISSUES
@nicolas_frankel
37
#microservices
AGILE?
Trying to do agile
Doing agile
Being agile
38
@nicolas_frankel
#microservices
ORGANIZING TEAMS
Limited size
• Fed by 2 pizzas
Autonomous
Self-organizing
39
@nicolas_frankel
#microservices
CONWAY’S LAW
“organizations which design systems ... are
constrained to produce designs which are copies
of the communication structures of these
organizations”
@nicolas_frankel
40
#microservices
ORGANIZATION AT NETFLIX
@nicolas_frankel
41
#microservices
THE REAL ISSUE OF MICRO-SERVICES
Makes middle managers
unnecessary
42
@nicolas_frankel
#microservices
DO YOU THINK…
@nicolas_frankel
43
…anybody would willingly
make themselves not
necessary?
#microservices
BETTER SUITED TO
@nicolas_frankel
44
Small companies
Rather flat organizations
#microservices
THE LIGHT SIDE
THE DARK SIDE OF MICRO-SERVICES
45
@nicolas_frankel
#microservices
AND YET…
46
@nicolas_frankel
#microservices
THERE ARE MICRO-SERVICES…
… and web-services
• RESTful
47
@nicolas_frankel
#microservices
MICRO-SERVICES ENABLERS
@nicolas_frankel
48
Hystrix
Ribbon
Eureka
Feign
Etc.
#microservices
FEATURES
@nicolas_frankel
49
Circuit breaker
• Fail-fast
Fallback
Cache
Collapse
Dashboard
And many more…
https://github.com/Netflix/Hystrix/wiki/How-To-Use
#microservices
CIRCUIT-BREAKER
@nicolas_frankel
50
#microservices
FALLBACK
@nicolas_frankel
51
#microservices
REQUEST
COLLAPSE
@nicolas_frankel
52
#microservices
REQUEST
COLLAPSE
@nicolas_frankel
53
#microservices
DASHBOARD
@nicolas_frankel
54
#microservices
API FLAVORS
@nicolas_frankel
55
Synchronous
Asynchronous
Reactive
#microservices
RIBBON
@nicolas_frankel
56
Client-side load-balancer
Pluggable rules
#microservices
COMMONS RULES
@nicolas_frankel
57
Round robbin
Availability filtering
Weighted response time
<insert your own there>
#microservices
SERVER LIST
@nicolas_frankel
58
Ad hoc
Configuration-based
Discovery enabled
• Through Eureka
#microservices
EUREKA
@nicolas_frankel
59
Registry for middle tier load
balancing
• Server
• Client
#microservices
FEIGN
@nicolas_frankel
60
Annotation based REST
client
#microservices
SPRING CLOUD*
@nicolas_frankel
61
#microservices
SUMMARY
THE DARK SIDE OF MICRO-SERVICES
62
@nicolas_frankel
#microservices
ADOPT AN ENGINEER MINDSET
@nicolas_frankel
63
Evaluate benefits
Evaluate costs
Evaluate feasibility
• Organizational
• (Technical)
#microservices
Q&A
@nicolas_frankel
64
http://blog.frankel.ch/
@nicolas_frankel
http://frankel.in/

More Related Content

PPTX
The Dark Side of Microservices
PPTX
jDays - Spring Boot under the Hood
PDF
条件式評価器の実装による管理ツールの抽象化
PDF
Il BILANCIO di UN ALBERGO in FORMULE - 2 EQUAZIONI dell'UTILE di UNA CAMERA D...
PDF
An Introduction to Petroleum & Mineral Resources of Afghanistan
PDF
Metodi asincroni in spring
PDF
Mensaje asamblea 28 03-17
PDF
Small Business Administration (SBA) Financing Options
The Dark Side of Microservices
jDays - Spring Boot under the Hood
条件式評価器の実装による管理ツールの抽象化
Il BILANCIO di UN ALBERGO in FORMULE - 2 EQUAZIONI dell'UTILE di UNA CAMERA D...
An Introduction to Petroleum & Mineral Resources of Afghanistan
Metodi asincroni in spring
Mensaje asamblea 28 03-17
Small Business Administration (SBA) Financing Options

Viewers also liked (12)

PDF
Rapid Cross-channel Prototyping Workshop IAS17
PPTX
SORACOM LoRaWAN Conference 2017 | LoRaゲートウェイとデバイス 〜デバイス開発と、無線連携〜
PDF
Account-Based Marketing - January 2017
PDF
True Copy of MATT. APPL. NO. 7 of 2012 before HIGH COURT of DELHI
PDF
Dossiers noirs va 4191
PPT
Lefebvre Nare Afm170908
PDF
Pepsi Gravitational Field
PPTX
Medicina a distanza nelle sindromi neuro degenerative aspetti clinici e quali...
PDF
Good Gaming Investor Presentation Spring 2017
PDF
Mesa redonda Barcelona Activa - No te conviertas en un profesional obsoleto ...
PPT
MPLS SDN NFV WORLD'17 - SDN NFV deployment update
PPTX
勾配降下法の 最適化アルゴリズム
Rapid Cross-channel Prototyping Workshop IAS17
SORACOM LoRaWAN Conference 2017 | LoRaゲートウェイとデバイス 〜デバイス開発と、無線連携〜
Account-Based Marketing - January 2017
True Copy of MATT. APPL. NO. 7 of 2012 before HIGH COURT of DELHI
Dossiers noirs va 4191
Lefebvre Nare Afm170908
Pepsi Gravitational Field
Medicina a distanza nelle sindromi neuro degenerative aspetti clinici e quali...
Good Gaming Investor Presentation Spring 2017
Mesa redonda Barcelona Activa - No te conviertas en un profesional obsoleto ...
MPLS SDN NFV WORLD'17 - SDN NFV deployment update
勾配降下法の 最適化アルゴリズム
Ad

Similar to DevExperience - The Dark Side of Microservices (20)

PPTX
Uxdevsummit - Microservices the modern it stack- trends of tomorrow
PPTX
Cloud anti-patterns
PPTX
Cloud anti-patterns
PDF
Microservices architecture overview v3
PDF
Monoliths, Myths, and Microservices
PPTX
Presentazione Codemotion
PDF
Dublin Microservice "Introduction to Service Meshes"
PPTX
Sviluppare in cloud con M.E.A.N.: il caso Crowdcore
PPTX
Isn't the Monolith Just Enough?
PDF
Microservices architecture
PDF
Building Internal Products Customer Love - Product Management Festival
PPTX
TTN 2015 "Defining DevOps: Concepts, Technology and Automation. Oh yeah, and ...
PDF
MJC 2021: "Debugging Java Microservices Running on Kubernetes with Telepresence"
PPTX
deliver:Agile 2018 "Continuous Delivery Patterns for Modern Architectures"
PPTX
GOTO Berlin - Battle of the Circuit Breakers: Resilience4J vs Istio
PPTX
OSAD - Battle of the Circuit Breakers
PDF
Microservices - Please, don't
PDF
LJC 4/21"Easy Debugging of Java Microservices Running on Kubernetes with Tele...
PPTX
JFuture - Battle of the circuit breakers
PPTX
Kubernetes Online Meetup - Battle of the Circuit Breakers
Uxdevsummit - Microservices the modern it stack- trends of tomorrow
Cloud anti-patterns
Cloud anti-patterns
Microservices architecture overview v3
Monoliths, Myths, and Microservices
Presentazione Codemotion
Dublin Microservice "Introduction to Service Meshes"
Sviluppare in cloud con M.E.A.N.: il caso Crowdcore
Isn't the Monolith Just Enough?
Microservices architecture
Building Internal Products Customer Love - Product Management Festival
TTN 2015 "Defining DevOps: Concepts, Technology and Automation. Oh yeah, and ...
MJC 2021: "Debugging Java Microservices Running on Kubernetes with Telepresence"
deliver:Agile 2018 "Continuous Delivery Patterns for Modern Architectures"
GOTO Berlin - Battle of the Circuit Breakers: Resilience4J vs Istio
OSAD - Battle of the Circuit Breakers
Microservices - Please, don't
LJC 4/21"Easy Debugging of Java Microservices Running on Kubernetes with Tele...
JFuture - Battle of the circuit breakers
Kubernetes Online Meetup - Battle of the Circuit Breakers
Ad

More from Nicolas Fränkel (20)

PPTX
SnowCamp - Adding search to a legacy application
PPTX
Un CV de dévelopeur toujours a jour
PPTX
Zero-downtime deployment on Kubernetes with Hazelcast
PDF
jLove - A Change-Data-Capture use-case: designing an evergreen cache
PPTX
BigData conference - Introduction to stream processing
PPTX
ADDO - Your own Kubernetes controller, not only in Go
PPTX
TestCon Europe - Mutation Testing to the Rescue of Your Tests
PPTX
OSCONF Jaipur - A Hitchhiker's Tour to Containerizing a Java application
PPTX
GeekcampSG 2020 - A Change-Data-Capture use-case: designing an evergreen cache
PPTX
JavaDay Istanbul - 3 improvements in your microservices architecture
PPTX
OSCONF Hyderabad - Shorten all URLs!
PPTX
Devclub.lv - Introduction to stream processing
PPTX
OSCONF Koshi - Zero downtime deployment with Kubernetes, Flyway and Spring Boot
PPTX
JOnConf - A CDC use-case: designing an Evergreen Cache
PPTX
London In-Memory Computing Meetup - A Change-Data-Capture use-case: designing...
PPTX
JUG Tirana - Introduction to data streaming
PPTX
Java.IL - Your own Kubernetes controller, not only in Go!
PPTX
vJUG - Introduction to data streaming
PPTX
London Java Community - An Experiment in Continuous Deployment of JVM applica...
PPTX
OSCONF - Your own Kubernetes controller: not only in Go
SnowCamp - Adding search to a legacy application
Un CV de dévelopeur toujours a jour
Zero-downtime deployment on Kubernetes with Hazelcast
jLove - A Change-Data-Capture use-case: designing an evergreen cache
BigData conference - Introduction to stream processing
ADDO - Your own Kubernetes controller, not only in Go
TestCon Europe - Mutation Testing to the Rescue of Your Tests
OSCONF Jaipur - A Hitchhiker's Tour to Containerizing a Java application
GeekcampSG 2020 - A Change-Data-Capture use-case: designing an evergreen cache
JavaDay Istanbul - 3 improvements in your microservices architecture
OSCONF Hyderabad - Shorten all URLs!
Devclub.lv - Introduction to stream processing
OSCONF Koshi - Zero downtime deployment with Kubernetes, Flyway and Spring Boot
JOnConf - A CDC use-case: designing an Evergreen Cache
London In-Memory Computing Meetup - A Change-Data-Capture use-case: designing...
JUG Tirana - Introduction to data streaming
Java.IL - Your own Kubernetes controller, not only in Go!
vJUG - Introduction to data streaming
London Java Community - An Experiment in Continuous Deployment of JVM applica...
OSCONF - Your own Kubernetes controller: not only in Go

Recently uploaded (20)

PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Softaken Excel to vCard Converter Software.pdf
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PPTX
Essential Infomation Tech presentation.pptx
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
System and Network Administration Chapter 2
PDF
top salesforce developer skills in 2025.pdf
PTS Company Brochure 2025 (1).pdf.......
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
CHAPTER 2 - PM Management and IT Context
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Design an Analysis of Algorithms I-SECS-1021-03
Softaken Excel to vCard Converter Software.pdf
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Design an Analysis of Algorithms II-SECS-1021-03
Essential Infomation Tech presentation.pptx
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
How to Migrate SBCGlobal Email to Yahoo Easily
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Reimagine Home Health with the Power of Agentic AI​
2025 Textile ERP Trends: SAP, Odoo & Oracle
Which alternative to Crystal Reports is best for small or large businesses.pdf
System and Network Administration Chapter 2
top salesforce developer skills in 2025.pdf

DevExperience - The Dark Side of Microservices

Editor's Notes

  • #31: skinparam dpi 300 participant "<u>a:A</u>" as a participant "<u>b:B</u>" as b activate a a -> b: call() deactivate a hide footbox