Immutable Patterns of System Design; From Monolith to Agentic AI
summary
Argues five concrete design patterns—evolvability, encapsulation, coupling, understanding and designing for failure—and shows an agent added to a pizza ordering system that first creates an ungovernable event storm then is fixed. Uses ports and adapters for testable business logic, moves to event-driven integration with CloudEvents, adds an anti-corruption layer and dead-letter queues, applies idempotency and throughput control, and instruments everything with OpenTelemetry. Outcome: independent teams, observable flows, and a survivable system though failures remain inevitable.
AI-written summary · about
chapters (12)
- 0:00Introduction
- 2:38The constant of change
- 5:32Designing for evolvability
- 11:25Code-level adaptability
- 15:36Event-driven architecture
- 19:48Encapsulating data
- 23:57Inter-service communication
- 29:17Deep module design
- 34:40Managing coupling
- 43:25Observability and context
- 49:21Designing for failure
- 56:45Conclusion
related talks
52mFrom Microservices to Agent Services Architectural Patterns for Autonomous System..
54mMicro-Mind Services: Building Complex Behavioral Systems
59mArchitecting Microservices for Agentic AI Integration
52mSo You Want to Build An Event Driven System?
52mEvolving a Pragmatic, Clean Architecture A Craftsman's Guide
42mApplication Architectures: The shadows and highlights of Event Driven Design
26mFrom Chaos to Choreography: Multi-Agent Orchestration Patterns That Actually Work
55mArchitectural Patterns for Rapid, Reliable, Frequent and Sustainable Development
