SlideShare a Scribd company logo
1 of 60
Download to read offline
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

More Related Content

What's hot

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
 
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
 
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
 
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...
CTOs in London "The Challenges of Evaluating Development Technology Within th...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)"
BCS 2016 "Intro to Microservices (and the Seven Deadly Sins)"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 ...
LMSUG 2015 "The Business Behind Microservices: Organisational, Architectural ...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...
ACCU16 "Let's Not Repeat the Mistakes of SOA: 'Micro' Services, Macro Organis...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
 
muCon 2015 "The Business Behind Microservices: Organisational, Architectural,...
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 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 ...
TTN 2015 "Defining DevOps: Concepts, Technology and Automation. Oh yeah, and ...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...
OOP2016 "The Business Behind Microservices: Organisational, Architectural and...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
 
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"
The London Web "Empathy - The Hidden Ingredient of Good Software Development"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 MicroservicesDaniel 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
 
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
 
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
 
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
 
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
 
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
 

What's hot (20)

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?"
 
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"
 
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"
 
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...
CTOs in London "The Challenges of Evaluating Development Technology Within th...
 
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)"
BCS 2016 "Intro to Microservices (and the Seven Deadly Sins)"
 
LMSUG 2015 "The Business Behind Microservices: Organisational, Architectural ...
LMSUG 2015 "The Business Behind Microservices: Organisational, Architectural ...LMSUG 2015 "The Business Behind Microservices: Organisational, Architectural ...
LMSUG 2015 "The Business Behind Microservices: Organisational, Architectural ...
 
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...
 
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"
 
muCon 2015 "The Business Behind Microservices: Organisational, Architectural,...
muCon 2015 "The Business Behind Microservices: Organisational, Architectural,...muCon 2015 "The Business Behind Microservices: Organisational, Architectural,...
muCon 2015 "The Business Behind Microservices: Organisational, Architectural,...
 
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 ...
TTN 2015 "Defining DevOps: Concepts, Technology and Automation. Oh yeah, and ...
 
OOP2016 "The Business Behind Microservices: Organisational, Architectural and...
OOP2016 "The Business Behind Microservices: Organisational, Architectural and...OOP2016 "The Business Behind Microservices: Organisational, Architectural and...
OOP2016 "The Business Behind Microservices: Organisational, Architectural and...
 
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"
 
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"
The London Web "Empathy - The Hidden Ingredient of Good Software Development"
 
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
 
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"
 
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...
 
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"
 
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"
 
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"
 
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"
 

Viewers also liked

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 ...
Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ...Andrew Morgan
 
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...
Building Systems That Can Pivot | Zhamak Dehghani, Principal Consultant, Tho...Thoughtworks
 
