SlideShare a Scribd company logo
1 of 31
Download to read offline
1
MICROSERVICES AND CHECKLISTS
OVERHYPE AND IMPORTANCE
Katrin Shechtman, Lightbend / @katrinsh
2
MY RELEVANT BACKGROUND
2003 - 2004
OpenMP, MPI, distributed
Matlab
2006-2012
J2EE, Spring
Proprietary Distributed Computing
software in C/C++
2012-2016
Play, Scala,
Akka
3
THEN CAME MICROSERVICES
I THOUGHT MICROSERVICES ARE A
PRIVATE CASE OF DISTRIBUTED
SYSTEM
THEY APPLY WHEN POLYGLOT COMPONENTS
ARE REQUIRED AND SOME LATENCY COULD
BE TOLERATED IN FAVOUR OF SCALABILITY
4
WHY THIS TALK
THE AMOUNT OF MISPERCEPTION
SUGGESSTIONS SUCH AS 'DEVELOP
MONOLITH AS LONG AS YOU CAN'
EXPECTING DIFFERENT RESULTS FROM
DOING THE SAME WITH SAME
TECHNOLOGIES
5
IMAGINARY E-COMMERCE
6
A PERFECT SERVER
DI with same resolution
JPA with less than ideal
performance
5% CPU utilization
PERFECT UNTIL LOAD INCREASES
BUT WHAT ABOUT HORIZONTAL SCALING?
78
WHAT ABOUT COST EFFICIENCY?
AT LEAST YOU MADE SOMEONE HAPPY
In short, the microservice
architectural style [1] 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.
-- Martin Fowler
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.
-- Martin Fowler
910
11
MICROSERVICES TO THE RESCUE
Shopping cart and search are services
Different departments are services
I don't care what language to use (for
the sake of this talk ...)
12
PERFECT MICROSERVICES ?
HOW LONG DOES SEARCH TAKE?
100 millis X N of services
13
"LESS THAN PERFECT"
MICROSERVICES BUT CONTINUE
HOW LONG DOES SEARCH TAKE?
100 millis X N of healthy services
+ time 1 X unhealthy service 1 + ...
14
DID MICROSERVICES FAIL ?
15
MULTI-THREADING, ASYNC I/O
1 thread x threads
Synch
I/O
100 mls x N
of services
100 mls * ceil(N
of services / x)
Asynch
I/O
100 mls 100 mls
16
MICROSERVICES DID NOT FAIL
WE JUST DID IT WRONG, LET'S DO IT RIGHT
QUIZ: HOW LONG DOES SEARCH TAKE NOW?
17
MICROSERVICES - PERFECT AGAIN ?
NO, WELCOME TO DISTRIBUTED MONOLITH
18
SHORT DEFINITIONS WON'T SUFFICE
CLOUD, CHANGE CYCLES OR
SCALING ARE NOT A GOAL
NOR IS IT A COMPLETE LIST
19
THE GOAL IS
RESPONSIVINESS
20
RESILIENCE, SCALABILITY AND
CONTINUOUS DELIVERY ARE CORE
DESIGN PRINCIPLES
UMBRELLA FOR MORE NESTED PRINCIPLES
21
SKIPPING OVER ISN'T AN OPTION
22
CONTINUOUS DELIVERY
GOAL: VELOCITY
Code isolation
Independent
deployment
DevOps
23
SCALABILITY
GOAL: RESPONSIVINESS
CPU utilization
Componentization
Disclaimer: according to Google Componentization is ...
Quiz: AR vs BC ?
Data isolation
DevOps
24
RESILIENCE AT ALL LEVELS
GOAL: RESPONSIVINESS
Asynchronous Communication
Question: What is asynchronous communication?
Componentization
DevOps
25
ELASTICITY
System could both expand and shrink dynamically
COST EFFICIENCY
Scalability
Appropriate infrastructure on-prem or
wise choice of cloud provider
26
CLOUD
COST EFFICIENCY
AND WE USUALLY RENT IT FURNISHED
ALL PRINCIPLES ARE IMPORTANT
2728
PRICE OF SKIPPING
29
MICROSERVICES' PRICE TAG
We should design again
We should be smart, it is not only about
right configuration anymore
We should consolidate: monitoring,
logging, etc (but not databases
remember?)
We should support DevOps or become one:
deployment, cluster management etc,
right technologies are super important
Debugging is not hard, we just need to
do it differently and we need tools
30
CHOICE OF TOOLS
THE RULE: THE TOOL(S) SHOULD
NOT BREAK ANY PRINCIPLE
MENTIONED BEFORE
Take a look at Lagom, not the song, the
opinionated (based on principles)
microservices framework
31
THANK YOU!
QUESTIONS?
MORE INFO ABOUT LAGOM:
HTTP://WWW.LAGOMFRAMEWORK.COM
Twitter: @katrish

