QCon NY 2016: "The Seven (More) Deadly Sins of Microservices"

Daniel Bryant
Daniel BryantHead of DevRel at Ambassador Labs
The Seven (More) DEADLY SINS OF Microservices
Daniel Bryant
@danielbryantuk
OpencRedo
Previously, AT QCON NYC 2015...
14/06/2016 @danielbryantuk
https://www.infoq.com/presentations/7-sins-microservices
The Seven (more) Deadly Sins of Microservices
1. LUST - Using the (Unevaluated) latest and greatest tech…
2. GLUTTONY - Communication lock-in
3. GREED - What'S Mine is mine (within the organisation)…
4. SLOTH - Getting lazy with NFRs
5. WRATH - Blowing up when bad things happen
6. ENVY - The shared single domain (and data store) fallacy
7. PRIDE - testing in the world of transience
14/06/2016 @danielbryantuk
@danielbryantuk
• Chief Scientist at OpenCredo
ü Transformingorganisationsthrough technology and teams
ü Agile, Lean, Architecture, CI/CD, DevOps
ü Microservices, cloud, Containers, Java, Go, Docker, Kubernetes
• London Java Community Associate
• Adopt OpenJDK and JSR
• InfoQ Editor, DZone MVB, VOXXED, O'Reilly
14/06/2016 @danielbryantuk
1. Lust - Using THE LATEST and Greatest Tech…
14/06/2016 @danielbryantuk
Previously...
• Microservices are not always a best fit
– Architectural skills, stage of business, Devops
• Evaluation (and documentation) are under-used skills
– Language, Frameworks, Middleware, data stores
14/06/2016 @danielbryantuk
Evaluation - are Microservices A good fit?
• Not understanding principles (Cargo-culting)
– Not built around business Functionality
– Mini-monoliths
• “our 'mode TWO' apps are Microservices”
– No transformation / migration plan
– SOE evolution limited by SOR
– Lipstick on the pig
• No Well-defined DevOps / SRE / Ops
– Deployment/ops free-for-all
14/06/2016 @danielbryantuk
Evaluation - situational awareness
14/06/2016 @danielbryantuk
philcalcado.com/2015/09/08/how_we_ended_up_with_microservices.html
speakerdeck.com/acolyer/making-sense-of-it-all
Evaluation - start with Why
14/06/2016 @danielbryantuk
Evaluation - Fitness functions
• Microservices as an Evolutionary Architecture
– Neal Ford and Rebecca Parsons
• Great for evaluation and documentation
– Platforms/ Language
– Middleware
– Data stores
14/06/2016 @danielbryantuk
Evaluation - The’Spine Model
• Effective conversations make for effective
collaboration
• It's a TOOL Problem
– As a species, we have always been Tool users
and makers.
– We use _____ to get our work done
• People get stuck in a dilemma where equally
plausible options are available
• “Going up the Spine” breaks deadlock http://spinemodel.info/explanation/introduction/
Determine the need for the tool
• PRACTICES before Tools
– Decide on the Practices that the tools are there to support
– We do _____ to create value
• PRINCIPLES before Practices
– Decide on the Principles to measure those Practices against.
– We leverage _____ to change the system
• VALUES before Principles
– Make as explicitas possible the Values at playin the system.
– We optimise for _____
• NEEDS before Values
– It all starts at Needs. Why does this system exist in the first
place?
– We are here to satisfy _____
http://spinemodel.info/explanation/introduction/
2. GLUTTONY - Communication lock-in
14/06/2016 @danielbryantuk
Rpc - not the devil in disguise
• Don'T rule out RPC (e.g. grpc)
– Sometimes the contract (and speed) are beneficial
– Human readability of JSON is over-rated
• Stick to rest (JSON over HTTPS) on the front-end
– Principle of least surprise
– Best support in Javascript/mobile
14/06/2016 @danielbryantuk
The ESB is dead - long live the esb!
14/06/2016 @danielbryantuk
The ESB is dead - long live the esb!
14/06/2016 @danielbryantuk
The ESB is dead - long live the esb!
14/06/2016 @danielbryantuk
• Is this an ESB?
• Or an API gateway?
The ESB is dead - long live the API Gateway!
14/06/2016 @danielbryantuk
• Watch for the API Gateway morphing
into an Enterprise service bus
– Loose coupling is vital
• But let me be clear...
– The API Gateway pattern is awesome
– Centralise cross-cutting concerns
– Prevent wheel-reinvention (plugins)
– Check out kong, apigee, AWS API Gateway,
Mulesoft etc
ESB != Event Bus
14/06/2016 @danielbryantuk
www.infoq.com/news/2016/02/not-just-microservices www.youtube.com/watch?v=0pfghZxlFSg
3. GREED - What'S mine is mine... (within the organisation)…
14/06/2016 @danielbryantuk
Previously...
• Conway'S Law
• Microservices are about people, as much as they are tech
• Get your business ready
14/06/2016 @danielbryantuk
We hear this a lot...
“We’ve decided to reform our teams around squads, chapters and guilds”
• Beware of cargo-culting
– Repeat three times “We are not spotify”
• Understand the practices, principles, values etc
14/06/2016 @danielbryantuk
Empathy - The Hidden ingredient in Good software development
14/06/2016 @danielbryantuk
http://www.ustream.tv/recorded/86154111
4. SLOTH - Getting Lazy with NFRs
14/06/2016 @danielbryantuk
Getting lazy with non-Functional Requirements
“The driving technical requirements for a system should be identified early
to ensure they are properly handled in subsequent design”
Aidan Casey
Guiding principles for evolutionary architecture
14/06/2016 @danielbryantuk
Getting lazy with non-Functional Requirements
• The 'ilities' Can be (often) be an afterthought
– Availability, Scalability, auditability, testability etc
• Agile/Lean: Delay decisions to the ‘last responsible moment’
– NewsFlash - Sometimes this is up-front
• It can be costly (or prohibitive) to adapt late in the project
– Microservices don'T make this easier (sometimes more difficult)
14/06/2016 @danielbryantuk
Bedtime reading
• Performance and Load testing
– Gatling / jmeter
– Flood.io
• Security testing
– OWASP ZAP
– Bdd-security
14/06/2016 @danielbryantuk
5. WRATH - Blowing up when bad things happen
14/06/2016 @danielbryantuk
Previously - Bring in Michael Nygard (Or some monkeys)
14/06/2016 @danielbryantuk
Technical Pain point - Distributed transactions
• Don't
– (where possible)
– Push transactional scope into single service
• Supervisor/Process Manager
– E.g. Erlang OTP, Akka, EIP
• SAGA pattern
– Workflows providing a path (fork) of
compensating actions
14/06/2016 @OpenCredo
People Pain point - How does Devops fit into this?
• http://web.devopstopologies.com/
• @	matthewpskelton
• @beerops and @sigje
• Google SRE
14/06/2016 @danielbryantuk
Devops - define responsibilities
• Do you really want to build an
entire microservices platform?
• Focus on what matters
– Ci/CD
– Mechanical sympathy
– Logging
– Monitoring
14/06/2016 @danielbryantuk
Devops - the 'fullstack engineer' myth
“I'M sorry, but if you'RE not designing the computer chips and
writing the website, then I don'T wanna hear from you”
Charity Majors (@mipsytipsy), CraftConf 2016
http://www.ustream.tv/recorded/86181845
14/06/2016 @danielbryantuk
DevOps - Responsibilities
14/06/2016 @danielbryantuk
6. ENVY - The shared SINGLE domain (and Data Store) fallacy
14/06/2016 @danielbryantuk
Previously - One Model to Rule Them All...
• One model…
– Breaks encapsulation
– Introduces coupling
• Know your DDD
– Entities
– Value Objects
– Aggregates and Roots
14/06/2016 @danielbryantuk
Context mapping
14/06/2016 @danielbryantuk
www.infoq.com/articles/ddd-contextmapping
www.infoq.com/presentations/ddd-microservices-2016
Choose (and use) data stores appropriately
• RDBMS
– Valuable for structured data
• Cassandra is Awesome
– but don'T treat it like an RDBMS!
• Don'T build a graph with RDBMS
– Use neo4j, Titan etc
• Datagrids e.g. Hazelcast
– Caching, distributed processing
14/06/2016 @danielbryantuk
7. PRIDE - testing in the world of transience
14/06/2016 @danielbryantuk
Previously...
• Local verification
– Consumer-based contracts
• End-to-end
– BDD-style critical path
• Remember the test pyramid
14/06/2016 @danielbryantuk
martinfowler.com/articles/microservice-testing/
Service virtualisation / API simulation
• Virtualise request/response of services
– Unavailable
– Expensive to run
– Fragile/brittle
– Non-deterministic
– Cannot simulate failures
https://dzone.com/articles/continuously-delivering-soa
14/06/2016 @danielbryantuk
Service virtualisation
• Classics
– CA service virtualization
– Parasoft virtualize
– HPE service virtualization
– IBM Test Virtualization server
• New kids on the block
– Hoverfly
– Wiremock
– VCR/Betamax
– Mountebank
– mirage
14/06/2016 @danielbryantuk
Hoverfly
• Lightweight Service virtualisation
– Open source (Apache 2.0)
– Go-based / single binary
– Written by @Spectolabs
• Flexible API simulation
– HTTP / HTTPS
– More Protocols to follow?
14/06/2016 @danielbryantuk
14/06/2016 @danielbryantuk
• Middleware
• Remove	PII
• Rate	limit
• Add	headers
• Middleware
• Fault	injection
• Chaos	monkey
14/06/2016 @danielbryantuk
Hoverfly JUnit rule
14/06/2016 @danielbryantuk
Right, Let'S Wrap this up...
14/06/2016 @danielbryantuk
Avoid being a sinner...
• Strategy
• Principles/Preparation
• Responsibilities
• Defined and shared
• Understood and appropriate
• Clear and c0mmunicated
14/06/2016 @danielbryantuk
Strategy (@Swardley style)
14/06/2016 @danielbryantuk
Strategy (@Swardley style)
14/06/2016 @danielbryantuk
Strategy
14/06/2016 @danielbryantuk
Principles/Preparation - In the olden days
“Give me six hours to chop down a tree
and I will spend the first four sharpening the axe”
Abraham Lincoln
14/06/2016 @danielbryantuk
Principles/Preparation - What I See...
“Give me six hours to chop down a tree
and I will begin planning the construction of a large-scale lumber yard
And on The second day I will discover no-one knows how to use an axe
And on The third day I will buy a handsaw and begin sawing”
Me, attempting to be humourus
14/06/2016 @danielbryantuk
Principles / Preparation
14/06/2016 @danielbryantuk
Responsibilities
14/06/2016 @danielbryantuk
Responsibilities
• Define Responsibilities
– RACI / RASCI
• Architecture
– Super important in microservices
– Less ivory towers, more sim city
• Devops
– Not a free-for-all
– No fullstack heros
14/06/2016 @danielbryantuk
The Seven (more) Deadly Sins of Microservices
1. LUST - Using the (Unevaluated) latest and greatest tech…
2. GLUTTONY - Communication lock-in
3. GREED - What'S Mine is mine (within the organisation)…
4. SLOTH - Getting lazy with NFRs
5. WRATH - Blowing up when bad things happen (txns and ops)
6. ENVY - The shared single domain (and data store) fallacy
7. PRIDE - testing in the world of transience
14/06/2016 @danielbryantuk
The Seven (more) Deadly Sins of Microservices
1. LUST - Using the (Unevaluated) latest and greatest tech…
2. GLUTTONY - Communication Lock-in
3. GREED - What'S Mine is mine (within the organisation)…
4. SLOTH - Getting lazy with NFRs
5. WRATH - Blowing up when bad things happen (txns and ops)
6. ENVY - The shared single domain (and data store) fallacy
7. PRIDE - testing in the world of transience
14/06/2016 @danielbryantuk
(More) Bedtime reading
14/06/2016 @danielbryantuk
THANKS...
@danielbryantuk
daniel.bryant@opencredo.com
http://muservicesweekly.com/
(Credit to Tareq Abedrabbo for inspiration/guidance)
14/06/2016 @danielbryantuk
1 of 60

