SlideShare a Scribd company logo
The SeVEN DEADLY SINS OF MICRoservices
Daniel Bryant
@danielbryantuk
Container Solutions London
(WITH Credit to Tareq Abedrabbo, OPENCREDO)
The Seven Deadly Sins
•  1. LUST …
•  2. GLUTTONY
•  3. GREED…
•  4. SLOTH
•  5. WRATH
•  6. ENVY
•  7. PRIDE
19/06/15	
   @danielbryantuk	
  
The Seven Deadly Sins (of Microservices)
•  1. LUST - Using the latest and greatest tech…
•  2. GLUTTONY - Excessive communication protocols
•  3. GREED - All your service are belong to us…
•  4. SLOTH - Creating a distributed monolith
•  5. WRATH - Blowing up when bad things happen
•  6. ENVY - The shared single domain fallacy
•  7. PRIDE - testing in the world of transience
19/06/15	
   @danielbryantuk	
  
Who Am I?
•  OpenCredo / Container Solutions
ü  Agile, CI/CD, DevOps
ü  Microservices and cloud
ü  Docker, Mesos and Kubernetes
•  London Java Community Associate
•  Adopt OpenJDK and JSR
•  InfoQ Editor and DZone MVB
19/06/15	
   @danielbryantuk	
  
So, What is a microservice?
“Loosely coupled service oriented architecture
with bounded contexts”
Adrian Cockcroft
“Applications that fit in your head”
James Lewis
19/06/15	
   @danielbryantuk	
  
1. Lust - Using THE LATEST and Greatest Tech…
19/06/15	
   @danielbryantuk	
  
Microservices...
They solve all of our problems, Right?
19/06/15	
   @danielbryantuk	
  
No... Not necessarily good for speed
19/06/15	
   @danielbryantuk	
  
skillsma7er.com/skillscasts/6143-­‐microservices-­‐for-­‐speed	
  	
  
HOT	
  OFF	
  THE	
  PRESS!!	
  
marJnfowler.com/bliki/
MonolithFirst.html	
  	
  
No... Check your architecture/design skills
“If you can't build a [well-structured] monolith,
what makes you think microservices are the answer?”
Simon Brown
(bit.ly/1n7D0vp)
19/06/15	
   @danielbryantuk	
  
No... Check your architecture/design skills
19/06/15	
   @danielbryantuk	
  
No... Operational maturity is vital
19/06/15	
   @danielbryantuk	
  
marJnfowler.com/bliki/MicroservicePrerequisites.html	
  	
  
Microservices are very useful
But check your use case...
...Evaluation is a key skill
19/06/15	
   @danielbryantuk	
  
Evaluation
“I will postpone using this shiny new framework until
my peers have validated the proposed benefits with
rigorous scientific experiments”
- Said by no programmer
…ever
19/06/15	
   @danielbryantuk	
  
Pick Your (Technical) Battles...…
•  As Dan McKinley says, “Choose Boring Technology”
– Optimize globally across organisation
•  Java and Spring (Boot) are perfectly acceptable
•  ... As are tomcat/jetty
19/06/15	
   @danielbryantuk	
  
Matt Raible’s Comparison Framework
19/06/15	
   @danielbryantuk	
  
2. GLUTTONY - Excessive Communication PROTOCOLS
19/06/15	
   @danielbryantuk	
  
Standardize Across the Organization
•  Choose one synchronous protocol
–  e.g. JSON over HTTP
•  Choose one asynchronous protocol
–  e.g. RabbitMQ
Don’t gold-plate, but know your options: ProtoBuf, Thrift, ZeroMQ, MQTT
19/06/15	
   @danielbryantuk	
  
Enterprise communication (Beam me up?)
19/06/15	
   @danielbryantuk	
  
www.dzone.com/research/guide-­‐to-­‐enterprise-­‐integraJon	
  	
  
3. GREED - All your service are Belong to us…
19/06/15	
   @danielbryantuk	
  
How Do Committees Invent?
“organizations which design systems ...
are constrained to produce designs which are copies of the
communication structures of these organizations”
- Melvin Conway, 1968
19/06/15	
   @danielbryantuk	
  
19/06/15	
   @danielbryantuk	
  
Dev	
   QA	
   Ops	
  
Hand-­‐off	
  delays	
  Hand-­‐off	
  delays	
  
Slow	
  feedback	
   Slow	
  feedback	
  
Lack	
  of	
  cohesion,	
  shared	
  understanding	
  and	
  joint	
  accountability	
  
Front-­‐end	
   Database	
  
Middleware	
  
19/06/15	
   @danielbryantuk	
  
Cross-functional Teams
•  Spotify (bit.ly/1C46ZKo)
–  Culture
•  Amazon (bit.ly/1F3Dgkm)
–  Communication
•  Gilt (gi.lt/1rgyWvO)
–  Strategic alignment
19/06/15	
   @danielbryantuk	
  
Conway was Telling the Truth... Deal with it!
19/06/15	
   @danielbryantuk	
  
4. SLOTH - Creating a distributed monolith
19/06/15	
   @danielbryantuk	
  
Can’t Deploy Services Independently?
Check your ‘bounded contexts’ and/or data ‘fault-lines’
(Also, check you have separated deploy and release)
19/06/15	
   @danielbryantuk	
  
Can’t Deploy Services Independently?
•  Schema-first design
–  Michael Bryzek (Gilt): APIdoc
•  Consumer-driven Contracts FTW
–  Martin Fowler: CDC - A Service Evolution Pattern
“CDC is BDD for microservices”
19/06/15	
   @danielbryantuk	
  
Architecture - not a Dirty Word
•  Technical leadership (bit.ly/1EUwpLl)
•  Communication (bit.ly/1Ia3u8o)
•  Promote shared understanding
•  ‘Just enough’ up front design
19/06/15	
   @danielbryantuk	
  
5. WRATH - Blowing up when bad things happen
19/06/15	
   @danielbryantuk	
  
Bring in Michael Nygard (Or some monkeys)
19/06/15	
   @danielbryantuk	
  
OPERATIONAL Concerns: Technical
•  Continuous delivery is a microservice prerequisite
– Rapid provisioning
– Basic monitoring
– Rapid application deployment
•  I.E. Agile & DevOps
19/06/15	
   @danielbryantuk	
  
Operational Concerns: Social
•  Failure happens all the time... Get used to it!
•  'Gameday' or 'Disaster in recovery testing' (Real) Scenarios
•  Failure injection testing (FIT):
– Building 'Failure as a Service' at Netflix without the Simian Army
19/06/15	
   @danielbryantuk	
  
Share the pain...
19/06/15	
   @danielbryantuk	
  
“Dev-on-call”
An occasional spike to the head
is a good thing...
...metaphorically speaking
•  You write it, you run it
–  Accountability
–  Shared responsibility
–  Communication
19/06/15	
   @danielbryantuk	
  
6. ENVY - The shared SINGLE domain fallacy
19/06/15	
   @danielbryantuk	
  
One Model to Rule Them All...
•  One model…
–  Breaks encapsulation
–  Introduces coupling
•  Know your DDD
–  Entities
–  Value Objects
–  Aggregates and Roots
19/06/15	
   @danielbryantuk	
  
But... how do I generate Reports?
•  Aggregated reporting pattern
– Pull by service
•  Data Pumps
– Push (Event sourcing?)
19/06/15	
   @danielbryantuk	
  
7. PRIDE - testing in the world of transience
19/06/15	
   @danielbryantuk	
  
People are surprisingly quiet about this...
19/06/15	
   @danielbryantuk	
  
marJnfowler.com/arJcles/microservice-­‐tesJng/	
  	
  
Testing With Microservices is Difficult...
•  Invest in your build pipeline testing
– Serenity BDD
– Wiremock / Saboteur
– Jenkins Performance plugin
19/06/15	
   @danielbryantuk	
  
