Skip to content

Wrestling with a Monolith: Notes on Sam Newman's "Monolith to Microservices"

Reading a technical book in your spare time is a dangerous game. For months, Sam Newman's "Monolith to Microservices" was my companion, and with every chapter, I'd inevitably fall down a rabbit hole, furiously sketching diagrams of how to apply his ideas to my own monolithic beast at work. It was less a casual read and more a series of intense, unsolicited brainstorming sessions.

This book isn’t a gentle introduction; it’s a dense, pragmatic guide for anyone staring down the barrel of a monolith-to-microservices migration. It’s for the practitioner who has felt the growing pains of a single, sprawling codebase and is wondering if there’s a better way.

If you’re just starting to entertain the idea of microservices, do yourself a favor and read up to Chapter 2, "Planning a Migration." It’s tempting to skip the preliminaries and jump straight to the sexy parts—the tech, the tools, the code. But as Newman lays out, that’s like trying to build a house without a blueprint. You’ll end up with a distributed monolith, a more complicated version of the mess you were trying to escape. These early chapters are the guardrails that keep you from driving your project off a cliff before it even starts.

Chapters 2 and 5: Setting Expectations

Then, I’d suggest skipping ahead to Chapter 5, "Growing Pains," to get a taste of the challenges that await you on the other side. It’s a healthy dose of realism that’s crucial for setting expectations. It’s one thing to want to escape the monolith; it’s another to be prepared for the new set of problems you’ll be inheriting.

Chapter 3: Patterns for the Migration

Chapter 3, "Splitting the Monolith," felt like being handed a set of weapons to fight a war. It lays out a variety of patterns for carefully carving up a monolith, offering a much-needed sense of structure for what can feel like an impossibly chaotic task.

Chapter 4: Taming the Database Dragons

This is the part of the journey where dragons lie, and I knew that if I let myself, I’d get completely lost in the weeds of my own database’s complexities. I treated it as a theoretical exercise, a glimpse into a possible future, rather than a concrete plan.

Final Thoughts: A Companion for the Journey

"Building Microservices" has earned a permanent spot in my library. It’s not the kind of book you read once and put away; it’s a field guide, a reference manual to be consulted whenever you find yourself lost in a monolith. I have no doubt I’ll be pulling it out again the next time I have to tame a monolith.

Comments