Recommended

Microservice Summit 2016 "Microservices: The Organisational and People Impact" by
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
1.5K views46 slides
MicroManchester 2016 "A Brief Guide to Microservices" by
MicroManchester 2016 "A Brief Guide to Microservices"MicroManchester 2016 "A Brief Guide to Microservices"
MicroManchester 2016 "A Brief Guide to Microservices"Daniel Bryant
406 views15 slides
MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture ... by
MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture ...MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture ...
MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture ...Daniel Bryant
730 views47 slides
DevoxxUK 2016: "DevOps: Microservices, containers, platforms, tooling... Oh y... by
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
1.5K views52 slides
DevoxxUK 2015 "The Seven Deadly Sins of Microservices (Full Version)" by
DevoxxUK 2015 "The Seven Deadly Sins of Microservices (Full Version)"DevoxxUK 2015 "The Seven Deadly Sins of Microservices (Full Version)"
DevoxxUK 2015 "The Seven Deadly Sins of Microservices (Full Version)"Daniel Bryant
30.1K views44 slides
SwisscomSoftwareDay 2016 "The Trials and Tribulations of Making Software Small" by
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
1.2K views46 slides

More Related Content

What's hot

JAX London 2016: "Empathy - The hidden ingredient of good software development?" by
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
625 views50 slides
OSCON EU 2016 "Seven (More) Deadly Sins of Microservices" by
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
1.2K views53 slides
Micro Manchester Meetup: "The Seven (More) Deadly Sins of Microservices" by
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
755 views67 slides
CTOs in London "The Challenges of Evaluating Development Technology Within th... by
CTOs in London "The Challenges of Evaluating Development Technology Within th...CTOs in London "The Challenges of Evaluating Development Technology Within th...
CTOs in London "The Challenges of Evaluating Development Technology Within th...Daniel Bryant
1.7K views17 slides
BCS 2016 "Intro to Microservices (and the Seven Deadly Sins)" by
BCS 2016 "Intro to Microservices (and the Seven Deadly Sins)"BCS 2016 "Intro to Microservices (and the Seven Deadly Sins)"
BCS 2016 "Intro to Microservices (and the Seven Deadly Sins)"Daniel Bryant
848 views60 slides
LMSUG 2015 "The Business Behind Microservices: Organisational, Architectural ... by
LMSUG 2015 "The Business Behind Microservices: Organisational, Architectural ...LMSUG 2015 "The Business Behind Microservices: Organisational, Architectural ...
LMSUG 2015 "The Business Behind Microservices: Organisational, Architectural ...Daniel Bryant
12.6K views39 slides