Testing With Microservices is Difficult...
•  Do it in production(?)
–  Netflix
–  Hailo
–  Gilt
•  This is an advanced pattern!
–  Automation is essential!
19/06/15	
   @danielbryantuk	
  
Summary
•  1. LUST - Using the latest and greatest tech…
•  2. GLUTTONY - Excessive communication protocols
•  3. GREED - All your service are belong to us…
•  4. SLOTH - Creating a distributed monolith
•  5. WRATH - Blowing up when bad things happen
•  6. ENVY - The shared single domain fallacy
•  7. PRIDE - testing in the world of transience
19/06/15	
   @danielbryantuk	
  
19/06/15	
   @danielbryantuk	
  
THANKS...
@danielbryantuk
daniel.bryant@container-solutions.com
@containersoluti
www.container-solutions.com
(Credit to Tareq Abedrabbo for inspiration/guidance)
19/06/15	
   @danielbryantuk	
  

More Related Content

What's hot

ACCU16 "Let's Not Repeat the Mistakes of SOA: 'Micro' Services, Macro Organis...
ACCU16 "Let's Not Repeat the Mistakes of SOA: 'Micro' Services, Macro Organis...ACCU16 "Let's Not Repeat the Mistakes of SOA: 'Micro' Services, Macro Organis...
ACCU16 "Let's Not Repeat the Mistakes of SOA: 'Micro' Services, Macro Organis...
Daniel Bryant
 
OC 2015: The Business Behind Microservices
OC 2015: The Business Behind MicroservicesOC 2015: The Business Behind Microservices
OC 2015: The Business Behind Microservices
Daniel Bryant
 
J1 2015 "Thinking Fast and Slow with Software Development"
J1 2015 "Thinking Fast and Slow with Software Development"J1 2015 "Thinking Fast and Slow with Software Development"
J1 2015 "Thinking Fast and Slow with Software Development"
Daniel Bryant
 
DevoxxUK 2016: "DevOps: Microservices, containers, platforms, tooling... Oh y...
DevoxxUK 2016: "DevOps: Microservices, containers, platforms, tooling... Oh y...DevoxxUK 2016: "DevOps: Microservices, containers, platforms, tooling... Oh y...
DevoxxUK 2016: "DevOps: Microservices, containers, platforms, tooling... Oh y...
Daniel Bryant
 
MicroManchester 2016 "A Brief Guide to Microservices"
MicroManchester 2016 "A Brief Guide to Microservices"MicroManchester 2016 "A Brief Guide to Microservices"
MicroManchester 2016 "A Brief Guide to Microservices"
Daniel Bryant
 
Microservice Summit 2016 "Microservices: The Organisational and People Impact"
Microservice Summit 2016 "Microservices: The Organisational and People Impact"Microservice Summit 2016 "Microservices: The Organisational and People Impact"
Microservice Summit 2016 "Microservices: The Organisational and People Impact"
Daniel Bryant
 
vJUG24 2016 "Seven (More) Deadly Sins of Microservice"
vJUG24 2016 "Seven (More) Deadly Sins of Microservice"vJUG24 2016 "Seven (More) Deadly Sins of Microservice"
vJUG24 2016 "Seven (More) Deadly Sins of Microservice"
Daniel Bryant
 
Micro Manchester Meetup: "The Seven (More) Deadly Sins of Microservices"
Micro Manchester Meetup: "The Seven (More) Deadly Sins of Microservices"Micro Manchester Meetup: "The Seven (More) Deadly Sins of Microservices"
Micro Manchester Meetup: "The Seven (More) Deadly Sins of Microservices"
Daniel Bryant
 
SwisscomSoftwareDay 2016 "The Trials and Tribulations of Making Software Small"
SwisscomSoftwareDay 2016 "The Trials and Tribulations of Making Software Small"SwisscomSoftwareDay 2016 "The Trials and Tribulations of Making Software Small"
SwisscomSoftwareDay 2016 "The Trials and Tribulations of Making Software Small"
Daniel Bryant
 
OSCON EU 2016 "Seven (More) Deadly Sins of Microservices"
OSCON EU 2016 "Seven (More) Deadly Sins of Microservices"OSCON EU 2016 "Seven (More) Deadly Sins of Microservices"
OSCON EU 2016 "Seven (More) Deadly Sins of Microservices"
Daniel Bryant
 
JavaOne 2016 "Java, Microservices, Cloud and Containers"
JavaOne 2016 "Java, Microservices, Cloud and Containers"JavaOne 2016 "Java, Microservices, Cloud and Containers"
JavaOne 2016 "Java, Microservices, Cloud and Containers"
Daniel Bryant
 
JAX London 2016: "Empathy - The hidden ingredient of good software development?"
JAX London 2016: "Empathy - The hidden ingredient of good software development?"JAX London 2016: "Empathy - The hidden ingredient of good software development?"
JAX London 2016: "Empathy - The hidden ingredient of good software development?"
Daniel Bryant
 
ContainerSched 2015 "Our journey to world (gifting) domination - how notonthe...
ContainerSched 2015 "Our journey to world (gifting) domination - how notonthe...ContainerSched 2015 "Our journey to world (gifting) domination - how notonthe...
ContainerSched 2015 "Our journey to world (gifting) domination - how notonthe...
Daniel Bryant
 
muCon 2016: "Seven (More) Deadly Sins of Microservices"
muCon 2016: "Seven (More) Deadly Sins of Microservices"muCon 2016: "Seven (More) Deadly Sins of Microservices"
muCon 2016: "Seven (More) Deadly Sins of Microservices"
Daniel Bryant
 
DLJCJUG 2015: The Seven Deadly Sins of Microservices
DLJCJUG 2015: The Seven Deadly Sins of MicroservicesDLJCJUG 2015: The Seven Deadly Sins of Microservices
DLJCJUG 2015: The Seven Deadly Sins of Microservices
Daniel Bryant
 
OReilly SACON 2016 "A Practical Guide for Continuous Delivery with Containers"
OReilly SACON 2016 "A Practical Guide for Continuous Delivery with Containers"OReilly SACON 2016 "A Practical Guide for Continuous Delivery with Containers"
OReilly SACON 2016 "A Practical Guide for Continuous Delivery with Containers"
Daniel Bryant
 
OOP/MM 2017: "Seven (More) Deadly Sins of Microservices"
OOP/MM 2017: "Seven (More) Deadly Sins of Microservices"OOP/MM 2017: "Seven (More) Deadly Sins of Microservices"
OOP/MM 2017: "Seven (More) Deadly Sins of Microservices"
Daniel Bryant
 
LJCConf 2013 "Chuck Norris Doesn't Need DevOps"
LJCConf 2013 "Chuck Norris Doesn't Need DevOps"LJCConf 2013 "Chuck Norris Doesn't Need DevOps"
LJCConf 2013 "Chuck Norris Doesn't Need DevOps"
Daniel Bryant
 
LJC: "Chuck Norris Doesn't Do DevOps...but Java developers might benefit"
LJC: "Chuck Norris Doesn't Do DevOps...but Java developers might benefit"LJC: "Chuck Norris Doesn't Do DevOps...but Java developers might benefit"
LJC: "Chuck Norris Doesn't Do DevOps...but Java developers might benefit"
Daniel Bryant
 
Sencha Touch in Action
Sencha Touch in Action Sencha Touch in Action
Sencha Touch in Action
Patrick Sheridan
 

What's hot (20)

ACCU16 "Let's Not Repeat the Mistakes of SOA: 'Micro' Services, Macro Organis...
ACCU16 "Let's Not Repeat the Mistakes of SOA: 'Micro' Services, Macro Organis...ACCU16 "Let's Not Repeat the Mistakes of SOA: 'Micro' Services, Macro Organis...
ACCU16 "Let's Not Repeat the Mistakes of SOA: 'Micro' Services, Macro Organis...
 
