SlideShare a Scribd company logo
How To Avoid
Microservice Pitfalls
www.clear-measure.com www.particular.net
github.com/ClearMeasureLabs/cm-particular-webinar
Jeffrey Palermo
@jeffreypalermo
jeffrey@clear-measure.com
CEO, Clear Measure
Justin Self
@thejustinself
justin.self@clear-measure.com
Principal Solution Architect, Clear Measure
David Boike
@davidboike
david.boike@particular.net
Solution Architect, Particular
What is and isn’t a
microservice?
It IS a service that encapsulates
one capability or function.
It ISN’T a service that has multiple
responsibilities.
Microservice
Pitfalls
And how to get around them
Pitfall: More than one microservice in a
repository
• Difficult to enforce complete separation
• CI/CD and Build chains become
complicated
• Introduces more code
• Clutters the repo history
• Difficult to segregate team responsibilities
Guidance: One microservice per repo
• It’s generally free
• Simplified CI/CD pipeline
• Focused history
• Easy to hold the entire repo in your mind
• Promotes best tool for job
Pitfall: More than one microservice per
database
• Data ownership becomes muddled
• Allows for cross dependencies between
other microservices
• Leads to using one storage hammer for all
storage needs
• Complicates deployments
• Database and service code are coupled
• Forced to scale and shard all data at the
same time
Guidance: Each microservice gets at least
one private datastore
• Pick the right data storage for the given requirement
• Expose API’s for querying important data
• Use NServiceBus events to propagate data between services if needed
• Avoid schema only abstractions
• Automate all database migrations and interactions
• SQL Queries
• Document patches
• Index creations
• Etc.
Pitfall: Making everything public
• Promotes a tangled mess of
dependencies
• 2016 version of dependency hell
• Versioning becomes difficult
• Exposing all commands is like making all
methods public
Guidance: Create boundaries
• Group your microservices by capabilities
• Share events, not commands outside of the boundaries
• API’s could act as boundaries
Source: @adrianco
http://www.slideshare.net/adriancockcroft/
qcon-new-york-speed-and-scale
Pitfall: Coupled deployments
• Lockstep deployments
• No versioning scheme for APIs
• Hard coding service locations
Guidance: Make them independent
• Version APIs from day one
• Don’t “HTTP all the things”
• Pass messages unless you shouldn’t
• Use service discovery tools and proxies
• Consul
• NGINX
• DNS
Pitfall: Automation as an afterthought
• Waiting to implement CI/CD
• Snowflake servers
• Pets vs cattle approach
• No “iteration zero” repo
• No centralized logging and monitoring
Guidance: Automate all the things
• Forces a level of consistency among all services
• Configuration as code
• Log, log and log some more
• Implement consistent health checking
• Embrace build tools and tasks
• psake
• Cake
• Batch files
Pitfall:
Thinking microservices
are a panacea
Guidance:
Approach microservices like buying a horse
Thank You
Jeffrey Palermo
Jeffrey@clear-measure.com
@jeffreypalermo
Justin Self
Justin.Self@clear-measure.com
@thejustinself
David Boike
David.Boike@particular.net
@davidboike
Questions?
github.com/ClearMeasureLabs/cm-particular-webinar

More Related Content

What's hot (20)

PPTX
Atlanta Microservices Day: Istio Service Mesh
Christian Posta
 
PDF
Journey to a multi-tenant e commerce solution in the cloud with Kubernetes - ...
Vlad Stanescu
 
PDF
20161103 Serverless Italy Meetup
Luca Bianchi
 
PDF
An eventful tour from enterprise integration to serverless and functions
Christian Posta
 
PPTX
Microservices Journey Summer 2017
Christian Posta
 
PPTX
A Microservice Journey
Christian Posta
 
PPTX
Microservices and Integration: what's next with Istio service mesh
Christian Posta
 
PDF
Managing your camels in the cloud with CI/CD
Christian Posta
 
PDF
Microservices with Apache Camel, DDD, and Kubernetes
Christian Posta
 
PDF
Microservices Practitioner Summit Jan '15 - Microservice Ecosystems At Scale ...
Ambassador Labs
 
PDF
Serverless On Stage - Serverless URL Shortener
Luca Bianchi
 
PPTX
A microservices journey - Round 2
Christian Posta
 
PPTX
Icinga camp ams 2016 icinga2
Assaf Flatto
 
PDF
Chick-fil-A: Milking the most out of thousands of kubernetes clusteres
Brian Chambers
 
PPTX
DevNexus 2015
Christian Posta
 
