Software Engineering Architecture Lab

Architecture Decisions & Trade-offs Lab

Practise software architecture decisions: watch a system evolve, weigh trade-offs, test architecture characteristics, write ADRs and design a final project.

Tools

Hands-on labs

  • Kafka Lab — Logs, partitions, keys, consumer groups and ordering.
  • Database Internals Lab — Storage engines, indexes, replication and partitioning.
  • Transactions Lab — Isolation anomalies, lost updates and distributed transactions.
  • Caching Lab — Hit rates, TTLs, invalidation, stampedes and CDNs.
  • Microservices Lab — Failures, retries, circuit breakers, sagas and idempotency.
  • Architecture Lab — Evolution, decisions, characteristics and fitness functions.