OC 2015: The Business Behind Microservices
OC 2015: The Business Behind MicroservicesOC 2015: The Business Behind Microservices
OC 2015: The Business Behind Microservices
 
J1 2015 "Thinking Fast and Slow with Software Development"
J1 2015 "Thinking Fast and Slow with Software Development"J1 2015 "Thinking Fast and Slow with Software Development"
J1 2015 "Thinking Fast and Slow with Software Development"
 
DevoxxUK 2016: "DevOps: Microservices, containers, platforms, tooling... Oh y...
DevoxxUK 2016: "DevOps: Microservices, containers, platforms, tooling... Oh y...DevoxxUK 2016: "DevOps: Microservices, containers, platforms, tooling... Oh y...
DevoxxUK 2016: "DevOps: Microservices, containers, platforms, tooling... Oh y...
 
MicroManchester 2016 "A Brief Guide to Microservices"
MicroManchester 2016 "A Brief Guide to Microservices"MicroManchester 2016 "A Brief Guide to Microservices"
MicroManchester 2016 "A Brief Guide to Microservices"
 
Microservice Summit 2016 "Microservices: The Organisational and People Impact"
Microservice Summit 2016 "Microservices: The Organisational and People Impact"Microservice Summit 2016 "Microservices: The Organisational and People Impact"
Microservice Summit 2016 "Microservices: The Organisational and People Impact"
 
vJUG24 2016 "Seven (More) Deadly Sins of Microservice"
vJUG24 2016 "Seven (More) Deadly Sins of Microservice"vJUG24 2016 "Seven (More) Deadly Sins of Microservice"
vJUG24 2016 "Seven (More) Deadly Sins of Microservice"
 
Micro Manchester Meetup: "The Seven (More) Deadly Sins of Microservices"
Micro Manchester Meetup: "The Seven (More) Deadly Sins of Microservices"Micro Manchester Meetup: "The Seven (More) Deadly Sins of Microservices"
Micro Manchester Meetup: "The Seven (More) Deadly Sins of Microservices"
 
SwisscomSoftwareDay 2016 "The Trials and Tribulations of Making Software Small"
SwisscomSoftwareDay 2016 "The Trials and Tribulations of Making Software Small"SwisscomSoftwareDay 2016 "The Trials and Tribulations of Making Software Small"
SwisscomSoftwareDay 2016 "The Trials and Tribulations of Making Software Small"
 
OSCON EU 2016 "Seven (More) Deadly Sins of Microservices"
OSCON EU 2016 "Seven (More) Deadly Sins of Microservices"OSCON EU 2016 "Seven (More) Deadly Sins of Microservices"
OSCON EU 2016 "Seven (More) Deadly Sins of Microservices"
 
JavaOne 2016 "Java, Microservices, Cloud and Containers"
JavaOne 2016 "Java, Microservices, Cloud and Containers"JavaOne 2016 "Java, Microservices, Cloud and Containers"
JavaOne 2016 "Java, Microservices, Cloud and Containers"
 
JAX London 2016: "Empathy - The hidden ingredient of good software development?"
JAX London 2016: "Empathy - The hidden ingredient of good software development?"JAX London 2016: "Empathy - The hidden ingredient of good software development?"
JAX London 2016: "Empathy - The hidden ingredient of good software development?"
 
ContainerSched 2015 "Our journey to world (gifting) domination - how notonthe...
ContainerSched 2015 "Our journey to world (gifting) domination - how notonthe...ContainerSched 2015 "Our journey to world (gifting) domination - how notonthe...
ContainerSched 2015 "Our journey to world (gifting) domination - how notonthe...
 
muCon 2016: "Seven (More) Deadly Sins of Microservices"
muCon 2016: "Seven (More) Deadly Sins of Microservices"muCon 2016: "Seven (More) Deadly Sins of Microservices"
muCon 2016: "Seven (More) Deadly Sins of Microservices"
 
DLJCJUG 2015: The Seven Deadly Sins of Microservices
DLJCJUG 2015: The Seven Deadly Sins of MicroservicesDLJCJUG 2015: The Seven Deadly Sins of Microservices
DLJCJUG 2015: The Seven Deadly Sins of Microservices
 
OReilly SACON 2016 "A Practical Guide for Continuous Delivery with Containers"
OReilly SACON 2016 "A Practical Guide for Continuous Delivery with Containers"OReilly SACON 2016 "A Practical Guide for Continuous Delivery with Containers"
OReilly SACON 2016 "A Practical Guide for Continuous Delivery with Containers"
 
OOP/MM 2017: "Seven (More) Deadly Sins of Microservices"
OOP/MM 2017: "Seven (More) Deadly Sins of Microservices"OOP/MM 2017: "Seven (More) Deadly Sins of Microservices"
OOP/MM 2017: "Seven (More) Deadly Sins of Microservices"
 
LJCConf 2013 "Chuck Norris Doesn't Need DevOps"
LJCConf 2013 "Chuck Norris Doesn't Need DevOps"LJCConf 2013 "Chuck Norris Doesn't Need DevOps"
LJCConf 2013 "Chuck Norris Doesn't Need DevOps"
 
LJC: "Chuck Norris Doesn't Do DevOps...but Java developers might benefit"
LJC: "Chuck Norris Doesn't Do DevOps...but Java developers might benefit"LJC: "Chuck Norris Doesn't Do DevOps...but Java developers might benefit"
LJC: "Chuck Norris Doesn't Do DevOps...but Java developers might benefit"
 
Sencha Touch in Action
Sencha Touch in Action Sencha Touch in Action
Sencha Touch in Action
 

Viewers also liked

The Role of Enterprise Integration in Digital Transformation
The Role of Enterprise Integration in Digital TransformationThe Role of Enterprise Integration in Digital Transformation
The Role of Enterprise Integration in Digital Transformation
Kasun Indrasiri
 
Microservices: Lessons from the Trenches
Microservices: Lessons from the TrenchesMicroservices: Lessons from the Trenches
Microservices: Lessons from the Trenches
Gregory Beamer
 
Declarative User Interfaces Leveraging React, Redux and Apex Microservices
Declarative User Interfaces Leveraging  React, Redux and Apex MicroservicesDeclarative User Interfaces Leveraging  React, Redux and Apex Microservices
Declarative User Interfaces Leveraging React, Redux and Apex Microservices
Kenandy
 
Sly Mongoose: A Responsive Comic
Sly Mongoose: A Responsive ComicSly Mongoose: A Responsive Comic
Sly Mongoose: A Responsive Comic
pablodefendini
 
Microservices - stress-free and without increased heart-attack risk - Uwe Fri...
Microservices - stress-free and without increased heart-attack risk - Uwe Fri...Microservices - stress-free and without increased heart-attack risk - Uwe Fri...
Microservices - stress-free and without increased heart-attack risk - Uwe Fri...
distributed matters
 
7 Deadly Sins of Agile Software Test Automation
7 Deadly Sins of Agile Software Test Automation7 Deadly Sins of Agile Software Test Automation
7 Deadly Sins of Agile Software Test Automation
Adrian Smith
 
Telecom italia oss transformation roadmap marco daccò venice 2010
Telecom italia  oss transformation roadmap   marco daccò venice 2010Telecom italia  oss transformation roadmap   marco daccò venice 2010
Telecom italia oss transformation roadmap marco daccò venice 2010
Marco Daccò
 
JavaOne: Efficiently building and deploying microservices
JavaOne: Efficiently building and deploying microservicesJavaOne: Efficiently building and deploying microservices
JavaOne: Efficiently building and deploying microservices
Bart Blommaerts
 
Microservices and modularity with java
Microservices and modularity with javaMicroservices and modularity with java
Microservices and modularity with java
DPC Consulting Ltd
 
The Seven Deadly Sins
The Seven Deadly SinsThe Seven Deadly Sins
The Seven Deadly Sins
wsmithdio
 