Highway to heaven - Microservices Meetup Munich
Highway to heaven - Microservices Meetup MunichHighway to heaven - Microservices Meetup Munich
Highway to heaven - Microservices Meetup MunichChristian Deger
 
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...
Building and deploying microservices with event sourcing, CQRS and Docker (Me...Chris Richardson
 
Going Cloud Native - It Takes a Platform
Going Cloud Native - It Takes a PlatformGoing Cloud Native - It Takes a Platform
Going Cloud Native - It Takes a PlatformChip Childers
 
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
 
An Unexpected Solution to Microservices UI Composition
An Unexpected Solution to Microservices UI CompositionAn Unexpected Solution to Microservices UI Composition
An Unexpected Solution to Microservices UI CompositionDr. Arif Wider
 
Low latency in java 8 v5
Low latency in java 8 v5Low latency in java 8 v5
Low latency in java 8 v5Peter Lawrey
 
Writing and testing high frequency trading engines in java
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 javaPeter Lawrey
 
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...
Building and deploying microservices with event sourcing, CQRS and Docker (Be...Chris Richardson
 
GC free coding in @Java presented @Geecon
GC free coding in @Java presented @GeeconGC free coding in @Java presented @Geecon
GC free coding in @Java presented @GeeconPeter Lawrey
 

Viewers also liked (12)

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 ...
Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ...
 
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...
Building Systems That Can Pivot | Zhamak Dehghani, Principal Consultant, Tho...
 
Highway to heaven - Microservices Meetup Munich
Highway to heaven - Microservices Meetup MunichHighway to heaven - Microservices Meetup Munich
Highway to heaven - Microservices Meetup Munich
 
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...
Building and deploying microservices with event sourcing, CQRS and Docker (Me...
 
Going Cloud Native - It Takes a Platform
Going Cloud Native - It Takes a PlatformGoing Cloud Native - It Takes a Platform
Going Cloud Native - It Takes a Platform
 
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"
 
An Unexpected Solution to Microservices UI Composition
An Unexpected Solution to Microservices UI CompositionAn Unexpected Solution to Microservices UI Composition
An Unexpected Solution to Microservices UI Composition
 
Low latency in java 8 v5
Low latency in java 8 v5Low latency in java 8 v5
Low latency in java 8 v5
 
Writing and testing high frequency trading engines in java
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
 
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...
Building and deploying microservices with event sourcing, CQRS and Docker (Be...
 
GC free coding in @Java presented @Geecon
GC free coding in @Java presented @GeeconGC free coding in @Java presented @Geecon
GC free coding in @Java presented @Geecon
 
Patterns of resilience
Patterns of resiliencePatterns of resilience
Patterns of resilience
 

Similar to QCon NY 2016: "The Seven (More) 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 ImpactAmbassador Labs
 
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
 
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 MicroservicesDaniel 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 finalHaufe-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
 
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
 
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 BryantJAXLondon_Conference
 
LJC 05/14 "Cloud Developer's DHARMA"
LJC 05/14 "Cloud Developer's DHARMA"LJC 05/14 "Cloud Developer's DHARMA"
LJC 05/14 "Cloud Developer's DHARMA"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...
LJC Mashup "Building Java Microservices for the Cloud && Chuck Norris Doesn't...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
 
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
 
Of innovation and impatience - Future Decoded 2015
Of innovation and impatience - Future Decoded 2015Of innovation and impatience - Future Decoded 2015
Of innovation and impatience - Future Decoded 2015Christian Heilmann
 
When and Why to Use Shiny for Commercial Applications
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 ApplicationsTanya Cashorali
 
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...
JAX London 2014 "Building Java Applications for the Cloud: The DHARMA princip...Daniel Bryant
 
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...
Guidance, Code and Education: ScalaCenter and the Scala Community, Heather Mi...OW2
 
01 why of dev ops - devopsguys - magentys - final
01   why of dev ops - devopsguys - magentys - final01   why of dev ops - devopsguys - magentys - final
01 why of dev ops - devopsguys - magentys - finalDevOpsGroup
 
Adrian Colyer - Keynote: NoSQL matters - NoSQL matters Dublin 2015
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 2015NoSQLmatters
 

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

Microservices: The Organizational and People Impact
Microservices: The Organizational and People ImpactMicroservices: The Organizational and People Impact
Microservices: The Organizational and People Impact
 
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"
 
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
 
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
 
The seven deadly sins of microservices
The seven deadly sins of microservicesThe seven deadly sins of microservices
The seven deadly sins of microservices
 
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"
 
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
 
LJC 05/14 "Cloud Developer's DHARMA"
LJC 05/14 "Cloud Developer's DHARMA"LJC 05/14 "Cloud Developer's DHARMA"
LJC 05/14 "Cloud Developer's DHARMA"
 
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...
LJC Mashup "Building Java Microservices for the Cloud && Chuck Norris Doesn't...
 
Building a microservice ecosystem
Building a microservice ecosystemBuilding a microservice ecosystem
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"
 
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
 
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"
 
Of innovation and impatience - Future Decoded 2015
Of innovation and impatience - Future Decoded 2015Of innovation and impatience - Future Decoded 2015
Of innovation and impatience - Future Decoded 2015
 
When and Why to Use Shiny for Commercial Applications
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
 
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...
JAX London 2014 "Building Java Applications for the Cloud: The DHARMA princip...
 
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...
Guidance, Code and Education: ScalaCenter and the Scala Community, Heather Mi...
 
01 why of dev ops - devopsguys - magentys - final
01   why of dev ops - devopsguys - magentys - final01   why of dev ops - devopsguys - magentys - final
01 why of dev ops - devopsguys - magentys - final
 
Adrian Colyer - Keynote: NoSQL matters - NoSQL matters Dublin 2015
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
 

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 GatewaysDaniel 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 NextDaniel 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

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 

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