More Related Content

Similar to Microservices: The danger of overhype and importance of checklists

A Systematic Approach to Creating Behavioral Models (white paper) v1.0
A Systematic Approach to Creating Behavioral Models (white paper) v1.0A Systematic Approach to Creating Behavioral Models (white paper) v1.0
A Systematic Approach to Creating Behavioral Models (white paper) v1.0
Robert O. Peruzzi, PhD, PE, DFE
 
Owaspeutour2013lisbon pedrofortunaprotectingjavascriptsourcecodeusingobfuscat...
Owaspeutour2013lisbon pedrofortunaprotectingjavascriptsourcecodeusingobfuscat...Owaspeutour2013lisbon pedrofortunaprotectingjavascriptsourcecodeusingobfuscat...
Owaspeutour2013lisbon pedrofortunaprotectingjavascriptsourcecodeusingobfuscat...
Thiện Dương
 
O'Reilly Webinar: Simplicity Scales - Big Data
O'Reilly Webinar: Simplicity Scales - Big Data O'Reilly Webinar: Simplicity Scales - Big Data
O'Reilly Webinar: Simplicity Scales - Big Data
Basho Technologies
 

Similar to Microservices: The danger of overhype and importance of checklists (20)

Trends in development distributed systems
Trends in development distributed systemsTrends in development distributed systems
Trends in development distributed systems
 
CMU Lecture on Hadoop Performance
CMU Lecture on Hadoop PerformanceCMU Lecture on Hadoop Performance
CMU Lecture on Hadoop Performance
 
Strata New York 2012
Strata New York 2012Strata New York 2012
Strata New York 2012
 
Cmu Lecture on Hadoop Performance
Cmu Lecture on Hadoop PerformanceCmu Lecture on Hadoop Performance
Cmu Lecture on Hadoop Performance
 
The "Why", "What" & "How" of Microservices - short version
The "Why", "What" & "How" of Microservices - short versionThe "Why", "What" & "How" of Microservices - short version
The "Why", "What" & "How" of Microservices - short version
 
Why ∆Q is the ideal network metric
Why ∆Q is the ideal network metricWhy ∆Q is the ideal network metric
Why ∆Q is the ideal network metric
 
Cassandra EU 2012 - Putting the X Factor into Cassandra
Cassandra EU 2012 - Putting the X Factor into CassandraCassandra EU 2012 - Putting the X Factor into Cassandra
Cassandra EU 2012 - Putting the X Factor into Cassandra
 
Pets vs. Cattle: The Elastic Cloud Story
Pets vs. Cattle: The Elastic Cloud StoryPets vs. Cattle: The Elastic Cloud Story
Pets vs. Cattle: The Elastic Cloud Story
 
EDCC14 Keynote, Newcastle 15may14
EDCC14 Keynote, Newcastle 15may14EDCC14 Keynote, Newcastle 15may14
EDCC14 Keynote, Newcastle 15may14
 
A Systematic Approach to Creating Behavioral Models (white paper) v1.0
A Systematic Approach to Creating Behavioral Models (white paper) v1.0A Systematic Approach to Creating Behavioral Models (white paper) v1.0
A Systematic Approach to Creating Behavioral Models (white paper) v1.0
 
The Era of MicroServers
The Era of MicroServersThe Era of MicroServers
The Era of MicroServers
 