VisionMobile - Developer Megatrends H1 2015
VisionMobile - Developer Megatrends H1 2015VisionMobile - Developer Megatrends H1 2015
VisionMobile - Developer Megatrends H1 2015
SlashData
 
Redesigning the Netflix API - OSCON
Redesigning the Netflix API - OSCONRedesigning the Netflix API - OSCON
Redesigning the Netflix API - OSCON
Daniel Jacobson
 
Integration Patterns for Microservices Architectures
Integration Patterns for Microservices ArchitecturesIntegration Patterns for Microservices Architectures
Integration Patterns for Microservices Architectures
Apcera
 
How Small Can Java Microservices Be?
How Small Can Java Microservices Be?How Small Can Java Microservices Be?
How Small Can Java Microservices Be?
Eberhard Wolff
 
Java Microservices with Netflix OSS & Spring
Java Microservices with Netflix OSS & Spring Java Microservices with Netflix OSS & Spring
Java Microservices with Netflix OSS & Spring
Conor Svensson
 
Bimodal IT: Shortcut to Innovation or Path to Dysfunction?
Bimodal IT: Shortcut to Innovation or Path to Dysfunction?Bimodal IT: Shortcut to Innovation or Path to Dysfunction?
Bimodal IT: Shortcut to Innovation or Path to Dysfunction?
dev2ops
 
INNOVATION BLUEPRINTS FOR BIMODAL IT
INNOVATION BLUEPRINTS FOR BIMODAL ITINNOVATION BLUEPRINTS FOR BIMODAL IT
INNOVATION BLUEPRINTS FOR BIMODAL IT
NVISIA
 
Microservices Architecture
Microservices ArchitectureMicroservices Architecture
Microservices Architecture
Izzet Mustafaiev
 
MicroserviceArchitecture in detail over Monolith.
MicroserviceArchitecture in detail over Monolith.MicroserviceArchitecture in detail over Monolith.
MicroserviceArchitecture in detail over Monolith.
PLovababu
 
Microservices
MicroservicesMicroservices
Microservices
Varnish Software
 

Viewers also liked (20)

The Role of Enterprise Integration in Digital Transformation
The Role of Enterprise Integration in Digital TransformationThe Role of Enterprise Integration in Digital Transformation
The Role of Enterprise Integration in Digital Transformation
 
Microservices: Lessons from the Trenches
Microservices: Lessons from the TrenchesMicroservices: Lessons from the Trenches
Microservices: Lessons from the Trenches
 
Declarative User Interfaces Leveraging React, Redux and Apex Microservices
Declarative User Interfaces Leveraging  React, Redux and Apex MicroservicesDeclarative User Interfaces Leveraging  React, Redux and Apex Microservices
Declarative User Interfaces Leveraging React, Redux and Apex Microservices
 
Sly Mongoose: A Responsive Comic
Sly Mongoose: A Responsive ComicSly Mongoose: A Responsive Comic
Sly Mongoose: A Responsive Comic
 
Microservices - stress-free and without increased heart-attack risk - Uwe Fri...
Microservices - stress-free and without increased heart-attack risk - Uwe Fri...Microservices - stress-free and without increased heart-attack risk - Uwe Fri...
Microservices - stress-free and without increased heart-attack risk - Uwe Fri...
 
7 Deadly Sins of Agile Software Test Automation
7 Deadly Sins of Agile Software Test Automation7 Deadly Sins of Agile Software Test Automation
7 Deadly Sins of Agile Software Test Automation
 
Telecom italia oss transformation roadmap marco daccò venice 2010
Telecom italia  oss transformation roadmap   marco daccò venice 2010Telecom italia  oss transformation roadmap   marco daccò venice 2010
Telecom italia oss transformation roadmap marco daccò venice 2010
 
JavaOne: Efficiently building and deploying microservices
JavaOne: Efficiently building and deploying microservicesJavaOne: Efficiently building and deploying microservices
JavaOne: Efficiently building and deploying microservices
 
Microservices and modularity with java
Microservices and modularity with javaMicroservices and modularity with java
Microservices and modularity with java
 
The Seven Deadly Sins
The Seven Deadly SinsThe Seven Deadly Sins
The Seven Deadly Sins
 
VisionMobile - Developer Megatrends H1 2015
VisionMobile - Developer Megatrends H1 2015VisionMobile - Developer Megatrends H1 2015
VisionMobile - Developer Megatrends H1 2015
 
Redesigning the Netflix API - OSCON
Redesigning the Netflix API - OSCONRedesigning the Netflix API - OSCON
Redesigning the Netflix API - OSCON
 
Integration Patterns for Microservices Architectures
Integration Patterns for Microservices ArchitecturesIntegration Patterns for Microservices Architectures
Integration Patterns for Microservices Architectures
 
How Small Can Java Microservices Be?
How Small Can Java Microservices Be?How Small Can Java Microservices Be?
How Small Can Java Microservices Be?
 
Java Microservices with Netflix OSS & Spring
Java Microservices with Netflix OSS & Spring Java Microservices with Netflix OSS & Spring
Java Microservices with Netflix OSS & Spring
 
Bimodal IT: Shortcut to Innovation or Path to Dysfunction?
Bimodal IT: Shortcut to Innovation or Path to Dysfunction?Bimodal IT: Shortcut to Innovation or Path to Dysfunction?
Bimodal IT: Shortcut to Innovation or Path to Dysfunction?
 
INNOVATION BLUEPRINTS FOR BIMODAL IT
INNOVATION BLUEPRINTS FOR BIMODAL ITINNOVATION BLUEPRINTS FOR BIMODAL IT
INNOVATION BLUEPRINTS FOR BIMODAL IT
 
Microservices Architecture
Microservices ArchitectureMicroservices Architecture
Microservices Architecture
 
MicroserviceArchitecture in detail over Monolith.
MicroserviceArchitecture in detail over Monolith.MicroserviceArchitecture in detail over Monolith.
MicroserviceArchitecture in detail over Monolith.
 
Microservices
MicroservicesMicroservices
Microservices
 

Similar to DevoxxUK 2015 "The Seven Deadly Sins of Microservices (Full Version)"

The seven deadly sins of microservices
The seven deadly sins of microservicesThe seven deadly sins of microservices
The seven deadly sins of microservices
Haufe-Lexware GmbH & Co KG
 
Lisbon DevOps: "Seven (More) Deadly Sins of Microservices"
Lisbon DevOps: "Seven (More) Deadly Sins of Microservices"Lisbon DevOps: "Seven (More) Deadly Sins of Microservices"
Lisbon DevOps: "Seven (More) Deadly Sins of Microservices"
Daniel Bryant
 
QCon NY 2015 "The Seven Deadly Sins of Microservices"
QCon NY 2015 "The Seven Deadly Sins of Microservices"QCon NY 2015 "The Seven Deadly Sins of Microservices"
QCon NY 2015 "The Seven Deadly Sins of Microservices"
Daniel Bryant
 
Microservices: The Organizational and People Impact
Microservices: The Organizational and People ImpactMicroservices: The Organizational and People Impact
Microservices: The Organizational and People Impact
Ambassador Labs
 
DevOpsNorth 2017 "Seven (More) Deadly Sins of Microservices"
DevOpsNorth 2017 "Seven (More) Deadly Sins of Microservices"DevOpsNorth 2017 "Seven (More) Deadly Sins of Microservices"
DevOpsNorth 2017 "Seven (More) Deadly Sins of Microservices"
Daniel Bryant
 
JAXDevOps 2017 "The Seven (More) Deadly Sins of Microservices
JAXDevOps 2017 "The Seven (More) Deadly Sins of MicroservicesJAXDevOps 2017 "The Seven (More) Deadly Sins of Microservices
JAXDevOps 2017 "The Seven (More) Deadly Sins of Microservices
Daniel Bryant
 