PPTX
Microservices Journey Fall 2017
Christian Posta
 
PPTX
Micro-frontends – is it a new normal?
Lohika_Odessa_TechTalks
 
PDF
Java one kubernetes, jenkins and microservices
Christian Posta
 
PDF
SOA Latam 2015
Domingo Suarez Torres
 
PDF
We don't need consensus: All agreed?
Weaveworks
 
Atlanta Microservices Day: Istio Service Mesh
Christian Posta
 
Journey to a multi-tenant e commerce solution in the cloud with Kubernetes - ...
Vlad Stanescu
 
20161103 Serverless Italy Meetup
Luca Bianchi
 
An eventful tour from enterprise integration to serverless and functions
Christian Posta
 
Microservices Journey Summer 2017
Christian Posta
 
A Microservice Journey
Christian Posta
 
Microservices and Integration: what's next with Istio service mesh
Christian Posta
 
Managing your camels in the cloud with CI/CD
Christian Posta
 
Microservices with Apache Camel, DDD, and Kubernetes
Christian Posta
 
Microservices Practitioner Summit Jan '15 - Microservice Ecosystems At Scale ...
Ambassador Labs
 
Serverless On Stage - Serverless URL Shortener
Luca Bianchi
 
A microservices journey - Round 2
Christian Posta
 
Icinga camp ams 2016 icinga2
Assaf Flatto
 
Chick-fil-A: Milking the most out of thousands of kubernetes clusteres
Brian Chambers
 
DevNexus 2015
Christian Posta
 
Microservices Journey Fall 2017
Christian Posta
 
Micro-frontends – is it a new normal?
Lohika_Odessa_TechTalks
 
Java one kubernetes, jenkins and microservices
Christian Posta
 
SOA Latam 2015
Domingo Suarez Torres
 
We don't need consensus: All agreed?
Weaveworks
 

Similar to How to avoid microservice pitfalls (20)

PDF
Surviving microservices
Francesco Degrassi
 
PPTX
Microservices in Action: putting microservice-based applications into production
Manning Publications
 
PPTX
Distilling the monolith to microservices journey at CMG
Buchi Reddy Busi Reddy
 
PDF
Pitfalls & Challenges Faced During a Microservices Architecture Implementation
Cognizant
 
PDF
#ATAGTR2020 Presentation - Microservices – Explored
Agile Testing Alliance
 
PPTX
Microservices
Nebiyou Tibebu
 
PDF
Microservices - Hitchhiker's guide to cloud native applications
Stijn Van Den Enden
 
PPTX
Microservices - The good, The bad, The does and The don'ts
Frederik Mogensen
 
PDF
Building Microservices Software practics
muhammed84essa
 
PDF
Microservices: The Best Practices
Pavel Mička
 
PPTX
Webinar : Microservices and Containerization
Newt Global Consulting LLC
 
DOCX
Jon Cohn Exton PA - Microservices anti
Jon Cohn
 
PDF
Intro to Microservices
Vladimir Korolev
 
PPTX
Best Practices Building Cloud Scale Apps with Microservices
Jim (张建军) Zhang
 
PPTX
Service Mesh CTO Forum (Draft 3)
Rick Hightower
 
PDF
Atmosphere Conference 2015: Do you think you're doing microservices?
PROIDEA
 
PDF
Microservices: State of the Union
C4Media
 
PDF
microservices in action.pdf
musiczenparty
 
PDF
Service Mesh Talk for CTO Forum
Rick Hightower
 
