DometrainIntermediate to Advanced
System Design
Design systems with many services and data stores, from a single request path up to multi-region setups that survive failure. Most of the practice happens in Dometrain's system design editor.
- Milestone 1
Building blocks
Sketch a request path from client to storage with gateways, load balancers, caches, databases and queues.
- Milestone 2
Scaling one system
Scale a design horizontally with replication, sharding and multi-layer caching, and monitor it with SLOs and tracing.
- Milestone 3
Services and events
Split a system into services that communicate through events, and test and observe the flows between them.
- Getting Started: Microservices ArchitectureExplains why systems split into services and what integration, resilience and testing look like once they have.5h 21m
- From Zero to Hero: Event-Driven ArchitectureBuilds producers and consumers, then orchestration, observability and testing for event flows, before the sagas and event sourcing of the next stage.5h 33m
- Milestone 4
Distributed systems
Design for failure across regions with consensus, sagas, idempotency, failover and progressive delivery, and secure the system with zero trust, mutual TLS and per-tenant authorization.
Certificate of completionUnlocks after all 5 courses