Thinking fast and slow with software development - Daniel Bryant
Thinking fast and slow with software development - Daniel BryantThinking fast and slow with software development - Daniel Bryant
Thinking fast and slow with software development - Daniel Bryant
JAXLondon_Conference
 
The seven more deadly sins of microservices final
The seven more deadly sins of microservices finalThe seven more deadly sins of microservices final
The seven more deadly sins of microservices final
Haufe-Lexware GmbH & Co KG
 
Haufe #msaday - Seven More Deadly Sins of Microservices by Daniel Bryant
Haufe #msaday - Seven More Deadly Sins of Microservices by Daniel Bryant Haufe #msaday - Seven More Deadly Sins of Microservices by Daniel Bryant
Haufe #msaday - Seven More Deadly Sins of Microservices by Daniel Bryant
OpenCredo
 
Devoxx US 2017 "The Seven (More) Deadly Sins of Microservices"
Devoxx US 2017 "The Seven (More) Deadly Sins of Microservices"Devoxx US 2017 "The Seven (More) Deadly Sins of Microservices"
Devoxx US 2017 "The Seven (More) Deadly Sins of Microservices"
Daniel Bryant
 
GOTO Chicago/CraftConf 2017 "The Seven (More) Deadly Sins of Microservices"
GOTO Chicago/CraftConf 2017 "The Seven (More) Deadly Sins of Microservices"GOTO Chicago/CraftConf 2017 "The Seven (More) Deadly Sins of Microservices"
GOTO Chicago/CraftConf 2017 "The Seven (More) Deadly Sins of Microservices"
Daniel Bryant
 
Haufe #msaday: "Building a Microservice Ecosystem"
Haufe #msaday: "Building a Microservice Ecosystem"Haufe #msaday: "Building a Microservice Ecosystem"
Haufe #msaday: "Building a Microservice Ecosystem"
Daniel Bryant
 
Haufe #msaday - Building a Microservice Ecosystem by Daniel Bryant
Haufe #msaday - Building a Microservice Ecosystem by Daniel Bryant Haufe #msaday - Building a Microservice Ecosystem by Daniel Bryant
Haufe #msaday - Building a Microservice Ecosystem by Daniel Bryant
OpenCredo
 
Building a microservice ecosystem
Building a microservice ecosystemBuilding a microservice ecosystem
Building a microservice ecosystem
Haufe-Lexware GmbH & Co KG
 
microXchg 2017: "Microservices: The People and Organisational Impact"
microXchg 2017: "Microservices: The People and Organisational Impact"microXchg 2017: "Microservices: The People and Organisational Impact"
microXchg 2017: "Microservices: The People and Organisational Impact"
Daniel Bryant
 
JAXLondon 2015 "Thinking Fast and Slow with Software Development"
JAXLondon 2015 "Thinking Fast and Slow with Software Development"JAXLondon 2015 "Thinking Fast and Slow with Software Development"
JAXLondon 2015 "Thinking Fast and Slow with Software Development"
Daniel Bryant
 
deliver:Agile 2018 "Continuous Delivery Patterns for Modern Architectures"
deliver:Agile 2018 "Continuous Delivery Patterns for Modern Architectures"deliver:Agile 2018 "Continuous Delivery Patterns for Modern Architectures"
deliver:Agile 2018 "Continuous Delivery Patterns for Modern Architectures"
Daniel Bryant
 
Continuous Delivery with Containers: The Good, the Bad, and the Ugly
Continuous Delivery with Containers: The Good, the Bad, and the UglyContinuous Delivery with Containers: The Good, the Bad, and the Ugly
Continuous Delivery with Containers: The Good, the Bad, and the Ugly
Daniel Bryant
 
Devternity 2016 "Thinking Fast and Slow with Software Development"
Devternity 2016 "Thinking Fast and Slow with Software Development"Devternity 2016 "Thinking Fast and Slow with Software Development"
Devternity 2016 "Thinking Fast and Slow with Software Development"
Daniel Bryant
 
Jax London 2018: "Testing Microservices from Development to Production"
Jax London 2018: "Testing Microservices from Development to Production"Jax London 2018: "Testing Microservices from Development to Production"
Jax London 2018: "Testing Microservices from Development to Production"
Daniel Bryant
 

Similar to DevoxxUK 2015 "The Seven Deadly Sins of Microservices (Full Version)" (20)

The seven deadly sins of microservices
The seven deadly sins of microservicesThe seven deadly sins of microservices
The seven deadly sins of microservices
 
Lisbon DevOps: "Seven (More) Deadly Sins of Microservices"
Lisbon DevOps: "Seven (More) Deadly Sins of Microservices"Lisbon DevOps: "Seven (More) Deadly Sins of Microservices"
Lisbon DevOps: "Seven (More) Deadly Sins of Microservices"
 
QCon NY 2015 "The Seven Deadly Sins of Microservices"
QCon NY 2015 "The Seven Deadly Sins of Microservices"QCon NY 2015 "The Seven Deadly Sins of Microservices"
QCon NY 2015 "The Seven Deadly Sins of Microservices"
 
Microservices: The Organizational and People Impact
Microservices: The Organizational and People ImpactMicroservices: The Organizational and People Impact
Microservices: The Organizational and People Impact
 
DevOpsNorth 2017 "Seven (More) Deadly Sins of Microservices"
DevOpsNorth 2017 "Seven (More) Deadly Sins of Microservices"DevOpsNorth 2017 "Seven (More) Deadly Sins of Microservices"
DevOpsNorth 2017 "Seven (More) Deadly Sins of Microservices"
 
JAXDevOps 2017 "The Seven (More) Deadly Sins of Microservices
JAXDevOps 2017 "The Seven (More) Deadly Sins of MicroservicesJAXDevOps 2017 "The Seven (More) Deadly Sins of Microservices
JAXDevOps 2017 "The Seven (More) Deadly Sins of Microservices
 
Thinking fast and slow with software development - Daniel Bryant
Thinking fast and slow with software development - Daniel BryantThinking fast and slow with software development - Daniel Bryant
Thinking fast and slow with software development - Daniel Bryant
 
The seven more deadly sins of microservices final
The seven more deadly sins of microservices finalThe seven more deadly sins of microservices final
The seven more deadly sins of microservices final
 
Haufe #msaday - Seven More Deadly Sins of Microservices by Daniel Bryant
Haufe #msaday - Seven More Deadly Sins of Microservices by Daniel Bryant Haufe #msaday - Seven More Deadly Sins of Microservices by Daniel Bryant
Haufe #msaday - Seven More Deadly Sins of Microservices by Daniel Bryant
 
Devoxx US 2017 "The Seven (More) Deadly Sins of Microservices"
Devoxx US 2017 "The Seven (More) Deadly Sins of Microservices"Devoxx US 2017 "The Seven (More) Deadly Sins of Microservices"
Devoxx US 2017 "The Seven (More) Deadly Sins of Microservices"
 
GOTO Chicago/CraftConf 2017 "The Seven (More) Deadly Sins of Microservices"
GOTO Chicago/CraftConf 2017 "The Seven (More) Deadly Sins of Microservices"GOTO Chicago/CraftConf 2017 "The Seven (More) Deadly Sins of Microservices"
GOTO Chicago/CraftConf 2017 "The Seven (More) Deadly Sins of Microservices"
 
Haufe #msaday: "Building a Microservice Ecosystem"
Haufe #msaday: "Building a Microservice Ecosystem"Haufe #msaday: "Building a Microservice Ecosystem"
Haufe #msaday: "Building a Microservice Ecosystem"
 
Haufe #msaday - Building a Microservice Ecosystem by Daniel Bryant
Haufe #msaday - Building a Microservice Ecosystem by Daniel Bryant Haufe #msaday - Building a Microservice Ecosystem by Daniel Bryant
Haufe #msaday - Building a Microservice Ecosystem by Daniel Bryant
 
