Deconstructing the monolith
summary
Describes breaking a Drupal 7 monolith into independent services over a year while keeping users unaware of downtime, migrating toward Drupal 8 and replacing a single tightly coupled app with 25 components that each own data and responsibility. Uses DDD to map bounded contexts, Python for data migration, MariaDB for storage, and JWT auth with UUID prefixes for identity and service routing. Cuts Drupal schema complexity from 300+ tables → <30, adds service discovery, local authorizations, and accepts higher infra and operational costs.
AI-written summary · about
chapters (18)
- 0:00Introduction and speaker intro
- 1:07What is a monolith
- 2:15Monolith vs microservices trade-offs
- 5:13Our company’s monolith case
- 8:45Why decouple the monolith
- 13:24Benefits of decoupling
- 17:30Stripping cycle for decoupling
- 20:40Choosing technologies per service
- 21:51Decoupling authentication challenges
- 27:17User identity and role consistency
- 31:07Local user projections and value
- 33:22Principle of least privilege
- 36:25Qualified IDs for entity routing
- 40:56Versioning entities with IDs
- 43:28Running multiple service versions
- 46:08Unexpected consequences of decoupling
- 51:02Synchronous vs asynchronous processes
- 51:45Q&A
related talks
45mUsing DDD To Decompose Your Monolith
57mModularizing the Monolith
48mMicroMonolith
36mDecomposing a monolith - engineering and operational strategies we have gleaned from our experience
40mBreaking the Monolith! Decoupling a Legacy Monolithic Application
40mMigrating from a monolith to a new service
48mExtracting a microservice from a 15-year-old monolith: a one-year adventure
23mMicroservices within a Monolith
