From Dinosaurs to Snakes - Decomposing the Enterprise Monolith
summary
Company is replacing a 30-year monolith by incrementally building 8–12 macroservices in Python/Django backed by Postgres, using Celery, Redis and outbox pattern with RabbitMQ for Pub/Sub. Initial POC runs inside the old server and uses Django Admin; teams share the legacy flat-file DB during migration. A broker service wraps the legacy system to publish events and eventually become an API gateway. Work spans ~2.5–3 years so far, with full decommissioning of the dinosaur still uncertain.
AI-written summary · about
chapters (18)
- 0:00Introduction and welcome
- 0:43Legacy monolith overview
- 3:34Problems with legacy system
- 5:25Options for modernization
- 7:56Choosing distributed architecture
- 9:47Proposed tech stack and deployment
- 12:18Team skills and initial approach
- 15:53Introducing domain models
- 18:20Current architecture snapshot
- 19:03Implementing Pub sub with RabbitMQ
- 21:58Biggest risks in migration
- 23:02Tips for successful decomposition
- 25:56Resource and skill development
- 26:40Q&A: Django choice and front end
- 28:50Q&A: Testing and frontend challenges
- 30:17Q&A: Automated testing and CI
- 31:20Q&A: Release process changes
- 33:08Q&A: Timeline and team size
related talks
35mLegacy Monolith to Microservices
53mDeconstructing the monolith
32mQuietly Strangling the Monolith - a real-world migration of a high traffic monolith
23mOn the road from Monolith to Micro
40mBreaking the Monolith! Decoupling a Legacy Monolithic Application
34mKilling the Dinosaur: A migration story
24mModernise your monolith using strangler pattern
39mBuilding Scalable Orchestration
