How to Escape the “Big Ball of Mud”: Practical Strategies for Splitting Monolithic Systems
This article examines why monolithic, tangled codebases—dubbed the Big Ball of Mud—fail due to performance, complexity, and organizational mismatches, and presents a series of concrete architectural remedies such as domain modeling, service decomposition, ESB avoidance, asynchronous messaging, and event sourcing to achieve stable, maintainable systems.
Understanding the Big Ball of Mud
When faced with a chaotic codebase, often called a "Big Ball of Mud" (BBOM), developers struggle with performance bottlenecks, unmanageable business logic, and misaligned team structures. The article outlines three ways a BBOM dies: insufficient performance, overly complex business logic, and organizational friction.
Remedy 1 – Domain Model
Domain‑driven design proposes an AggregateRoot that encapsulates business invariants, but many teams only add a superficial model folder without real benefits. Proper domain modeling requires isolating business rules into dedicated objects, avoiding the temptation to overload a single class with unrelated responsibilities.
Remedy 2 – Service‑Oriented Refactoring
Historically, developers introduced .NET Web Services, SOA, and RPC layers to "service‑ify" monoliths, yet the core problem remains: a remote DAO adds little value beyond moving non‑functional concerns out of the business code. The article argues that merely wrapping calls in RPC or queues does not solve complexity.
Remedy 3 – Avoid Enterprise Service Bus (ESB)
ESB products often promise productivity but end up adding a heavyweight platform that mirrors the monolith’s problems. The author cites Udi Dahan’s critique that a well‑designed system should not need a massive ESB; otherwise it becomes a disaster.
Remedy 4 – Asynchronous Messaging
While queues can decouple services, the article warns of common pitfalls: reliability concerns, latency, and the mismatch between synchronous user expectations and asynchronous processing. It lists typical excuses and counters them with pragmatic advice—e.g., accept occasional data loss for analytics, but never sacrifice user‑visible latency for internal convenience.
Remedy 5 – Event Sourcing
Event sourcing, championed by Greg Young, treats commands and events as the source of truth rather than mutable state. The article acknowledges its power for complex, high‑throughput domains but warns that for typical CRUD applications it is over‑engineering. It suggests adopting event sourcing only when traditional locking mechanisms fail.
Practical Splitting Strategies
The author emphasizes that any decomposition—whether into microservices or separate processes—improves fault isolation. Key tactics include:
Give each service its own database to avoid shared‑state conflicts.
Define clear service boundaries based on business capabilities.
Use feature toggles and gray‑release pipelines to test changes safely.
Blame‑Shifting (甩锅) Techniques
Beyond technical fixes, the article lists five "blame‑shifting" tactics to protect teams from unnecessary responsibilities:
Document contracts explicitly (立字据).
Expose transparent pass‑through APIs (透传).
Let downstream services pull data instead of pushing (让他们来取).
Accept joint failure when dependencies are truly coupled (与之同归于尽).
Trust teammates and establish SLAs (相信队友).
These practices aim to clarify ownership, reduce over‑commitment, and keep systems resilient.
Conclusion
Stability and rapid delivery are the two non‑negotiable metrics for any organization. Splitting monolithic applications, establishing clear service boundaries, and applying the above architectural and organizational tactics are essential to achieve both goals.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
dbaplus Community
Enterprise-level professional community for Database, BigData, and AIOps. Daily original articles, weekly online tech talks, monthly offline salons, and quarterly XCOPS&DAMS conferences—delivered by industry experts.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
