Microservices: design boundaries and operate distributed systems
Six lessons, 30 questions, and six cases on microservice boundaries, data, resilience, messaging, diagnosis, and migration.
Objectives and progression
A six-module technical course on microservice design, failures, and evolution. Learn to interpret contracts, manage partial effects, bound load, and track operations across services. Includes fictional funds and APS scenarios, primary documentation with explicitly identified platform examples, and an internal assessment of 24 decisions in 60 minutes.
Audience: APS L2/L3, infrastructure, SRE, systems administration teams, and technical managers.
Prerequisites: Application, monitoring, and production-support fundamentals; no bank-specific internal process assumed.
300 estimated study minutes
- Define responsibilities that can evolve without coordinating every release.
- Preserve invariants and track partial outcomes across services.
- Bound extra work caused by failures and latency.
- Control duplication, delay, and message recovery.
- Follow an operation across services without confusing local health with completion.
- Prepare coexistence, recovery, and operational handover.
Modules
- Boundaries and contracts
- Data and distributed transactions
- Resilience and load
- Messages and queues
- Diagnosis and health
- Migration and evolution
Continue learning
References and version
Microservice architecture patterns and scoped platform examples; primary guidance consulted 2026-09-30
- Domain analysis for microservices · 2026-09-30
- Data considerations for microservices · 2026-09-30
- API design for microservices · 2026-09-30
- Transactional outbox pattern · 2026-09-30
- Saga distributed transactions · 2026-09-30
- Compensating transaction pattern · 2026-09-30
- Timeouts retries and backoff with jitter · 2026-09-30
- Circuit breaker pattern · 2026-09-30
- Bulkhead pattern · 2026-09-30
- Queue-based load leveling · 2026-09-30
- Amazon SQS at-least-once delivery · 2026-09-30
- Using dead-letter queues in Amazon SQS · 2026-09-30
- Context propagation · 2026-09-30
- Liveness readiness and startup probes · 2026-09-30
- Strangler Fig pattern · 2026-09-30
- Anti-corruption layer pattern · 2026-09-30
What you will explore
0 / 6Boundaries and contracts
Define responsibilities that can evolve without coordinating every release.
Data and distributed transactions
Preserve invariants and track partial outcomes across services.
Resilience and load
Bound extra work caused by failures and latency.
Messages and queues
Control duplication, delay, and message recovery.
Diagnosis and health
Follow an operation across services without confusing local health with completion.
Migration and evolution
Prepare coexistence, recovery, and operational handover.