What's hot(20)

JAX London 2016: "Empathy - The hidden ingredient of good software development?" by 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?"
Daniel Bryant625 views
OSCON EU 2016 "Seven (More) Deadly Sins of Microservices" by 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"
Daniel Bryant1.2K views
Micro Manchester Meetup: "The Seven (More) Deadly Sins of Microservices" by 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"
Daniel Bryant755 views
CTOs in London "The Challenges of Evaluating Development Technology Within th... by Daniel Bryant
CTOs in London "The Challenges of Evaluating Development Technology Within th...CTOs in London "The Challenges of Evaluating Development Technology Within th...
CTOs in London "The Challenges of Evaluating Development Technology Within th...
Daniel Bryant1.7K views
BCS 2016 "Intro to Microservices (and the Seven Deadly Sins)" by Daniel Bryant
BCS 2016 "Intro to Microservices (and the Seven Deadly Sins)"BCS 2016 "Intro to Microservices (and the Seven Deadly Sins)"
BCS 2016 "Intro to Microservices (and the Seven Deadly Sins)"
Daniel Bryant848 views
LMSUG 2015 "The Business Behind Microservices: Organisational, Architectural ... by Daniel Bryant
LMSUG 2015 "The Business Behind Microservices: Organisational, Architectural ...LMSUG 2015 "The Business Behind Microservices: Organisational, Architectural ...
LMSUG 2015 "The Business Behind Microservices: Organisational, Architectural ...
Daniel Bryant12.6K views
ACCU16 "Let's Not Repeat the Mistakes of SOA: 'Micro' Services, Macro Organis... by Daniel Bryant
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 Bryant1.4K views
J1 2015 "Thinking Fast and Slow with Software Development" by 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"
Daniel Bryant2.6K views
muCon 2015 "The Business Behind Microservices: Organisational, Architectural,... by Daniel Bryant
muCon 2015 "The Business Behind Microservices: Organisational, Architectural,...muCon 2015 "The Business Behind Microservices: Organisational, Architectural,...
muCon 2015 "The Business Behind Microservices: Organisational, Architectural,...
Daniel Bryant6.7K views
TTN 2015 "Defining DevOps: Concepts, Technology and Automation. Oh yeah, and ... by Daniel Bryant
TTN 2015 "Defining DevOps: Concepts, Technology and Automation. Oh yeah, and ...TTN 2015 "Defining DevOps: Concepts, Technology and Automation. Oh yeah, and ...
TTN 2015 "Defining DevOps: Concepts, Technology and Automation. Oh yeah, and ...
Daniel Bryant2.8K views
OOP2016 "The Business Behind Microservices: Organisational, Architectural and... by Daniel Bryant
OOP2016 "The Business Behind Microservices: Organisational, Architectural and...OOP2016 "The Business Behind Microservices: Organisational, Architectural and...
OOP2016 "The Business Behind Microservices: Organisational, Architectural and...
Daniel Bryant2.7K views
OReilly SACON 2016 "A Practical Guide for Continuous Delivery with Containers" by 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"
Daniel Bryant1.7K views
The London Web "Empathy - The Hidden Ingredient of Good Software Development" by Daniel Bryant
The London Web "Empathy - The Hidden Ingredient of Good Software Development"The London Web "Empathy - The Hidden Ingredient of Good Software Development"
The London Web "Empathy - The Hidden Ingredient of Good Software Development"
Daniel Bryant1.3K views
DLJCJUG 2015: The Seven Deadly Sins of Microservices by Daniel Bryant
DLJCJUG 2015: The Seven Deadly Sins of MicroservicesDLJCJUG 2015: The Seven Deadly Sins of Microservices
DLJCJUG 2015: The Seven Deadly Sins of Microservices
Daniel Bryant1.9K views
OOP/MM 2017: "Seven (More) Deadly Sins of Microservices" by 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"
Daniel Bryant1K views
ContainerSched 2015 "Our journey to world (gifting) domination - how notonthe... by 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...
Daniel Bryant1.1K views
LJC: "Chuck Norris Doesn't Do DevOps...but Java developers might benefit" by 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"
Daniel Bryant4.8K views
LJCConf 2013 "Chuck Norris Doesn't Need DevOps" by 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"
Daniel Bryant3K views
microXchg 2017: "Microservices: The People and Organisational Impact" by Daniel Bryant
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 Bryant1.7K views
DevOpsNorth 2017 "Seven (More) Deadly Sins of Microservices" by Daniel Bryant
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 Bryant1.1K views

