Skip to content
Maps from Legacy Ugliness to DevOps Mastery
Main Navigation
More Maps
Escape the monolith!
Subscribe for Updates
Appearance
Menu
Return to top
Clean Boundaries Path
Monorepo Path
Ops Path
Integration Test Without Labs
Measure User Behavior
Reduced Lab Need
Backwards Compatability
Defined Boundaries
Build Independently
Integration Test Without Integrating
Melting Dependencies
Multi-version Systems
Producer Consumer Map
Refactoring is Safe and Cheap
+
Verify Boundaries Independently
Uniform Development Platform
+
Monolithic Releases
Branch Without Branching
Anyone Changes Everything
Distributed Local Test Execution
Global Code Review
Refactor by Script
Automatically Change Product Behavior
Excellent Telemetry
Parallel Systems
Release / Rollback Without Deployment
Separately Deployable Codebases
Ship Dark Features
Excellent Unit Testing
Test in Production
Ship Without Syncronizing
Multiple behaviors...
Expand...
Multiple behaviors...
Expand...
Breaking up a Monolith
Start
You have at least 5 teams releasing out of a single codebase.
Goal
Each team can ship independently and at will.
Teams do not need to know when other teams release.
Each team verifies that its changes will not break other teams, with every commit.
No human or system ever needs to run 2 different teams' code in an integrated environment, other than production.
Non-Goals
Microservices.