Building a microservice ecosystem
Building a microservice ecosystemBuilding a microservice ecosystem
Building a microservice ecosystem
 
microXchg 2017: "Microservices: The People and Organisational Impact"
microXchg 2017: "Microservices: The People and Organisational Impact"microXchg 2017: "Microservices: The People and Organisational Impact"
microXchg 2017: "Microservices: The People and Organisational Impact"
 
JAXLondon 2015 "Thinking Fast and Slow with Software Development"
JAXLondon 2015 "Thinking Fast and Slow with Software Development"JAXLondon 2015 "Thinking Fast and Slow with Software Development"
JAXLondon 2015 "Thinking Fast and Slow with Software Development"
 
deliver:Agile 2018 "Continuous Delivery Patterns for Modern Architectures"
deliver:Agile 2018 "Continuous Delivery Patterns for Modern Architectures"deliver:Agile 2018 "Continuous Delivery Patterns for Modern Architectures"
deliver:Agile 2018 "Continuous Delivery Patterns for Modern Architectures"
 
Continuous Delivery with Containers: The Good, the Bad, and the Ugly
Continuous Delivery with Containers: The Good, the Bad, and the UglyContinuous Delivery with Containers: The Good, the Bad, and the Ugly
Continuous Delivery with Containers: The Good, the Bad, and the Ugly
 
Devternity 2016 "Thinking Fast and Slow with Software Development"
Devternity 2016 "Thinking Fast and Slow with Software Development"Devternity 2016 "Thinking Fast and Slow with Software Development"
Devternity 2016 "Thinking Fast and Slow with Software Development"
 
Jax London 2018: "Testing Microservices from Development to Production"
Jax London 2018: "Testing Microservices from Development to Production"Jax London 2018: "Testing Microservices from Development to Production"
Jax London 2018: "Testing Microservices from Development to Production"
 

More from Daniel Bryant

ITKonekt 2023: The Busy Platform Engineers Guide to API Gateways
ITKonekt 2023: The Busy Platform Engineers Guide to API GatewaysITKonekt 2023: The Busy Platform Engineers Guide to API Gateways
ITKonekt 2023: The Busy Platform Engineers Guide to API Gateways
Daniel Bryant
 
CraftConf 2023 "Microservice Testing Techniques: Mocks vs Service Virtualizat...
CraftConf 2023 "Microservice Testing Techniques: Mocks vs Service Virtualizat...CraftConf 2023 "Microservice Testing Techniques: Mocks vs Service Virtualizat...
CraftConf 2023 "Microservice Testing Techniques: Mocks vs Service Virtualizat...
Daniel Bryant
 
PlatformCon 23: "The Busy Platform Engineers Guide to API Gateways"
PlatformCon 23: "The Busy Platform Engineers Guide to API Gateways"PlatformCon 23: "The Busy Platform Engineers Guide to API Gateways"
PlatformCon 23: "The Busy Platform Engineers Guide to API Gateways"
Daniel Bryant
 
Java Meetup 23: 'Debugging Microservices "Remocally" in Kubernetes with Telep...
Java Meetup 23: 'Debugging Microservices "Remocally" in Kubernetes with Telep...Java Meetup 23: 'Debugging Microservices "Remocally" in Kubernetes with Telep...
Java Meetup 23: 'Debugging Microservices "Remocally" in Kubernetes with Telep...
Daniel Bryant
 
DevRelCon 2022: "Is Product Led Growth (PLG) the “DevOps” of the DevRel World"
DevRelCon 2022: "Is Product Led Growth (PLG) the “DevOps” of the DevRel World"DevRelCon 2022: "Is Product Led Growth (PLG) the “DevOps” of the DevRel World"
DevRelCon 2022: "Is Product Led Growth (PLG) the “DevOps” of the DevRel World"
Daniel Bryant
 
Fall 22: "From Kubernetes to PaaS to... err, what's next"
Fall 22: "From Kubernetes to PaaS to... err, what's next"Fall 22: "From Kubernetes to PaaS to... err, what's next"
Fall 22: "From Kubernetes to PaaS to... err, what's next"
Daniel Bryant
 
Building Microservice Systems Without Cooking Your Laptop: Going “Remocal” wi...
Building Microservice Systems Without Cooking Your Laptop: Going “Remocal” wi...Building Microservice Systems Without Cooking Your Laptop: Going “Remocal” wi...
Building Microservice Systems Without Cooking Your Laptop: Going “Remocal” wi...
Daniel Bryant
 
KubeCrash 22: Debugging Microservices "Remocally" in Kubernetes with Telepres...
KubeCrash 22: Debugging Microservices "Remocally" in Kubernetes with Telepres...KubeCrash 22: Debugging Microservices "Remocally" in Kubernetes with Telepres...
KubeCrash 22: Debugging Microservices "Remocally" in Kubernetes with Telepres...
Daniel Bryant
 
JAX London 22: Debugging Microservices "Remocally" in Kubernetes with Telepre...
JAX London 22: Debugging Microservices "Remocally" in Kubernetes with Telepre...JAX London 22: Debugging Microservices "Remocally" in Kubernetes with Telepre...
JAX London 22: Debugging Microservices "Remocally" in Kubernetes with Telepre...
Daniel Bryant
 
CloudBuilders 2022: "The Past, Present, and Future of Cloud Native API Gateways"
CloudBuilders 2022: "The Past, Present, and Future of Cloud Native API Gateways"CloudBuilders 2022: "The Past, Present, and Future of Cloud Native API Gateways"
CloudBuilders 2022: "The Past, Present, and Future of Cloud Native API Gateways"
Daniel Bryant
 
KubeCon EU 2022: From Kubernetes to PaaS to Err What's Next
KubeCon EU 2022: From Kubernetes to PaaS to Err What's NextKubeCon EU 2022: From Kubernetes to PaaS to Err What's Next
KubeCon EU 2022: From Kubernetes to PaaS to Err What's Next
Daniel Bryant
 
Devoxx UK 22: Debugging Java Microservices "Remocally" in Kubernetes with Tel...
Devoxx UK 22: Debugging Java Microservices "Remocally" in Kubernetes with Tel...Devoxx UK 22: Debugging Java Microservices "Remocally" in Kubernetes with Tel...
Devoxx UK 22: Debugging Java Microservices "Remocally" in Kubernetes with Tel...
Daniel Bryant
 
DevXDay KubeCon NA 2021: "From Kubernetes to PaaS to Developer Control Planes"
DevXDay KubeCon NA 2021: "From Kubernetes to PaaS to Developer Control Planes"DevXDay KubeCon NA 2021: "From Kubernetes to PaaS to Developer Control Planes"
DevXDay KubeCon NA 2021: "From Kubernetes to PaaS to Developer Control Planes"
Daniel Bryant
 
JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...
JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...
JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...
Daniel Bryant
 
Container Days: Easy Debugging of Microservices Running on Kubernetes with Te...
Container Days: Easy Debugging of Microservices Running on Kubernetes with Te...Container Days: Easy Debugging of Microservices Running on Kubernetes with Te...
Container Days: Easy Debugging of Microservices Running on Kubernetes with Te...
Daniel Bryant
 
Canadian CNCF: "Emissary-ingress 101: An introduction to the CNCF incubation-...
Canadian CNCF: "Emissary-ingress 101: An introduction to the CNCF incubation-...Canadian CNCF: "Emissary-ingress 101: An introduction to the CNCF incubation-...
Canadian CNCF: "Emissary-ingress 101: An introduction to the CNCF incubation-...
Daniel Bryant
 
MJC 2021: "Debugging Java Microservices Running on Kubernetes with Telepresence"
MJC 2021: "Debugging Java Microservices Running on Kubernetes with Telepresence"MJC 2021: "Debugging Java Microservices Running on Kubernetes with Telepresence"
MJC 2021: "Debugging Java Microservices Running on Kubernetes with Telepresence"
Daniel Bryant
 
