What are microservices? When should you use them? Should you start with microservices, or migrate to them over time?
Interest in microservices is exploding, with industry leaders like Amazon and Netflix deploying them massively. In this video course, O’Reilly author Sam Newman presents an overview of microservice architecture and usage, including modeling, integrating, testing, deploying, and monitoring your own autonomous services.
Throughout the course, Sam demonstrates his Eight Key Principles for doing microservices well:
Model Around Your Business Domain: Domain-driven design can help you find stable, reusable boundaries
Build a Culture of Automation: More moving parts means automation is key
Hide Implementation Details: One of the pitfalls that distributed systems can often fall into is tightly coupling their services together
Embrace Decentralization: To achieve autonomy, push power out of the center, organizationally and architecturally
Deploy Independently: Perhaps the most important characteristic microservices need
Focus on Consumers First: As the creator of an API, make your service easy to consume
Isolate Failure: Microservice architecture doesn’t automatically make your systems more stable
Make Them Highly Observable: With many moving parts, understanding what is happening in your system can be challenging
About the presenter:
Sam Newman is the author of Building Microservices: Designing Fine-Grained Systems (O’Reilly Media, 2015). Sam is a technologist at ThoughtWorks, where he divides his time between helping clients globally, and working as an architect for ThoughtWorks' own internal systems. Sam has written articles, presented at conferences, and sporadically commits to open source projects.
About the O’Reilly Software Architecture Series:
Clearing a path from developer to architect and enriching that path once you arrive.
Software architecture is a fast-moving, multidisciplinary subject in which entire suites of "best practices" become obsolete practically overnight. No single path or curriculum exists, and different types of architecture—application, integration, enterprise—require different subject emphasis. Whether you’re at the outset of a career as an architect or in the midst of such a career, series editor Neal Ford has curated this collection of tools and guides for aspiring and seasoned architects alike.