Architecting the Unconventional: A Case Study in Software Design
summary
Rewrites a brittle system split across two monoliths into an intentional architecture around a Task Runner background-job app that routes queued jobs to one-handler-per-queue workers, keeps the same domain/use-case core, and swaps only interface/infrastructure implementations. Uses TypeScript examples, an in-memory repo for tests, a bmq queue manager and a cron that enqueues a job every five minutes. Result: tests exist, team stops fearing changes, and a dashboard is added without touching core.
AI-written summary · about
chapters (17)
- 0:00Introduction and speaker background
- 1:04Purpose of the talk
- 2:10Legacy system challenges
- 3:15Task Runner use case explanation
- 4:19Intentional architecture approach
- 6:08Core vs. details in architecture
- 8:19Layered architecture breakdown
- 10:06Interface layer implementation
- 11:09Application layer and use cases
- 12:35Domain layer and business rules
- 13:40Infrastructure layer implementation
- 14:21Conventional vs. unconventional architecture
- 15:45Analogy between API and queue systems
- 17:27Consistency across architecture layers
- 18:33Handling scheduled jobs in architecture
- 21:45Bootstrapping module role
- 22:48Outcomes and benefits of the architecture
related talks
51mMicroProcess Architectures: Planning for Change, & Retaining Flexibility
40mSmoothing the continuous delivery path- a tale of two architectures
55mArchitectural Patterns for Rapid, Reliable, Frequent and Sustainable Development
29mIntentional Architecture in Agile Organizations
46mLove Your Monolith
01h 02mTools for simplified large scale systems
49mCase study of a good enough architecture
21mTestable Architecture: Keep 'em Separated