LJC 4/21"Easy Debugging of Java Microservices Running on Kubernetes with Tele...
LJC 4/21"Easy Debugging of Java Microservices Running on Kubernetes with Tele...LJC 4/21"Easy Debugging of Java Microservices Running on Kubernetes with Tele...
LJC 4/21"Easy Debugging of Java Microservices Running on Kubernetes with Tele...
Daniel Bryant
 
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
Daniel Bryant
 
HashiCorp Webinar: "Getting started with Ambassador and Consul on Kubernetes ...
HashiCorp Webinar: "Getting started with Ambassador and Consul on Kubernetes ...HashiCorp Webinar: "Getting started with Ambassador and Consul on Kubernetes ...
HashiCorp Webinar: "Getting started with Ambassador and Consul on Kubernetes ...
Daniel Bryant
 

More from Daniel Bryant (20)

ITKonekt 2023: The Busy Platform Engineers Guide to API Gateways
ITKonekt 2023: The Busy Platform Engineers Guide to API GatewaysITKonekt 2023: The Busy Platform Engineers Guide to API Gateways
ITKonekt 2023: The Busy Platform Engineers Guide to API Gateways
 
CraftConf 2023 "Microservice Testing Techniques: Mocks vs Service Virtualizat...
CraftConf 2023 "Microservice Testing Techniques: Mocks vs Service Virtualizat...CraftConf 2023 "Microservice Testing Techniques: Mocks vs Service Virtualizat...
CraftConf 2023 "Microservice Testing Techniques: Mocks vs Service Virtualizat...
 
PlatformCon 23: "The Busy Platform Engineers Guide to API Gateways"
PlatformCon 23: "The Busy Platform Engineers Guide to API Gateways"PlatformCon 23: "The Busy Platform Engineers Guide to API Gateways"
PlatformCon 23: "The Busy Platform Engineers Guide to API Gateways"
 
Java Meetup 23: 'Debugging Microservices "Remocally" in Kubernetes with Telep...
Java Meetup 23: 'Debugging Microservices "Remocally" in Kubernetes with Telep...Java Meetup 23: 'Debugging Microservices "Remocally" in Kubernetes with Telep...
Java Meetup 23: 'Debugging Microservices "Remocally" in Kubernetes with Telep...
 
DevRelCon 2022: "Is Product Led Growth (PLG) the “DevOps” of the DevRel World"
DevRelCon 2022: "Is Product Led Growth (PLG) the “DevOps” of the DevRel World"DevRelCon 2022: "Is Product Led Growth (PLG) the “DevOps” of the DevRel World"
DevRelCon 2022: "Is Product Led Growth (PLG) the “DevOps” of the DevRel World"
 
Fall 22: "From Kubernetes to PaaS to... err, what's next"
Fall 22: "From Kubernetes to PaaS to... err, what's next"Fall 22: "From Kubernetes to PaaS to... err, what's next"
Fall 22: "From Kubernetes to PaaS to... err, what's next"
 
Building Microservice Systems Without Cooking Your Laptop: Going “Remocal” wi...
Building Microservice Systems Without Cooking Your Laptop: Going “Remocal” wi...Building Microservice Systems Without Cooking Your Laptop: Going “Remocal” wi...
Building Microservice Systems Without Cooking Your Laptop: Going “Remocal” wi...
 
KubeCrash 22: Debugging Microservices "Remocally" in Kubernetes with Telepres...
KubeCrash 22: Debugging Microservices "Remocally" in Kubernetes with Telepres...KubeCrash 22: Debugging Microservices "Remocally" in Kubernetes with Telepres...
KubeCrash 22: Debugging Microservices "Remocally" in Kubernetes with Telepres...
 
JAX London 22: Debugging Microservices "Remocally" in Kubernetes with Telepre...
JAX London 22: Debugging Microservices "Remocally" in Kubernetes with Telepre...JAX London 22: Debugging Microservices "Remocally" in Kubernetes with Telepre...
JAX London 22: Debugging Microservices "Remocally" in Kubernetes with Telepre...
 
CloudBuilders 2022: "The Past, Present, and Future of Cloud Native API Gateways"
CloudBuilders 2022: "The Past, Present, and Future of Cloud Native API Gateways"CloudBuilders 2022: "The Past, Present, and Future of Cloud Native API Gateways"
CloudBuilders 2022: "The Past, Present, and Future of Cloud Native API Gateways"
 
KubeCon EU 2022: From Kubernetes to PaaS to Err What's Next
KubeCon EU 2022: From Kubernetes to PaaS to Err What's NextKubeCon EU 2022: From Kubernetes to PaaS to Err What's Next
KubeCon EU 2022: From Kubernetes to PaaS to Err What's Next
 
Devoxx UK 22: Debugging Java Microservices "Remocally" in Kubernetes with Tel...
Devoxx UK 22: Debugging Java Microservices "Remocally" in Kubernetes with Tel...Devoxx UK 22: Debugging Java Microservices "Remocally" in Kubernetes with Tel...
Devoxx UK 22: Debugging Java Microservices "Remocally" in Kubernetes with Tel...
 
DevXDay KubeCon NA 2021: "From Kubernetes to PaaS to Developer Control Planes"
DevXDay KubeCon NA 2021: "From Kubernetes to PaaS to Developer Control Planes"DevXDay KubeCon NA 2021: "From Kubernetes to PaaS to Developer Control Planes"
DevXDay KubeCon NA 2021: "From Kubernetes to PaaS to Developer Control Planes"
 
JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...
JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...
JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...
 
Container Days: Easy Debugging of Microservices Running on Kubernetes with Te...
Container Days: Easy Debugging of Microservices Running on Kubernetes with Te...Container Days: Easy Debugging of Microservices Running on Kubernetes with Te...
Container Days: Easy Debugging of Microservices Running on Kubernetes with Te...
 
Canadian CNCF: "Emissary-ingress 101: An introduction to the CNCF incubation-...
Canadian CNCF: "Emissary-ingress 101: An introduction to the CNCF incubation-...Canadian CNCF: "Emissary-ingress 101: An introduction to the CNCF incubation-...
Canadian CNCF: "Emissary-ingress 101: An introduction to the CNCF incubation-...
 
MJC 2021: "Debugging Java Microservices Running on Kubernetes with Telepresence"
MJC 2021: "Debugging Java Microservices Running on Kubernetes with Telepresence"MJC 2021: "Debugging Java Microservices Running on Kubernetes with Telepresence"
MJC 2021: "Debugging Java Microservices Running on Kubernetes with Telepresence"
 
LJC 4/21"Easy Debugging of Java Microservices Running on Kubernetes with Tele...
LJC 4/21"Easy Debugging of Java Microservices Running on Kubernetes with Tele...LJC 4/21"Easy Debugging of Java Microservices Running on Kubernetes with Tele...
LJC 4/21"Easy Debugging of Java Microservices Running on Kubernetes with Tele...
 
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
 
HashiCorp Webinar: "Getting started with Ambassador and Consul on Kubernetes ...
HashiCorp Webinar: "Getting started with Ambassador and Consul on Kubernetes ...HashiCorp Webinar: "Getting started with Ambassador and Consul on Kubernetes ...
HashiCorp Webinar: "Getting started with Ambassador and Consul on Kubernetes ...
 

Recently uploaded

A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024
Intelisync
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
Dinusha Kumarasiri
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdfNunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
flufftailshop
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Tatiana Kojar
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
Operating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptxOperating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptx
Pravash Chandra Das
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
alexjohnson7307
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 

Recently uploaded (20)

A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdfNunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
Operating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptxOperating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptx
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 