Viewers also liked

Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ... by
Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ...Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ...
Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ...Andrew Morgan
1.8K views184 slides
Building Systems That Can Pivot | Zhamak Dehghani, Principal Consultant, Tho... by
Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, Tho...Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, Tho...
Building Systems That Can Pivot | Zhamak Dehghani, Principal Consultant, Tho...Thoughtworks
2.2K views63 slides
Highway to heaven - Microservices Meetup Munich by
Highway to heaven - Microservices Meetup MunichHighway to heaven - Microservices Meetup Munich
Highway to heaven - Microservices Meetup MunichChristian Deger
1.5K views38 slides
Building and deploying microservices with event sourcing, CQRS and Docker (Me... by
Building and deploying microservices with event sourcing, CQRS and Docker (Me...Building and deploying microservices with event sourcing, CQRS and Docker (Me...
Building and deploying microservices with event sourcing, CQRS and Docker (Me...Chris Richardson
3.3K views60 slides
Going Cloud Native - It Takes a Platform by
Going Cloud Native - It Takes a PlatformGoing Cloud Native - It Takes a Platform
Going Cloud Native - It Takes a PlatformChip Childers
1.2K views16 slides
muCon 2016: "Seven (More) Deadly Sins of Microservices" by
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
858 views52 slides

Viewers also liked(12)

Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ... by Andrew Morgan
Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ...Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ...
Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ...
Andrew Morgan1.8K views
Building Systems That Can Pivot | Zhamak Dehghani, Principal Consultant, Tho... by Thoughtworks
Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, Tho...Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, Tho...
Building Systems That Can Pivot | Zhamak Dehghani, Principal Consultant, Tho...
Thoughtworks2.2K views
Highway to heaven - Microservices Meetup Munich by Christian Deger
Highway to heaven - Microservices Meetup MunichHighway to heaven - Microservices Meetup Munich
Highway to heaven - Microservices Meetup Munich
Christian Deger1.5K views
Building and deploying microservices with event sourcing, CQRS and Docker (Me... by Chris Richardson
Building and deploying microservices with event sourcing, CQRS and Docker (Me...Building and deploying microservices with event sourcing, CQRS and Docker (Me...
Building and deploying microservices with event sourcing, CQRS and Docker (Me...
Chris Richardson3.3K views
Going Cloud Native - It Takes a Platform by Chip Childers
Going Cloud Native - It Takes a PlatformGoing Cloud Native - It Takes a Platform
Going Cloud Native - It Takes a Platform
Chip Childers1.2K views
muCon 2016: "Seven (More) Deadly Sins of Microservices" by 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"
Daniel Bryant858 views
An Unexpected Solution to Microservices UI Composition by Dr. Arif Wider
An Unexpected Solution to Microservices UI CompositionAn Unexpected Solution to Microservices UI Composition
An Unexpected Solution to Microservices UI Composition
Dr. Arif Wider13.9K views
Low latency in java 8 v5 by Peter Lawrey
Low latency in java 8 v5Low latency in java 8 v5
Low latency in java 8 v5
Peter Lawrey3.9K views
Writing and testing high frequency trading engines in java by Peter Lawrey
Writing and testing high frequency trading engines in javaWriting and testing high frequency trading engines in java
Writing and testing high frequency trading engines in java
Peter Lawrey35.2K views
Building and deploying microservices with event sourcing, CQRS and Docker (Be... by Chris Richardson
Building and deploying microservices with event sourcing, CQRS and Docker (Be...Building and deploying microservices with event sourcing, CQRS and Docker (Be...
Building and deploying microservices with event sourcing, CQRS and Docker (Be...
Chris Richardson38.7K views
GC free coding in @Java presented @Geecon by Peter Lawrey
GC free coding in @Java presented @GeeconGC free coding in @Java presented @Geecon
GC free coding in @Java presented @Geecon
Peter Lawrey9.5K views

Similar to QCon NY 2016: "The Seven (More) Deadly Sins of Microservices"

Microservices: The Organizational and People Impact by
Microservices: The Organizational and People ImpactMicroservices: The Organizational and People Impact
Microservices: The Organizational and People ImpactAmbassador Labs
4.2K views46 slides
Lisbon DevOps: "Seven (More) Deadly Sins of Microservices" by
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
696 views51 slides
JAXDevOps 2017 "The Seven (More) Deadly Sins of Microservices by
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 MicroservicesDaniel Bryant
396 views52 slides
The seven more deadly sins of microservices final by
The seven more deadly sins of microservices finalThe seven more deadly sins of microservices final
The seven more deadly sins of microservices finalHaufe-Lexware GmbH & Co KG
641 views44 slides
Haufe #msaday - Seven More Deadly Sins of Microservices by Daniel Bryant by
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
467 views44 slides
The seven deadly sins of microservices by
The seven deadly sins of microservicesThe seven deadly sins of microservices
The seven deadly sins of microservicesHaufe-Lexware GmbH & Co KG
701 views45 slides

Similar to QCon NY 2016: "The Seven (More) Deadly Sins of Microservices"(20)

Microservices: The Organizational and People Impact by Ambassador Labs
Microservices: The Organizational and People ImpactMicroservices: The Organizational and People Impact
Microservices: The Organizational and People Impact
Ambassador Labs4.2K views
Lisbon DevOps: "Seven (More) Deadly Sins of Microservices" by Daniel Bryant
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 Bryant696 views
JAXDevOps 2017 "The Seven (More) Deadly Sins of Microservices by Daniel Bryant
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 Bryant396 views
Haufe #msaday - Seven More Deadly Sins of Microservices by Daniel Bryant by OpenCredo
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
OpenCredo467 views
JAXLondon 2015 "Thinking Fast and Slow with Software Development" by 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"
Daniel Bryant1.7K views
Thinking fast and slow with software development - Daniel Bryant by JAXLondon_Conference
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
LJC 05/14 "Cloud Developer's DHARMA" by Daniel Bryant
LJC 05/14 "Cloud Developer's DHARMA"LJC 05/14 "Cloud Developer's DHARMA"
LJC 05/14 "Cloud Developer's DHARMA"
Daniel Bryant2.4K views
LJC Mashup "Building Java Microservices for the Cloud && Chuck Norris Doesn't... by Daniel Bryant
LJC Mashup "Building Java Microservices for the Cloud && Chuck Norris Doesn't...LJC Mashup "Building Java Microservices for the Cloud && Chuck Norris Doesn't...
LJC Mashup "Building Java Microservices for the Cloud && Chuck Norris Doesn't...
Daniel Bryant2.7K views
Haufe #msaday - Building a Microservice Ecosystem by Daniel Bryant by OpenCredo
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
OpenCredo990 views
Haufe #msaday: "Building a Microservice Ecosystem" by Daniel Bryant
Haufe #msaday: "Building a Microservice Ecosystem"Haufe #msaday: "Building a Microservice Ecosystem"
Haufe #msaday: "Building a Microservice Ecosystem"
Daniel Bryant1.6K views
Devoxx US 2017 "The 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"
Daniel Bryant390 views
Of innovation and impatience - Future Decoded 2015 by Christian Heilmann
Of innovation and impatience - Future Decoded 2015Of innovation and impatience - Future Decoded 2015
Of innovation and impatience - Future Decoded 2015
Christian Heilmann2.1K views
When and Why to Use Shiny for Commercial Applications by Tanya Cashorali
When and Why to Use Shiny for Commercial ApplicationsWhen and Why to Use Shiny for Commercial Applications
When and Why to Use Shiny for Commercial Applications
Tanya Cashorali2.3K views
JAX London 2014 "Building Java Applications for the Cloud: The DHARMA princip... by Daniel Bryant
JAX London 2014 "Building Java Applications for the Cloud: The DHARMA princip...JAX London 2014 "Building Java Applications for the Cloud: The DHARMA princip...
JAX London 2014 "Building Java Applications for the Cloud: The DHARMA princip...
Daniel Bryant2.1K views
Guidance, Code and Education: ScalaCenter and the Scala Community, Heather Mi... by OW2
Guidance, Code and Education: ScalaCenter and the Scala Community, Heather Mi...Guidance, Code and Education: ScalaCenter and the Scala Community, Heather Mi...
Guidance, Code and Education: ScalaCenter and the Scala Community, Heather Mi...
OW294 views
01 why of dev ops - devopsguys - magentys - final by DevOpsGroup
01   why of dev ops - devopsguys - magentys - final01   why of dev ops - devopsguys - magentys - final
01 why of dev ops - devopsguys - magentys - final
DevOpsGroup7.3K views
Adrian Colyer - Keynote: NoSQL matters - NoSQL matters Dublin 2015 by NoSQLmatters
Adrian Colyer - Keynote: NoSQL matters - NoSQL matters Dublin 2015Adrian Colyer - Keynote: NoSQL matters - NoSQL matters Dublin 2015
Adrian Colyer - Keynote: NoSQL matters - NoSQL matters Dublin 2015
NoSQLmatters975 views

More from Daniel Bryant

ITKonekt 2023: The Busy Platform Engineers Guide to API Gateways by
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 GatewaysDaniel Bryant
69 views31 slides
CraftConf 2023 "Microservice Testing Techniques: Mocks vs Service Virtualizat... by
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
145 views44 slides
PlatformCon 23: "The Busy Platform Engineers Guide to API Gateways" by
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
13 views22 slides
Java Meetup 23: 'Debugging Microservices "Remocally" in Kubernetes with Telep... by
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
495 views39 slides
DevRelCon 2022: "Is Product Led Growth (PLG) the “DevOps” of the DevRel World" by
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
284 views28 slides
Fall 22: "From Kubernetes to PaaS to... err, what's next" by
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
133 views36 slides

More from Daniel Bryant(20)

ITKonekt 2023: The Busy Platform Engineers Guide to API Gateways by Daniel Bryant
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 Bryant69 views
CraftConf 2023 "Microservice Testing Techniques: Mocks vs Service Virtualizat... by 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...
Daniel Bryant145 views
PlatformCon 23: "The Busy Platform Engineers Guide to API Gateways" by 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"
Daniel Bryant13 views
Java Meetup 23: 'Debugging Microservices "Remocally" in Kubernetes with Telep... by 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...
Daniel Bryant495 views
DevRelCon 2022: "Is Product Led Growth (PLG) the “DevOps” of the DevRel World" by 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"
Daniel Bryant284 views
Fall 22: "From Kubernetes to PaaS to... err, what's next" by 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"
Daniel Bryant133 views
Building Microservice Systems Without Cooking Your Laptop: Going “Remocal” wi... by 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...
Daniel Bryant93 views
KubeCrash 22: Debugging Microservices "Remocally" in Kubernetes with Telepres... by 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...
Daniel Bryant36 views
JAX London 22: Debugging Microservices "Remocally" in Kubernetes with Telepre... by 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...
Daniel Bryant88 views
CloudBuilders 2022: "The Past, Present, and Future of Cloud Native API Gateways" by 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"
Daniel Bryant55 views
KubeCon EU 2022: From Kubernetes to PaaS to Err What's Next by Daniel Bryant
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 Bryant3.3K views
Devoxx UK 22: Debugging Java Microservices "Remocally" in Kubernetes with Tel... by 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...
Daniel Bryant270 views
DevXDay KubeCon NA 2021: "From Kubernetes to PaaS to Developer Control Planes" by 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"
Daniel Bryant2.4K views
JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac... by 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...
Daniel Bryant153 views
Container Days: Easy Debugging of Microservices Running on Kubernetes with Te... by 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...
Daniel Bryant220 views
Canadian CNCF: "Emissary-ingress 101: An introduction to the CNCF incubation-... by 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-...
Daniel Bryant368 views
MJC 2021: "Debugging Java Microservices Running on Kubernetes with Telepresence" by 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"
Daniel Bryant259 views
LJC 4/21"Easy Debugging of Java Microservices Running on Kubernetes with Tele... by 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...
Daniel Bryant354 views
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra... by 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...
Daniel Bryant606 views
HashiCorp Webinar: "Getting started with Ambassador and Consul on Kubernetes ... by 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 ...
Daniel Bryant253 views

Recently uploaded

"AI Startup Growth from Idea to 1M ARR", Oleksandr Uspenskyi by
"AI Startup Growth from Idea to 1M ARR", Oleksandr Uspenskyi"AI Startup Growth from Idea to 1M ARR", Oleksandr Uspenskyi
"AI Startup Growth from Idea to 1M ARR", Oleksandr UspenskyiFwdays
26 views9 slides
Future of Learning - Khoong Chan Meng by
Future of Learning - Khoong Chan MengFuture of Learning - Khoong Chan Meng
Future of Learning - Khoong Chan MengNUS-ISS
31 views7 slides
Transcript: The Details of Description Techniques tips and tangents on altern... by
Transcript: The Details of Description Techniques tips and tangents on altern...Transcript: The Details of Description Techniques tips and tangents on altern...
Transcript: The Details of Description Techniques tips and tangents on altern...BookNet Canada
119 views15 slides
Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu... by
Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu...Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu...
Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu...NUS-ISS
32 views54 slides
GigaIO: The March of Composability Onward to Memory with CXL by
GigaIO: The March of Composability Onward to Memory with CXLGigaIO: The March of Composability Onward to Memory with CXL
GigaIO: The March of Composability Onward to Memory with CXLCXL Forum
126 views12 slides
Empathic Computing: Delivering the Potential of the Metaverse by
Empathic Computing: Delivering  the Potential of the MetaverseEmpathic Computing: Delivering  the Potential of the Metaverse
Empathic Computing: Delivering the Potential of the MetaverseMark Billinghurst
449 views80 slides

Recently uploaded(20)

"AI Startup Growth from Idea to 1M ARR", Oleksandr Uspenskyi by Fwdays
"AI Startup Growth from Idea to 1M ARR", Oleksandr Uspenskyi"AI Startup Growth from Idea to 1M ARR", Oleksandr Uspenskyi
"AI Startup Growth from Idea to 1M ARR", Oleksandr Uspenskyi
Fwdays26 views
Future of Learning - Khoong Chan Meng by NUS-ISS
Future of Learning - Khoong Chan MengFuture of Learning - Khoong Chan Meng
Future of Learning - Khoong Chan Meng
NUS-ISS31 views
Transcript: The Details of Description Techniques tips and tangents on altern... by BookNet Canada
Transcript: The Details of Description Techniques tips and tangents on altern...Transcript: The Details of Description Techniques tips and tangents on altern...
Transcript: The Details of Description Techniques tips and tangents on altern...
BookNet Canada119 views
Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu... by NUS-ISS
Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu...Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu...
Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu...
NUS-ISS32 views
GigaIO: The March of Composability Onward to Memory with CXL by CXL Forum
GigaIO: The March of Composability Onward to Memory with CXLGigaIO: The March of Composability Onward to Memory with CXL
GigaIO: The March of Composability Onward to Memory with CXL
CXL Forum126 views
Empathic Computing: Delivering the Potential of the Metaverse by Mark Billinghurst
Empathic Computing: Delivering  the Potential of the MetaverseEmpathic Computing: Delivering  the Potential of the Metaverse
Empathic Computing: Delivering the Potential of the Metaverse
Mark Billinghurst449 views
CXL at OCP by CXL Forum
CXL at OCPCXL at OCP
CXL at OCP
CXL Forum208 views
TE Connectivity: Card Edge Interconnects by CXL Forum
TE Connectivity: Card Edge InterconnectsTE Connectivity: Card Edge Interconnects
TE Connectivity: Card Edge Interconnects
CXL Forum96 views
.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV by Splunk
.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV
.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV
Splunk86 views
"Thriving Culture in a Product Company — Practical Story", Volodymyr Tsukur by Fwdays
"Thriving Culture in a Product Company — Practical Story", Volodymyr Tsukur"Thriving Culture in a Product Company — Practical Story", Volodymyr Tsukur
"Thriving Culture in a Product Company — Practical Story", Volodymyr Tsukur
Fwdays40 views
How to reduce cold starts for Java Serverless applications in AWS at JCON Wor... by Vadym Kazulkin
How to reduce cold starts for Java Serverless applications in AWS at JCON Wor...How to reduce cold starts for Java Serverless applications in AWS at JCON Wor...
How to reduce cold starts for Java Serverless applications in AWS at JCON Wor...
Vadym Kazulkin70 views
"Role of a CTO in software outsourcing company", Yuriy Nakonechnyy by Fwdays
"Role of a CTO in software outsourcing company", Yuriy Nakonechnyy"Role of a CTO in software outsourcing company", Yuriy Nakonechnyy
"Role of a CTO in software outsourcing company", Yuriy Nakonechnyy
Fwdays40 views
Upskilling the Evolving Workforce with Digital Fluency for Tomorrow's Challen... by NUS-ISS
Upskilling the Evolving Workforce with Digital Fluency for Tomorrow's Challen...Upskilling the Evolving Workforce with Digital Fluency for Tomorrow's Challen...
Upskilling the Evolving Workforce with Digital Fluency for Tomorrow's Challen...
NUS-ISS23 views
Future of Learning - Yap Aye Wee.pdf by NUS-ISS
Future of Learning - Yap Aye Wee.pdfFuture of Learning - Yap Aye Wee.pdf
Future of Learning - Yap Aye Wee.pdf
NUS-ISS38 views
"How we switched to Kanban and how it integrates with product planning", Vady... by Fwdays
"How we switched to Kanban and how it integrates with product planning", Vady..."How we switched to Kanban and how it integrates with product planning", Vady...
"How we switched to Kanban and how it integrates with product planning", Vady...
Fwdays61 views
MemVerge: Past Present and Future of CXL by CXL Forum
MemVerge: Past Present and Future of CXLMemVerge: Past Present and Future of CXL
MemVerge: Past Present and Future of CXL
CXL Forum110 views
Micron CXL product and architecture update by CXL Forum
Micron CXL product and architecture updateMicron CXL product and architecture update
Micron CXL product and architecture update
CXL Forum27 views
Combining Orchestration and Choreography for a Clean Architecture by ThomasHeinrichs1
Combining Orchestration and Choreography for a Clean ArchitectureCombining Orchestration and Choreography for a Clean Architecture
Combining Orchestration and Choreography for a Clean Architecture
ThomasHeinrichs168 views
"Fast Start to Building on AWS", Igor Ivaniuk by Fwdays
"Fast Start to Building on AWS", Igor Ivaniuk"Fast Start to Building on AWS", Igor Ivaniuk
"Fast Start to Building on AWS", Igor Ivaniuk
Fwdays36 views

QCon NY 2016: "The Seven (More) Deadly Sins of Microservices"

  • 1. The Seven (More) DEADLY SINS OF Microservices Daniel Bryant @danielbryantuk OpencRedo
  • 2. Previously, AT QCON NYC 2015... 14/06/2016 @danielbryantuk https://www.infoq.com/presentations/7-sins-microservices
  • 3. The Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech… 2. GLUTTONY - Communication lock-in 3. GREED - What'S Mine is mine (within the organisation)… 4. SLOTH - Getting lazy with NFRs 5. WRATH - Blowing up when bad things happen 6. ENVY - The shared single domain (and data store) fallacy 7. PRIDE - testing in the world of transience 14/06/2016 @danielbryantuk
  • 4. @danielbryantuk • Chief Scientist at OpenCredo ü Transformingorganisationsthrough technology and teams ü Agile, Lean, Architecture, CI/CD, DevOps ü Microservices, cloud, Containers, Java, Go, Docker, Kubernetes • London Java Community Associate • Adopt OpenJDK and JSR • InfoQ Editor, DZone MVB, VOXXED, O'Reilly 14/06/2016 @danielbryantuk
  • 5. 1. Lust - Using THE LATEST and Greatest Tech… 14/06/2016 @danielbryantuk
  • 6. Previously... • Microservices are not always a best fit – Architectural skills, stage of business, Devops • Evaluation (and documentation) are under-used skills – Language, Frameworks, Middleware, data stores 14/06/2016 @danielbryantuk
  • 7. Evaluation - are Microservices A good fit? • Not understanding principles (Cargo-culting) – Not built around business Functionality – Mini-monoliths • “our 'mode TWO' apps are Microservices” – No transformation / migration plan – SOE evolution limited by SOR – Lipstick on the pig • No Well-defined DevOps / SRE / Ops – Deployment/ops free-for-all 14/06/2016 @danielbryantuk
  • 8. Evaluation - situational awareness 14/06/2016 @danielbryantuk philcalcado.com/2015/09/08/how_we_ended_up_with_microservices.html speakerdeck.com/acolyer/making-sense-of-it-all
  • 9. Evaluation - start with Why 14/06/2016 @danielbryantuk
  • 10. Evaluation - Fitness functions • Microservices as an Evolutionary Architecture – Neal Ford and Rebecca Parsons • Great for evaluation and documentation – Platforms/ Language – Middleware – Data stores 14/06/2016 @danielbryantuk
  • 11. Evaluation - The’Spine Model • Effective conversations make for effective collaboration • It's a TOOL Problem – As a species, we have always been Tool users and makers. – We use _____ to get our work done • People get stuck in a dilemma where equally plausible options are available • “Going up the Spine” breaks deadlock http://spinemodel.info/explanation/introduction/
  • 12. Determine the need for the tool • PRACTICES before Tools – Decide on the Practices that the tools are there to support – We do _____ to create value • PRINCIPLES before Practices – Decide on the Principles to measure those Practices against. – We leverage _____ to change the system • VALUES before Principles – Make as explicitas possible the Values at playin the system. – We optimise for _____ • NEEDS before Values – It all starts at Needs. Why does this system exist in the first place? – We are here to satisfy _____ http://spinemodel.info/explanation/introduction/
  • 13. 2. GLUTTONY - Communication lock-in 14/06/2016 @danielbryantuk
  • 14. Rpc - not the devil in disguise • Don'T rule out RPC (e.g. grpc) – Sometimes the contract (and speed) are beneficial – Human readability of JSON is over-rated • Stick to rest (JSON over HTTPS) on the front-end – Principle of least surprise – Best support in Javascript/mobile 14/06/2016 @danielbryantuk
  • 15. The ESB is dead - long live the esb! 14/06/2016 @danielbryantuk
  • 16. The ESB is dead - long live the esb! 14/06/2016 @danielbryantuk
  • 17. The ESB is dead - long live the esb! 14/06/2016 @danielbryantuk • Is this an ESB? • Or an API gateway?
  • 18. The ESB is dead - long live the API Gateway! 14/06/2016 @danielbryantuk • Watch for the API Gateway morphing into an Enterprise service bus – Loose coupling is vital • But let me be clear... – The API Gateway pattern is awesome – Centralise cross-cutting concerns – Prevent wheel-reinvention (plugins) – Check out kong, apigee, AWS API Gateway, Mulesoft etc
  • 19. ESB != Event Bus 14/06/2016 @danielbryantuk www.infoq.com/news/2016/02/not-just-microservices www.youtube.com/watch?v=0pfghZxlFSg
  • 20. 3. GREED - What'S mine is mine... (within the organisation)… 14/06/2016 @danielbryantuk
  • 21. Previously... • Conway'S Law • Microservices are about people, as much as they are tech • Get your business ready 14/06/2016 @danielbryantuk
  • 22. We hear this a lot... “We’ve decided to reform our teams around squads, chapters and guilds” • Beware of cargo-culting – Repeat three times “We are not spotify” • Understand the practices, principles, values etc 14/06/2016 @danielbryantuk
  • 23. Empathy - The Hidden ingredient in Good software development 14/06/2016 @danielbryantuk http://www.ustream.tv/recorded/86154111
  • 24. 4. SLOTH - Getting Lazy with NFRs 14/06/2016 @danielbryantuk
  • 25. Getting lazy with non-Functional Requirements “The driving technical requirements for a system should be identified early to ensure they are properly handled in subsequent design” Aidan Casey Guiding principles for evolutionary architecture 14/06/2016 @danielbryantuk
  • 26. Getting lazy with non-Functional Requirements • The 'ilities' Can be (often) be an afterthought – Availability, Scalability, auditability, testability etc • Agile/Lean: Delay decisions to the ‘last responsible moment’ – NewsFlash - Sometimes this is up-front • It can be costly (or prohibitive) to adapt late in the project – Microservices don'T make this easier (sometimes more difficult) 14/06/2016 @danielbryantuk
  • 27. Bedtime reading • Performance and Load testing – Gatling / jmeter – Flood.io • Security testing – OWASP ZAP – Bdd-security 14/06/2016 @danielbryantuk
  • 28. 5. WRATH - Blowing up when bad things happen 14/06/2016 @danielbryantuk
  • 29. Previously - Bring in Michael Nygard (Or some monkeys) 14/06/2016 @danielbryantuk
  • 30. Technical Pain point - Distributed transactions • Don't – (where possible) – Push transactional scope into single service • Supervisor/Process Manager – E.g. Erlang OTP, Akka, EIP • SAGA pattern – Workflows providing a path (fork) of compensating actions 14/06/2016 @OpenCredo
  • 31. People Pain point - How does Devops fit into this? • http://web.devopstopologies.com/ • @ matthewpskelton • @beerops and @sigje • Google SRE 14/06/2016 @danielbryantuk
  • 32. Devops - define responsibilities • Do you really want to build an entire microservices platform? • Focus on what matters – Ci/CD – Mechanical sympathy – Logging – Monitoring 14/06/2016 @danielbryantuk
  • 33. Devops - the 'fullstack engineer' myth “I'M sorry, but if you'RE not designing the computer chips and writing the website, then I don'T wanna hear from you” Charity Majors (@mipsytipsy), CraftConf 2016 http://www.ustream.tv/recorded/86181845 14/06/2016 @danielbryantuk
  • 35. 6. ENVY - The shared SINGLE domain (and Data Store) fallacy 14/06/2016 @danielbryantuk
  • 36. Previously - One Model to Rule Them All... • One model… – Breaks encapsulation – Introduces coupling • Know your DDD – Entities – Value Objects – Aggregates and Roots 14/06/2016 @danielbryantuk
  • 38. Choose (and use) data stores appropriately • RDBMS – Valuable for structured data • Cassandra is Awesome – but don'T treat it like an RDBMS! • Don'T build a graph with RDBMS – Use neo4j, Titan etc • Datagrids e.g. Hazelcast – Caching, distributed processing 14/06/2016 @danielbryantuk
  • 39. 7. PRIDE - testing in the world of transience 14/06/2016 @danielbryantuk
  • 40. Previously... • Local verification – Consumer-based contracts • End-to-end – BDD-style critical path • Remember the test pyramid 14/06/2016 @danielbryantuk martinfowler.com/articles/microservice-testing/
  • 41. Service virtualisation / API simulation • Virtualise request/response of services – Unavailable – Expensive to run – Fragile/brittle – Non-deterministic – Cannot simulate failures https://dzone.com/articles/continuously-delivering-soa 14/06/2016 @danielbryantuk
  • 42. Service virtualisation • Classics – CA service virtualization – Parasoft virtualize – HPE service virtualization – IBM Test Virtualization server • New kids on the block – Hoverfly – Wiremock – VCR/Betamax – Mountebank – mirage 14/06/2016 @danielbryantuk
  • 43. Hoverfly • Lightweight Service virtualisation – Open source (Apache 2.0) – Go-based / single binary – Written by @Spectolabs • Flexible API simulation – HTTP / HTTPS – More Protocols to follow? 14/06/2016 @danielbryantuk
  • 44. 14/06/2016 @danielbryantuk • Middleware • Remove PII • Rate limit • Add headers • Middleware • Fault injection • Chaos monkey
  • 47. Right, Let'S Wrap this up... 14/06/2016 @danielbryantuk
  • 48. Avoid being a sinner... • Strategy • Principles/Preparation • Responsibilities • Defined and shared • Understood and appropriate • Clear and c0mmunicated 14/06/2016 @danielbryantuk
  • 52. Principles/Preparation - In the olden days “Give me six hours to chop down a tree and I will spend the first four sharpening the axe” Abraham Lincoln 14/06/2016 @danielbryantuk
  • 53. Principles/Preparation - What I See... “Give me six hours to chop down a tree and I will begin planning the construction of a large-scale lumber yard And on The second day I will discover no-one knows how to use an axe And on The third day I will buy a handsaw and begin sawing” Me, attempting to be humourus 14/06/2016 @danielbryantuk
  • 56. Responsibilities • Define Responsibilities – RACI / RASCI • Architecture – Super important in microservices – Less ivory towers, more sim city • Devops – Not a free-for-all – No fullstack heros 14/06/2016 @danielbryantuk
  • 57. The Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech… 2. GLUTTONY - Communication lock-in 3. GREED - What'S Mine is mine (within the organisation)… 4. SLOTH - Getting lazy with NFRs 5. WRATH - Blowing up when bad things happen (txns and ops) 6. ENVY - The shared single domain (and data store) fallacy 7. PRIDE - testing in the world of transience 14/06/2016 @danielbryantuk
  • 58. The Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech… 2. GLUTTONY - Communication Lock-in 3. GREED - What'S Mine is mine (within the organisation)… 4. SLOTH - Getting lazy with NFRs 5. WRATH - Blowing up when bad things happen (txns and ops) 6. ENVY - The shared single domain (and data store) fallacy 7. PRIDE - testing in the world of transience 14/06/2016 @danielbryantuk
  • 60. THANKS... @danielbryantuk daniel.bryant@opencredo.com http://muservicesweekly.com/ (Credit to Tareq Abedrabbo for inspiration/guidance) 14/06/2016 @danielbryantuk