PDF
The Six Pitfalls of building a Microservices Architecture (and how to avoid t...
J On The Beach
 
Surviving microservices
Francesco Degrassi
 
Microservices in Action: putting microservice-based applications into production
Manning Publications
 
Distilling the monolith to microservices journey at CMG
Buchi Reddy Busi Reddy
 
Pitfalls & Challenges Faced During a Microservices Architecture Implementation
Cognizant
 
#ATAGTR2020 Presentation - Microservices – Explored
Agile Testing Alliance
 
Microservices
Nebiyou Tibebu
 
Microservices - Hitchhiker's guide to cloud native applications
Stijn Van Den Enden
 
Microservices - The good, The bad, The does and The don'ts
Frederik Mogensen
 
Building Microservices Software practics
muhammed84essa
 
Microservices: The Best Practices
Pavel Mička
 
Webinar : Microservices and Containerization
Newt Global Consulting LLC
 
Jon Cohn Exton PA - Microservices anti
Jon Cohn
 
Intro to Microservices
Vladimir Korolev
 
Best Practices Building Cloud Scale Apps with Microservices
Jim (张建军) Zhang
 
Service Mesh CTO Forum (Draft 3)
Rick Hightower
 
Atmosphere Conference 2015: Do you think you're doing microservices?
PROIDEA
 
Microservices: State of the Union
C4Media
 
microservices in action.pdf
musiczenparty
 
Service Mesh Talk for CTO Forum
Rick Hightower
 
The Six Pitfalls of building a Microservices Architecture (and how to avoid t...
J On The Beach
 
Ad

More from Particular Software (20)

PDF
Scaling for Success: Lessons from handling peak loads on Azure with NServiceBus
Particular Software
 
PDF
Beyond simple benchmarks—a practical guide to optimizing code
Particular Software
 
PDF
An exception occurred - Please try again
Particular Software
 
PPTX
Tales from the trenches creating complex distributed systems
Particular Software
 
PPTX
Got the time?
Particular Software
 
PPTX
Implementing outbox model-checking first
Particular Software
 
PPTX
Reports from the field azure functions in practice
Particular Software
 
PPTX
Finding your service boundaries - a practical guide
Particular Software
 
PPTX
Decomposing .NET Monoliths with NServiceBus and Docker
Particular Software
 
PDF
DIY Async Message Pump: Lessons from the trenches
Particular Software
 
PDF
Share the insight of ServiceInsight
Particular Software
 
PPTX
What to consider when monitoring microservices
Particular Software
 
PPTX
Making communications across boundaries simple with NServiceBus
Particular Software
 
PPTX
Making communication across boundaries simple with Azure Service Bus
Particular Software
 
PDF
Connect front end to back end using SignalR and Messaging
Particular Software
 
PDF
Async/Await: NServiceBus v6 API Update
Particular Software
 
PDF
Async/Await: TPL & Message Pumps
Particular Software
 
PDF
Async/Await Best Practices
Particular Software
 
PPTX
Making workflow implementation easy with CQRS
Particular Software
 
PPTX
Cqrs but different
Particular Software
 
Scaling for Success: Lessons from handling peak loads on Azure with NServiceBus
Particular Software
 
Beyond simple benchmarks—a practical guide to optimizing code
Particular Software
 
An exception occurred - Please try again
Particular Software
 
Tales from the trenches creating complex distributed systems
Particular Software
 
Got the time?
Particular Software
 
Implementing outbox model-checking first
Particular Software
 
Reports from the field azure functions in practice
Particular Software
 
Finding your service boundaries - a practical guide
Particular Software
 
Decomposing .NET Monoliths with NServiceBus and Docker
Particular Software
 
DIY Async Message Pump: Lessons from the trenches
Particular Software
 
Share the insight of ServiceInsight
Particular Software
 
What to consider when monitoring microservices
Particular Software
 
Making communications across boundaries simple with NServiceBus
Particular Software
 
Making communication across boundaries simple with Azure Service Bus
Particular Software
 
Connect front end to back end using SignalR and Messaging
Particular Software
 
Async/Await: NServiceBus v6 API Update
Particular Software
 
Async/Await: TPL & Message Pumps
Particular Software
 
Async/Await Best Practices
Particular Software
 
Making workflow implementation easy with CQRS
Particular Software
 
Cqrs but different
Particular Software
 
Ad

Recently uploaded (20)

PPTX
Milwaukee Marketo User Group - Summer Road Trip: Mapping and Personalizing Yo...
bbedford2
 
PDF
Driver Easy Pro 6.1.1 Crack Licensce key 2025 FREE
utfefguu
 
PDF
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
PDF
Wondershare PDFelement Pro Crack for MacOS New Version Latest 2025
bashirkhan333g
 
PDF
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
Ortus Solutions, Corp
 
PDF
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
PDF
SAP Firmaya İade ABAB Kodları - ABAB ile yazılmıl hazır kod örneği
Salih Küçük
 
PPTX
Hardware(Central Processing Unit ) CU and ALU
RizwanaKalsoom2
 
PDF
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
PDF
SciPy 2025 - Packaging a Scientific Python Project
Henry Schreiner
 
PPTX
Help for Correlations in IBM SPSS Statistics.pptx
Version 1 Analytics
 
PDF
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
PPTX
Foundations of Marketo Engage - Powering Campaigns with Marketo Personalization
bbedford2
 
PDF
HiHelloHR – Simplify HR Operations for Modern Workplaces
HiHelloHR
 
PPTX
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
PDF
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
PPTX
In From the Cold: Open Source as Part of Mainstream Software Asset Management
Shane Coughlan
 
PDF
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
PDF
4K Video Downloader Plus Pro Crack for MacOS New Download 2025
bashirkhan333g
 
PDF
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
Milwaukee Marketo User Group - Summer Road Trip: Mapping and Personalizing Yo...
bbedford2
 
Driver Easy Pro 6.1.1 Crack Licensce key 2025 FREE
utfefguu
 
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
Wondershare PDFelement Pro Crack for MacOS New Version Latest 2025
bashirkhan333g
 
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
Ortus Solutions, Corp
 
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
SAP Firmaya İade ABAB Kodları - ABAB ile yazılmıl hazır kod örneği
Salih Küçük
 
Hardware(Central Processing Unit ) CU and ALU
RizwanaKalsoom2
 
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
SciPy 2025 - Packaging a Scientific Python Project
Henry Schreiner
 
Help for Correlations in IBM SPSS Statistics.pptx
Version 1 Analytics
 
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
Foundations of Marketo Engage - Powering Campaigns with Marketo Personalization
bbedford2
 
HiHelloHR – Simplify HR Operations for Modern Workplaces
HiHelloHR
 
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
In From the Cold: Open Source as Part of Mainstream Software Asset Management
Shane Coughlan
 
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
4K Video Downloader Plus Pro Crack for MacOS New Download 2025
bashirkhan333g
 
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 

How to avoid microservice pitfalls

  • 1. How To Avoid Microservice Pitfalls www.clear-measure.com www.particular.net github.com/ClearMeasureLabs/cm-particular-webinar
  • 2. Jeffrey Palermo @jeffreypalermo [email protected] CEO, Clear Measure Justin Self @thejustinself [email protected] Principal Solution Architect, Clear Measure David Boike @davidboike [email protected] Solution Architect, Particular
  • 3. What is and isn’t a microservice? It IS a service that encapsulates one capability or function. It ISN’T a service that has multiple responsibilities.
  • 5. Pitfall: More than one microservice in a repository • Difficult to enforce complete separation • CI/CD and Build chains become complicated • Introduces more code • Clutters the repo history • Difficult to segregate team responsibilities
  • 6. Guidance: One microservice per repo • It’s generally free • Simplified CI/CD pipeline • Focused history • Easy to hold the entire repo in your mind • Promotes best tool for job
  • 7. Pitfall: More than one microservice per database • Data ownership becomes muddled • Allows for cross dependencies between other microservices • Leads to using one storage hammer for all storage needs • Complicates deployments • Database and service code are coupled • Forced to scale and shard all data at the same time
  • 8. Guidance: Each microservice gets at least one private datastore • Pick the right data storage for the given requirement • Expose API’s for querying important data • Use NServiceBus events to propagate data between services if needed • Avoid schema only abstractions • Automate all database migrations and interactions • SQL Queries • Document patches • Index creations • Etc.
  • 9. Pitfall: Making everything public • Promotes a tangled mess of dependencies • 2016 version of dependency hell • Versioning becomes difficult • Exposing all commands is like making all methods public
  • 10. Guidance: Create boundaries • Group your microservices by capabilities • Share events, not commands outside of the boundaries • API’s could act as boundaries Source: @adrianco http://www.slideshare.net/adriancockcroft/ qcon-new-york-speed-and-scale
  • 11. Pitfall: Coupled deployments • Lockstep deployments • No versioning scheme for APIs • Hard coding service locations
  • 12. Guidance: Make them independent • Version APIs from day one • Don’t “HTTP all the things” • Pass messages unless you shouldn’t • Use service discovery tools and proxies • Consul • NGINX • DNS
  • 13. Pitfall: Automation as an afterthought • Waiting to implement CI/CD • Snowflake servers • Pets vs cattle approach • No “iteration zero” repo • No centralized logging and monitoring
  • 14. Guidance: Automate all the things • Forces a level of consistency among all services • Configuration as code • Log, log and log some more • Implement consistent health checking • Embrace build tools and tasks • psake • Cake • Batch files

Editor's Notes

  • #7: David: Segregate team responsibilities Talk about Particular maintainer groups, organizationally multiple repos is a good idea anyway.
  • #9: Demo of AliasQL
  • #11: David - Talk about deploying messages with MyGet
  • #14: More details on snowflake services
  • #15: David : This is the approach we use at Particular as well We automate everything we can Conventions based on the endpoint name
  • #17: David : I’ve seen plenty of examples of companies thinking microservices should be used for everything, or that it’s a quick fix. It’s a way to deliberately build systems that are maintainable for the long term