Table of contents
Properties of the book
- Full name: Building Microservices: Designing Fine-Grained Systems, 2nd Edition
- Author: Sam Newman
- ISBN: 1492034029
- Publisher: O'Reilly Media
- Publication Date: 2021-09-28
- Pages: 612
Overview
This book is a deep dive into microservices architecture. It covers a lot of topics starting from the very basics of microservices and finishing with real world examples of microservices architecture implementation. What are microservices? How to design them? How to implement them? How to test them? How to deploy them? How to monitor them? How to secure them? How to scale them? How to organize teams around them? This book answers all these questions and even more.
Organization
The book consists of 3 big parts:
- "I. Foundation" part covers the basics of microservices architecture. It explains what are microservices, how to design them and how microservices can communicate with each other. It also covers various patterns and approaches for splitting monolith applications into microservices.
- "II. Implementation" part covers implementation details of microservices architecture. It covers a lot of topics such as:
- how to choose correct communication protocol between microservices,
- how to organize database layers for microservices,
- how to deal with data consistency without real ACID transactions in inter-service communication,
- how to organize microservices sourcecode repositories,
- what approaches can be used for microservices deployment, testing and monitoring,
- how to support microservices in production: security, scaling, monitoring.
- "III. People" part focuses on people and processes around microservices. It covers topics such as:
- how to organize UI part of application powered by microservices on the backend,
- how to organize teams around microservices.
Who is this book for?
This book is for software engineers who want to learn more about microservices architecture. It is not a book for beginners. It is a book for people who already have experience in system design and are considering microservices architecture for their projects. It is also a good book for people who want to learn more about software architecture in general.
Final Thoughts
During reading this book I was surprised how many topics are covered in it. It is a must-have book for people who want to learn more about microservices architecture. It will not try to convince you that microservices are the best solution for all problems. Moreover, it will show you that microservices are not a silver bullet, and they have their own drawbacks. Sometimes I felt that this book is more about "Why you don't want to use microservices".
I can highlight several chapters that I liked the most:
- I.2. How to Model Microservices
- II.6. Workflow
- II.9. Testing
- II.10. From Monitoring to Observability
Besides whole variety of covered topics - don't expect that you will be fully prepared to build and support microservices in production after reading this book. It is a good starting point for your journey into microservices architecture. It will give you a lot of ideas and directions for further research.