So you want to break down monolith? Read that first.
So you want to break down monolith? Read that first.My lessons learned, dos and donts from breaking down monoliths
I've been involved in several projects that tried to break down a legacy monolith. Some were successful, but most were not. Even those moderately successful had a common, painful experience. I burned my fingers and saw other teams struggle with this challenge. Not because they lacked skills, but often because their approach was too ambitious. After recently discussing monolith-to-microservices migrations, I decided to let you learn from my and other people’s mistakes. And spare you some unwanted fun. Let me share what I've seen work and learned. That’s my experience, so filter that through yours, but I hope this will be a good thought for thoughts. Be Realistic About What Stays in the MonolithYes, that’s the title, and it is not a mistake. If you believe you’ll be able to rewrite everything, I’m sorry, but you’re probably wrong. I was wrong like that multiple times. It’s anecdotal evidence, but I haven't seen a complete monolith migration succeed. Most were left in the middle of transition after going far above the planned time for rewrite. Some finished the migration, but replaced the old legacy with the new legacy after rushing the deadline. Some didn’t even manage those phases, as they sunk product and budget and were thrown away. So, the safe assumption is that some part of the old system will remain and continue running. And that's perfectly fine. The goal shouldn't be completely eliminating the monolith, but extracting the parts that benefit from independence. Consider a video editing suite with project management, rendering pipeline, effects processing, and asset management. After extracting the performance-critical rendering pipeline and the frequently updated effects processing, you might find the core project management and stable asset management work perfectly fine in the original monolith. Keeping them there could save significant effort without compromising the migration's benefits. When to Keep Functionality in the MonolithSometimes it makes sense to keep certain functionality in the monolith when:
A financial system might benefit from extracting the high-volume transaction processing and notification services while keeping the complex compliance and audit engines in the monolith because they are computationally intensive and tightly coupled. Focus on Business Value FirstI think that when planning migrations, we should start by talking with product people to identify which parts of the system deliver the most value or cause the most pain. We should follow the money. As cynical as it may seem, finding out who’ll be paying us money is as helpful. That’s critical in selecting the right tradeoffs. Example? Let’s say that we’re maintaining a SaaS platform like Shopify:
We should ask ourselves questions when discussing our features:
Of course, we should try to make both users and customers happy. Still, we need to fulfil the needs of our customers first, then do that for other users. That may sound cynical, but it’s not. If we don’t satisfy our paying customers, then we won’t make our work sustainable, and other users will eventually be also harmed by that. So I suggest focusing on business value for our customers and thus the money-flow for us:
For example, consider a team initially planning to extract the user management component because it seems technically straightforward. However, after discussions with the business, they might discover that improving the order processing system would deliver more immediate value to customers experiencing delays. By pivoting to that area, they could show benefits much faster and build momentum for the broader migration. This iterative approach works better than those "grand migration" plans that extend for years without delivering interim value. Define Specific, Measurable Metrics (Not Just Goals)Teams that succeed in migrations typically align with business stakeholders on specific, measurable metrics before starting - not just vague goals. There's a critical difference here that's often overlooked. For instance, teams might start with business goals like:
But these aren't measurable metrics - they're aspirational goals. To drive effective decision-making, you need to translate these into concrete, measurable metrics:
Connect Metrics to Business Impact - With EvidenceEven more important: for each metric, you must clearly articulate WHY achieving this target matters to the business. Without this connection, you're just chasing numbers for their own sake... Continue reading this post for free in the Substack app |
Older messages
Documenting Event-Driven Architecture with EventCatalog and David Boyne
Thursday, February 27, 2025
If you're wondering on how to document Event-Driven Architecture, or you don't know that you should, I have something for you. We discussed with David Boyne, why data governance practices and
How does Kafka know what was the last message it processed? Deep dive into Offset Tracking
Thursday, February 27, 2025
Today we got back to our Kafka internals series. We discussed how it keeps track of processed messages. This may seem like a detail, but understanding it can be critical for smooth message processing.
Defining Your Paranoia Level: Navigating Change Without the Overkill
Friday, February 14, 2025
We've all been there: trying to learn something new, only to find our old habits holding us back. We discussed today how our gut feelings about solving problems can sometimes be our own worst enemy
Pssst, do you want to learn some Event Sourcing?
Friday, February 14, 2025
Hi! Does Event Sourcing tempt you but don't know where to start? Is your business losing data? ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
How a Kafka-Like Producer Writes to Disk
Monday, January 13, 2025
We take a Kafka client, call the producer, send the message, and boom, expect it to be delivered on the other end. And that's actually how it goes. But wouldn't it be nice to understand better
You Might Also Like
The new tablet to beat
Monday, March 3, 2025
5 top MWC products; iPhone 16e hands-on📱; Solar-powered laptop -- ZDNET ZDNET Tech Today - US March 3, 2025 TCL Nxtpaper 11 tablet at CES The tablet that replaced my Kindle and iPad is finally getting
Import AI 402: Why NVIDIA beats AMD: vending machines vs superintelligence; harder BIG-Bench
Monday, March 3, 2025
What will machines name their first discoveries? ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
GCP Newsletter #440
Monday, March 3, 2025
Welcome to issue #440 March 3rd, 2025 News LLM Official Blog Vertex AI Evaluate gen AI models with Vertex AI evaluation service and LLM comparator - Vertex AI evaluation service and LLM Comparator are
Apple Should Swap Out Siri with ChatGPT
Monday, March 3, 2025
Not forever, but for now. Until a new, better Siri is actually ready to roll — which may be *years* away... Apple Should Swap Out Siri with ChatGPT Not forever, but for now. Until a new, better Siri is
⚡ THN Weekly Recap: Alerts on Zero-Day Exploits, AI Breaches, and Crypto Heists
Monday, March 3, 2025
Get exclusive insights on cyber attacks—including expert analysis on zero-day exploits, AI breaches, and crypto hacks—in our free newsletter. ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
⚙️ AI price war
Monday, March 3, 2025
Plus: The reality of LLM 'research'
Post from Syncfusion Blogs on 03/03/2025
Monday, March 3, 2025
New blogs from Syncfusion ® AI-Driven Natural Language Filtering in WPF DataGrid for Smarter Data Processing By Susmitha Sundar This blog explains how to add AI-driven natural language filtering in the
Vo1d Botnet's Peak Surpasses 1.59M Infected Android TVs, Spanning 226 Countries
Monday, March 3, 2025
THN Daily Updates Newsletter cover Starting with DevSecOps Cheatsheet A Quick Reference to the Essentials of DevSecOps Download Now Sponsored LATEST NEWS Mar 3, 2025 The New Ransomware Groups Shaking
🪩 Why There Are So Many Linux Distros — Do Clone's Creepy Robots Have a Reason to Exist?
Monday, March 3, 2025
Also: 8 Wild Gaming Accessories You Can Actually Buy How-To Geek Logo March 3, 2025 Did You Know The slang term "the clink," used to refer to prison or jail, can be directly traced back to an
Re: Take incredible iPhone photos
Monday, March 3, 2025
Hi there, Ever had the perfect photo opportunity slip by while you were fumbling with your iPhone settings? Or snapped a picture, only to find out later it was blurry? You're not alone. But you don