Building Microservices - Designing Fine-Grained Systems by Sam Newman

I am lucky to have read the first edition of "Building Microservices" in 2018. Sam Newman became a teacher who taught me a solid foundation of microservices..

Building Microservices - Designing Fine-Grained Systems by Sam Newman

I am lucky to have read the first edition of "Building Microservices" in 2018. Sam Newman became a teacher who taught me a solid foundation of microservices, greatly influencing my career over the following years.

In 2023, I had a chance to work on a project that required splitting a heavy monolith into microservices, so I wanted to update myself with ever-evolving tools, concepts, and patterns. When I noticed that the second, extended, and updated edition was available, I instantly knew this was the book I had to read again.

The content consists of three parts and 16 chapters:

  1. What are microservices
  2. How to model microservices
  3. Splitting the monolith
  4. Microservice communication styles
  5. Implementing microservice communication
  6. Workflow
  7. Build
  8. Deployment
  9. Testing
  10. From monitoring to observability
  11. Security
  12. Resiliency
  13. Scaling
  14. User interfaces
  15. Organizational structures
  16. The evolutionary architect

Part One (Chapters 1-4) provides core ideas and concepts about microservices. It examines the importance of information hiding, coupling, cohesion, domain-driven design, and boundaries. It shows microservices advantages (Technology Heterogeneity, Robustness, Scaling, Ease of Deployment, Organizational Alignment, Composability) and pain points (Developer Experience, Technology Overload, Cost, Reporting, Monitoring and Troubleshooting, Latency, etc.) You will learn that a monolith is not always an enemy, but if you are on track to splitting it, you will know how to do it most efficiently and safely. The last chapter discusses the different types of microservice communication, including asynchronous versus synchronous calls and request-response and event-driven collaboration styles.

I recommend reading Part One (roughly 100 pages) by every team member, from junior developers to architects and technical project managers, to save numerous hours of rework and surprises. Once, I had to assist a team that spent multiple months rebuilding a legacy application into microservices. They were very proud of it, but on a first code examination, it turned out that they were building a distributed monolith. If they had a chance to read the book or at least Part One, the team could avoid trivial mistakes.

Part Two (Chapters 5-13)

Part two goes even more deeply in detail, but I prefer that the reader get the wisdom directly from the source instead of my summary.


Building Microservices - Designing Fine-Grained Systems by Sam Newman. (Second Edition, O'Reilly, 2021, 618 pages)

Subscribe to AWS by Vlad Frantskevich

Don’t miss out on the latest issues. Sign up now to get updates.
jamie@example.com
Subscribe