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.
Table of contents
Principles Of Microservices
- Introducing The Principles Of Microservices
- Principle 1 - Modelled Around Business Domain
- Principle 2 - Culture Of Automation
- Principle 3 - Hide Implementation Details
- Principle 4 - Decentralize All The Things
- Principle 5 - Deploy Independently
- Principle 6 - Consumer First
- Principle 7 - Isolate Failure
- Principle 8 - Highly Observable
- Title: The Principles of Microservices
- Release date: August 2015
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9781491935811
You might also like
Distributed Systems in One Lesson
Simple tasks like running a program or storing and retrieving data become much more complicated when …
Head First Design Patterns, 2nd Edition
You know you don’t want to reinvent the wheel, so you look to design patterns—the lessons …
Software developers and architects increasingly turn to microservices as a framework for improving the agility and …
Software Engineering at Google
Today, software engineers need to know not only how to program effectively but also how to …