SlideShare uma empresa Scribd logo
1 de 60
Baixar para ler 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

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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"
 

Destaque

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
 

Destaque (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
 

Semelhante a 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 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
 
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
 
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
 

Semelhante a 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...
 
Haufe #msaday - Building a Microservice Ecosystem by Daniel Bryant
Haufe #msaday - Building a Microservice Ecosystem by Daniel Bryant Haufe #msaday - Building a Microservice Ecosystem by Daniel Bryant
Haufe #msaday - Building a Microservice Ecosystem by Daniel Bryant
 
Building a microservice ecosystem
Building a microservice ecosystemBuilding a microservice ecosystem
Building a microservice ecosystem
 
Haufe #msaday: "Building a Microservice Ecosystem"
Haufe #msaday: "Building a Microservice Ecosystem"Haufe #msaday: "Building a Microservice Ecosystem"
Haufe #msaday: "Building a Microservice Ecosystem"
 
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
 

Mais de 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
 

Mais de 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 ...
 

Último

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 

Último (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 

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