Gupta_Keynote_VTDC-3
Gupta_Keynote_VTDC-3Gupta_Keynote_VTDC-3
Gupta_Keynote_VTDC-3
 
Actor model in F# and Akka.NET
Actor model in F# and Akka.NETActor model in F# and Akka.NET
Actor model in F# and Akka.NET
 
Protecting JavaScript source code using obfuscation - OWASP Europe Tour 2013 ...
Protecting JavaScript source code using obfuscation - OWASP Europe Tour 2013 ...Protecting JavaScript source code using obfuscation - OWASP Europe Tour 2013 ...
Protecting JavaScript source code using obfuscation - OWASP Europe Tour 2013 ...
 
Owaspeutour2013lisbon pedrofortunaprotectingjavascriptsourcecodeusingobfuscat...
Owaspeutour2013lisbon pedrofortunaprotectingjavascriptsourcecodeusingobfuscat...Owaspeutour2013lisbon pedrofortunaprotectingjavascriptsourcecodeusingobfuscat...
Owaspeutour2013lisbon pedrofortunaprotectingjavascriptsourcecodeusingobfuscat...
 
Stateful on Stateless - The Future of Applications in the Cloud
Stateful on Stateless - The Future of Applications in the CloudStateful on Stateless - The Future of Applications in the Cloud
Stateful on Stateless - The Future of Applications in the Cloud
 
Reproducible Emulation of Analog Behavioral Models
Reproducible Emulation of Analog Behavioral ModelsReproducible Emulation of Analog Behavioral Models
Reproducible Emulation of Analog Behavioral Models
 
O'Reilly Webinar: Simplicity Scales - Big Data
O'Reilly Webinar: Simplicity Scales - Big Data O'Reilly Webinar: Simplicity Scales - Big Data
O'Reilly Webinar: Simplicity Scales - Big Data
 
Reactive by example (DevOpsDaysTLV 2019)
Reactive by example (DevOpsDaysTLV 2019)Reactive by example (DevOpsDaysTLV 2019)
Reactive by example (DevOpsDaysTLV 2019)
 
Seminar 12-11-19
Seminar 12-11-19Seminar 12-11-19
Seminar 12-11-19
 

More from Reactivesummit

Orchestrated Chaos: Applying Failure Testing Research at Scale.
Orchestrated Chaos: Applying Failure Testing Research at Scale.Orchestrated Chaos: Applying Failure Testing Research at Scale.
Orchestrated Chaos: Applying Failure Testing Research at Scale.
Reactivesummit
 

More from Reactivesummit (6)

Distributed stream processing with Apache Kafka
Distributed stream processing with Apache KafkaDistributed stream processing with Apache Kafka
Distributed stream processing with Apache Kafka
 
Reactive Polyglot Microservices with OpenShift and Vert.x
Reactive Polyglot Microservices with OpenShift and Vert.xReactive Polyglot Microservices with OpenShift and Vert.x
Reactive Polyglot Microservices with OpenShift and Vert.x
 
Orchestrated Chaos: Applying Failure Testing Research at Scale.
Orchestrated Chaos: Applying Failure Testing Research at Scale.Orchestrated Chaos: Applying Failure Testing Research at Scale.
Orchestrated Chaos: Applying Failure Testing Research at Scale.
 
The Zen Of Erlang
The Zen Of ErlangThe Zen Of Erlang
The Zen Of Erlang
 
Monolith to Reactive Microservices
Monolith to Reactive MicroservicesMonolith to Reactive Microservices
Monolith to Reactive Microservices
 
Back-Pressure in Action: Handling High-Burst Workloads with Akka Streams & Ka...
Back-Pressure in Action: Handling High-Burst Workloads with Akka Streams & Ka...Back-Pressure in Action: Handling High-Burst Workloads with Akka Streams & Ka...
Back-Pressure in Action: Handling High-Burst Workloads with Akka Streams & Ka...
 

Recently uploaded

Recently uploaded (20)

A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 

Microservices: The danger of overhype and importance of checklists