We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
Bootstrapping Microservices • Ashley Davis & Damian Maclennan
Learn proven patterns for building resilient microservices, from right-sizing and loose coupling to observability and testing. Get practical guidance on when and how to adopt microservices.
-
Microservices should be right-sized for their purpose rather than arbitrarily small - focus on logical business responsibilities over technical concerns
-
Sharing databases between microservices is a critical anti-pattern that breaks loose coupling and eliminates key benefits like fault isolation
-
Having services communicate too synchronously creates tight coupling and fragile systems - aim for asynchronous communication where possible
-
Local development and testing capability is essential - services need to be testable on developer machines before moving to higher environments
-
Start with proper modeling of the business domain before splitting into services - don’t start with the technical architecture first
-
Microservices add complexity that magnifies existing problems - ensure fundamentals like CI/CD and testing are solid before adopting
-
Consider a hybrid approach with a monolith core and strategic microservices around the edges rather than going fully distributed
-
Good candidates for microservices include computationally intensive tasks, security-sensitive components, and reusable capabilities like notifications
-
Proper observability and monitoring become critical with distributed systems - invest in tooling to understand system behavior
-
Breaking services out gradually based on business needs is better than forcing everything into microservices upfront