Majestic Modular Monoliths
summary
Argues for a middle path: a modular monolith that keeps single-artifact deployment while enforcing module APIs, schemas-per-module, and acyclic dependencies. Recommends practical JVM tactics: Maven modules, shading, Java 9 module rules, DB queues with SELECT FOR UPDATE SKIP LOCKED, and gradual splitting to services. Cites scale context (6,907 AWS openings, 4,000+ technical AWS roles; EC2 up to 448 vCPUs and 12 TB RAM) and tooling (Boxfuse for VM images, Flyway with 10M+ downloads) as applied evidence.
AI-written summary · about
chapters (15)
- 0:00Start
- 6:30Architecture Styles
- 18:02Introducing Distributed Monoliths
- 19:24Layered Architecture
- 21:47Domain Driven Design
- 22:44Acyclic Dependencies
- 29:31Avoiding Jar Hell
- 32:53Enforcing Dependency Convergence
- 33:05Enforcing Package Usage
- 35:08Relational Databases
- 38:04Data Isolation
- 42:41Scaling Asymmetrically
- 46:27Language independence
- 48:35Database Schema Evolution
- 49:22Summary
related talks
59mMajestic Modular Monoliths
43mModular Monoliths: The Architecture That Scales w Your Domain
01h 04mModular Monoliths and Other Facepalms
57mModularizing the Monolith
55mArchitectural Patterns for Rapid, Reliable, Frequent and Sustainable Development
01h 04mPractical advice for building glorious monoliths
45mMonolith to Microservices: Modularizing Fineract 1.x
51mModularization: Foundation of Microservices and Monoliths
