Umbrella Apps-Winter is coming
summary
Argues that umbrella apps are a convention for packaging bounded contexts in Elixir/Phoenix to improve maintainability, not a microservice silver bullet, and demonstrates a working sales/shipping example using mix new --umbrella, Phoenix-aware generators and Distillery for deployment. Implements CQRS and event sourcing with the Commanded library, uses UUID identity for aggregates to allow cross-context communication, emits events to projections (read models), accepts eventual consistency, and shows the approach can be deployed and replayed from origin.
AI-written summary · about
chapters (14)
- 0:00Start
- 2:17Create a New Umbrella App
- 5:11Low Cohesion
- 6:02How To Model Your Domain
- 8:08Main Driven Design
- 8:31Domain Modeling
- 10:37Bounded Context
- 11:15Subdomains versus Bounded Context
- 12:54Ubiquitous Language
- 19:21Aggregates
- 22:10Command Query Separation Principle
- 24:38Event Sourcing
- 39:09Conclusion
- 40:10Homework
related talks
37mBuilding Umbrella Project
15mMicroservices with Elixir
57mHow I sliced your app
52mBuilding monolith applications that could scale to microservices..
40mFrom Monolith to Observable Microservices using DDD
12mLiberating your Application from Framework Tyranny
45mBuilding Monoliths that Could Scale (Easily) to Microservices (If They Need)
47mSay Goodbye to Microservices, Say Hello to Self-Contained Systems
