the seven (more) deadly sins of microservices · pdf filethe seven (more) deadly sins of...
TRANSCRIPT
![Page 1: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/1.jpg)
The Seven (More) DEADLY SINS OF Microservices
@spectolabs
@danielbryantuk
![Page 2: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/2.jpg)
Previously, AT Devoxx UK & QCON NYC 2015...
06/04/2017 @danielbryantuk
https://www.infoq.com/presentations/7-sins-microservices
![Page 3: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/3.jpg)
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
06/04/2017 @danielbryantuk
![Page 4: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/4.jpg)
@danielbryantuk
• Software developer, CTO at SpectoLabs• Agile, architecture, CI/CD, Programmable infrastructure
• Java, Go, JS, microservices, cloud, containers
• Continuous delivery of value through effective technology and teams
06/04/2017 @danielbryantuk
bit.ly/2jWDSF7
![Page 5: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/5.jpg)
1. Lust - Using THE LATEST and Greatest Tech…06/04/2017 @danielbryantuk
![Page 6: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/6.jpg)
New technology is great... Until it isn'T
06/04/2017 @danielbryantuk
developers with new tech be like
F*cking new technology...
Credit to Michael Hausenblas
Thishasbeenme
manytimes!
![Page 7: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/7.jpg)
Evaluation is a key skill...
06/04/2017 @danielbryantuk
![Page 8: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/8.jpg)
Evaluation - are Microservices A good fit?• “our 'mode TWO' apps are Microservices”
– Middle-management latch on to Buzzword
– New app evolution limited by existing system
– Lipstick on the pig
• Not understanding architecture principles– Not building around business Functionality
– Creating Mini-monoliths (no twelve factors)
• No Well-defined DevOps / SRE / Ops– Deployment/ops free-for-all
06/04/2017 @danielbryantuk
![Page 9: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/9.jpg)
Evaluation of tech - 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 deadlockhttp://spinemodel.info/explanation/introduction/
![Page 10: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/10.jpg)
AN example: To containerise, or not to containerise?
(dockaH, dockah, dockah... Dockah?)
06/04/2017 @danielbryantuk
![Page 11: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/11.jpg)
Strategy #fail
06/04/2017 @danielbryantuk
![Page 12: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/12.jpg)
Architecture/ops: Expectations versus reality
06/04/2017 @danielbryantuk
“DevOps”
![Page 13: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/13.jpg)
Choices: Beware of Confirmation bias
06/04/2017 @danielbryantuk
https://thehftguy.wordpress.com/2016/11/01/docker-in-production-an-history-of-failure/ http://patrobinson.github.io/2016/11/05/docker-in-production/
![Page 14: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/14.jpg)
Evaluation - It'S easy to be tricked
06/04/2017 @danielbryantuk
![Page 15: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/15.jpg)
Evaluation - beware of bias and heuristics
06/04/2017 @danielbryantuk
![Page 16: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/16.jpg)
2. GLUTTONY - Communication lock-in06/04/2017 @danielbryantuk
![Page 17: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/17.jpg)
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 can be over-rated
• Sometime events are better
– Asynchronous (AP vs CP)
– Event-sourcing, cqrs, reactive systems
06/04/2017 @danielbryantuk
![Page 18: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/18.jpg)
Jonas Boner'S thoughts
06/04/2017 @danielbryantuk
www.infoq.com/news/2017/03/microliths-microsystemswww.slideshare.net/jboner/from-microliths-to-microsystems
![Page 19: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/19.jpg)
The ESB is dead - long live the esb!
06/04/2017 @danielbryantuk
![Page 20: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/20.jpg)
The ESB is dead - long live the esb!
06/04/2017 @danielbryantuk
![Page 21: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/21.jpg)
The ESB is dead - long live the esb!
06/04/2017 @danielbryantuk
• Is this an ESB?
• Or an API gateway?
![Page 22: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/22.jpg)
The ESB is dead - long live the API Gateway!
06/04/2017 @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, Mulesoft etc
![Page 23: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/23.jpg)
3. GREED - What'S mine is mine... (within the organisation)…
06/04/2017 @danielbryantuk
![Page 24: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/24.jpg)
Previously...
• Conway'S Law
• Microservices are about people, as much as they are tech
– Maybe more
– Particularly in a migration / transformation
06/04/2017 @danielbryantuk
![Page 25: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/25.jpg)
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
06/04/2017 @danielbryantuk
![Page 26: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/26.jpg)
4. SLOTH - Getting Lazy with NFRs06/04/2017 @danielbryantuk
![Page 27: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/27.jpg)
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
06/04/2017 @danielbryantuk
![Page 28: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/28.jpg)
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)
06/04/2017 @danielbryantuk
![Page 29: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/29.jpg)
Getting lazy with NFRs - security
06/04/2017 @danielbryantuk
www.slideshare.net/spnewman/appsec-microservices-velocity-2016 www.infoq.com/news/2016/08/secure-docker-microservices
![Page 30: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/30.jpg)
Testing NFRs in the build pipeline
• Performance and Load testing – Gatling / jmeter
– Flood.io
• Security testing – Findsecbugs / OWASP Dependency check
– Bdd-security (OWASP ZAP) / Arachni
– Gauntlt / Serverspec
– Docker Bench for Security / Clair
06/04/2017 @danielbryantuk
![Page 31: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/31.jpg)
5. WRATH - Blowing up when bad things happen 06/04/2017 @danielbryantuk
![Page 32: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/32.jpg)
Previously - Bring in Michael Nygard (Or some monkeys)
06/04/2017 @danielbryantuk
![Page 33: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/33.jpg)
When bad things happen, people are always involved
06/04/2017 @danielbryantuk|@oakinger
![Page 34: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/34.jpg)
People Pain point - How does Devops fit into this?
• http://web.devopstopologies.com/
• @matthewpskelton
• @beerops and @sigje
• Google SRE
06/04/2017 @danielbryantuk
![Page 35: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/35.jpg)
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
06/04/2017 @danielbryantuk
![Page 36: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/36.jpg)
Devops - define responsibilities
• Do you really want to build an entire microservices platform?
• Focus on what matters
– Ci/CD
– Mechanical sympathy
– Logging
– Monitoring
06/04/2017 @danielbryantuk
![Page 37: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/37.jpg)
Worth considering: Open source PaaS
06/04/2017 @danielbryantuk
![Page 38: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/38.jpg)
6. ENVY - The shared SINGLE domain (and Data Store) fallacy
06/04/2017 @danielbryantuk
![Page 39: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/39.jpg)
Previously - One Model to Rule Them All...
• One model…– Breaks encapsulation
– Introduces coupling
• Know your DDD– Entities
– Value Objects
– Aggregates and Roots
06/04/2017 @danielbryantuk
![Page 40: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/40.jpg)
Context mapping (static) & event storming (dynamic)
06/04/2017 @danielbryantuk|@spoole167 40
www.infoq.com/articles/ddd-contextmapping
ziobrando.blogspot.co.uk/2013/11/introducing-event-storming.html
![Page 41: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/41.jpg)
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
• Beware of operational overhead
06/04/2017 @danielbryantuk
![Page 42: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/42.jpg)
7. PRIDE - testing in the world of transience06/04/2017 @danielbryantuk
![Page 43: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/43.jpg)
Previously...
• Local verification
– Consumer-Driven contracts
• End-to-end
– BDD-style critical path
• Remember the test pyramid
06/04/2017 @danielbryantuk
martinfowler.com/articles/microservice-testing/
![Page 44: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/44.jpg)
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
Andrew Morgan'S talk http://bit.ly/2oV0ecD
06/04/2017 @danielbryantuk
![Page 45: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/45.jpg)
Service virtualisation
• Classics
– CA service virtualization
– Parasoft virtualize
– HPE service virtualization
– IBM Test Virtualization server
• New (open source) kids on the block
– Hoverfly
– Wiremock
– VCR/Betamax
– Mountebank
– mirage
06/04/2017 @danielbryantuk
![Page 46: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/46.jpg)
Hoverfly
• Lightweight Service virtualisation
– Open source (Apache 2.0)
– Go-based / single binary
– Written by @Spectolabs
• Flexible API simulation
– HTTP / HTTPS
– Highly performant
06/04/2017 @danielbryantuk
![Page 47: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/47.jpg)
06/04/2017 @danielbryantuk
• Middleware
• RemovePII
• Ratelimit
• Addheaders
• Middleware
• Faultinjection
• Chaosmonkey
![Page 48: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/48.jpg)
Hoverfly-Java (Junit support)
06/04/2017 @danielbryantuk
github.com/SpectoLabs/hoverfly-java
![Page 49: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/49.jpg)
Right, Let'S Wrap this up...
06/04/2017 @danielbryantuk
![Page 50: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/50.jpg)
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
06/04/2017 @danielbryantuk
![Page 51: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/51.jpg)
Bedtime reading
06/04/2017 @danielbryantuk
![Page 52: The Seven (More) DEADLY SINS OF Microservices · PDF fileThe Seven (more) Deadly Sins of Microservices 1. LUST - Using the (Unevaluated) latest and greatest tech 2. GLUTTONY - Communication](https://reader031.vdocuments.mx/reader031/viewer/2022030422/5aa99e397f8b9a81188d081a/html5/thumbnails/52.jpg)
THANKS...
http://specto.io
muservicesweekly.com
(Credit to Tareq Abedrabbo, opencredo for inspiration/guidance)
06/04/2017 @danielbryantuk