DevoxxUK 2015 "The Seven Deadly Sins of Microservices (Full Version)"

  • 1. The SeVEN DEADLY SINS OF MICRoservices Daniel Bryant @danielbryantuk Container Solutions London (WITH Credit to Tareq Abedrabbo, OPENCREDO)
  • 2. The Seven Deadly Sins •  1. LUST … •  2. GLUTTONY •  3. GREED… •  4. SLOTH •  5. WRATH •  6. ENVY •  7. PRIDE 19/06/15   @danielbryantuk  
  • 3. The Seven Deadly Sins (of Microservices) •  1. LUST - Using the latest and greatest tech… •  2. GLUTTONY - Excessive communication protocols •  3. GREED - All your service are belong to us… •  4. SLOTH - Creating a distributed monolith •  5. WRATH - Blowing up when bad things happen •  6. ENVY - The shared single domain fallacy •  7. PRIDE - testing in the world of transience 19/06/15   @danielbryantuk  
  • 4. Who Am I? •  OpenCredo / Container Solutions ü  Agile, CI/CD, DevOps ü  Microservices and cloud ü  Docker, Mesos and Kubernetes •  London Java Community Associate •  Adopt OpenJDK and JSR •  InfoQ Editor and DZone MVB 19/06/15   @danielbryantuk  
  • 5. So, What is a microservice? “Loosely coupled service oriented architecture with bounded contexts” Adrian Cockcroft “Applications that fit in your head” James Lewis 19/06/15   @danielbryantuk  
  • 6. 1. Lust - Using THE LATEST and Greatest Tech… 19/06/15   @danielbryantuk  
  • 7. Microservices... They solve all of our problems, Right? 19/06/15   @danielbryantuk  
  • 8. No... Not necessarily good for speed 19/06/15   @danielbryantuk   skillsma7er.com/skillscasts/6143-­‐microservices-­‐for-­‐speed     HOT  OFF  THE  PRESS!!   marJnfowler.com/bliki/ MonolithFirst.html    
  • 9. No... Check your architecture/design skills “If you can't build a [well-structured] monolith, what makes you think microservices are the answer?” Simon Brown (bit.ly/1n7D0vp) 19/06/15   @danielbryantuk  
  • 10. No... Check your architecture/design skills 19/06/15   @danielbryantuk  
  • 11. No... Operational maturity is vital 19/06/15   @danielbryantuk   marJnfowler.com/bliki/MicroservicePrerequisites.html    
  • 12. Microservices are very useful But check your use case... ...Evaluation is a key skill 19/06/15   @danielbryantuk  
  • 13. Evaluation “I will postpone using this shiny new framework until my peers have validated the proposed benefits with rigorous scientific experiments” - Said by no programmer …ever 19/06/15   @danielbryantuk  
  • 14. Pick Your (Technical) Battles...… •  As Dan McKinley says, “Choose Boring Technology” – Optimize globally across organisation •  Java and Spring (Boot) are perfectly acceptable •  ... As are tomcat/jetty 19/06/15   @danielbryantuk  
  • 15. Matt Raible’s Comparison Framework 19/06/15   @danielbryantuk  
  • 16. 2. GLUTTONY - Excessive Communication PROTOCOLS 19/06/15   @danielbryantuk  
  • 17. Standardize Across the Organization •  Choose one synchronous protocol –  e.g. JSON over HTTP •  Choose one asynchronous protocol –  e.g. RabbitMQ Don’t gold-plate, but know your options: ProtoBuf, Thrift, ZeroMQ, MQTT 19/06/15   @danielbryantuk  
  • 18. Enterprise communication (Beam me up?) 19/06/15   @danielbryantuk   www.dzone.com/research/guide-­‐to-­‐enterprise-­‐integraJon    
  • 19. 3. GREED - All your service are Belong to us… 19/06/15   @danielbryantuk  
  • 20. How Do Committees Invent? “organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations” - Melvin Conway, 1968 19/06/15   @danielbryantuk  
  • 21. 19/06/15   @danielbryantuk   Dev   QA   Ops   Hand-­‐off  delays  Hand-­‐off  delays   Slow  feedback   Slow  feedback   Lack  of  cohesion,  shared  understanding  and  joint  accountability   Front-­‐end   Database   Middleware  
  • 23. Cross-functional Teams •  Spotify (bit.ly/1C46ZKo) –  Culture •  Amazon (bit.ly/1F3Dgkm) –  Communication •  Gilt (gi.lt/1rgyWvO) –  Strategic alignment 19/06/15   @danielbryantuk  
  • 24. Conway was Telling the Truth... Deal with it! 19/06/15   @danielbryantuk  
  • 25. 4. SLOTH - Creating a distributed monolith 19/06/15   @danielbryantuk  
  • 26. Can’t Deploy Services Independently? Check your ‘bounded contexts’ and/or data ‘fault-lines’ (Also, check you have separated deploy and release) 19/06/15   @danielbryantuk  
  • 27. Can’t Deploy Services Independently? •  Schema-first design –  Michael Bryzek (Gilt): APIdoc •  Consumer-driven Contracts FTW –  Martin Fowler: CDC - A Service Evolution Pattern “CDC is BDD for microservices” 19/06/15   @danielbryantuk  
  • 28. Architecture - not a Dirty Word •  Technical leadership (bit.ly/1EUwpLl) •  Communication (bit.ly/1Ia3u8o) •  Promote shared understanding •  ‘Just enough’ up front design 19/06/15   @danielbryantuk  
  • 29. 5. WRATH - Blowing up when bad things happen 19/06/15   @danielbryantuk  
  • 30. Bring in Michael Nygard (Or some monkeys) 19/06/15   @danielbryantuk  
  • 31. OPERATIONAL Concerns: Technical •  Continuous delivery is a microservice prerequisite – Rapid provisioning – Basic monitoring – Rapid application deployment •  I.E. Agile & DevOps 19/06/15   @danielbryantuk  
  • 32. Operational Concerns: Social •  Failure happens all the time... Get used to it! •  'Gameday' or 'Disaster in recovery testing' (Real) Scenarios •  Failure injection testing (FIT): – Building 'Failure as a Service' at Netflix without the Simian Army 19/06/15   @danielbryantuk  
  • 33. Share the pain... 19/06/15   @danielbryantuk  
  • 34. “Dev-on-call” An occasional spike to the head is a good thing... ...metaphorically speaking •  You write it, you run it –  Accountability –  Shared responsibility –  Communication 19/06/15   @danielbryantuk  
  • 35. 6. ENVY - The shared SINGLE domain fallacy 19/06/15   @danielbryantuk  
  • 36. One Model to Rule Them All... •  One model… –  Breaks encapsulation –  Introduces coupling •  Know your DDD –  Entities –  Value Objects –  Aggregates and Roots 19/06/15   @danielbryantuk  
  • 37. But... how do I generate Reports? •  Aggregated reporting pattern – Pull by service •  Data Pumps – Push (Event sourcing?) 19/06/15   @danielbryantuk  
  • 38. 7. PRIDE - testing in the world of transience 19/06/15   @danielbryantuk  
  • 39. People are surprisingly quiet about this... 19/06/15   @danielbryantuk   marJnfowler.com/arJcles/microservice-­‐tesJng/    
  • 40. Testing With Microservices is Difficult... •  Invest in your build pipeline testing – Serenity BDD – Wiremock / Saboteur – Jenkins Performance plugin 19/06/15   @danielbryantuk  
  • 41. Testing With Microservices is Difficult... •  Do it in production(?) –  Netflix –  Hailo –  Gilt •  This is an advanced pattern! –  Automation is essential! 19/06/15   @danielbryantuk  
  • 42. Summary •  1. LUST - Using the latest and greatest tech… •  2. GLUTTONY - Excessive communication protocols •  3. GREED - All your service are belong to us… •  4. SLOTH - Creating a distributed monolith •  5. WRATH - Blowing up when bad things happen •  6. ENVY - The shared single domain fallacy •  7. PRIDE - testing in the world of transience 19/06/15   @danielbryantuk