Skip to content

Planning

Two meetings a week, about twenty weeks. As a rule, the first meeting of the week is a theory class (read the class pages before or after it; each has slides, a quiz and playground scenarios) and the second meeting is a hands-on lab on BoxOffice. Deliverables are due on the last class day of the week, at 23:59, unless announced otherwise.

Dates

The weeks are relative. The calendar dates, quiz days and exam days will be added here when Insper's academic calendar for 2027.1 is published.

Week Meeting 1 Meeting 2 Due
1 1. What is System Design Lab 0 β€” Environment
2 2. Estimation & Performance Math Lab 1 β€” First service
3 3. Distributed Systems Lab 2 β€” Measure first (k6) Ex. 1 Estimation Β· team registration
4 4. Traffic & Edge Lab 3 β€” Edge (Nginx, scale-out)
5 5. Compute & Services Lab 4 β€” Gateway & identity M1 Design doc
6 6. Databases & Data Systems 7. Caching Ex. 2 Load-test report
7 Lab 5 β€” Caching (Redis) Lab 6 β€” Data at scale M2 Core path Β· Quiz 1
8 8. Messaging & Event-Driven Lab 7 β€” Async (Kafka, outbox) Ex. 3 Cache & database
9 9. Observability 10. Reliability & Resilience M3 Scale & cache
10 Midterm exams
11 Lab 8 β€” Observability (OTel) Lab 9 β€” Resilience & chaos Ex. 4 Event-driven
12 11. Cloud-Native Platforms 12. Network & Security M4 Async & resilience Β· Quiz 2
13 Lab 10 β€” Kubernetes (HPA) Lab 11 β€” Delivery (CI/CD, GitOps)
14 13. AI Systems & Agents Lab 12 β€” AI assistant Ex. 5 Kubernetes autoscaling Β· M5 K8s + CI/CD
15 14. AI-Assisted Delivery Lab 13 β€” AI in CI/CD Ex. 6 Playground design
16 15. Performance Engineering 16. Case Studies β€” mock interviews, round 1 M6 Load-test campaign Β· Quiz 3
17 Chaos game day Mock interviews, round 2 Β· design-doc defences M7 Game day Β· Ex. 7 Design doc
18 Design reviews (case studies) Project work M8 Cost report
19 Final presentations Final presentations M9 Presentation
20 Final exams
flowchart LR
    F["Foundations<br/>weeks 1–3"] --> B["Building blocks<br/>weeks 4–9"]
    B --> O["Operating at scale<br/>weeks 11–13"]
    O --> A["AI<br/>weeks 14–15"]
    A --> P["Prove it<br/>weeks 16–19"]

The order follows the story of the course: each class starts from the problem the previous one left, and each lab builds, in BoxOffice, the answer of a class you have already seen. Some weeks pair two classes and the next week pairs their two labs, because the labs need both: caching (lab 5) and data at scale (lab 6) after classes 6 and 7; observability (lab 8) and resilience (lab 9) after classes 9 and 10; Kubernetes (lab 10) and delivery (lab 11) after classes 11 and 12. Observability comes before reliability on purpose: you cannot improve what you cannot see, the SLO is defined where it is measured, and in the labs you instrument BoxOffice (lab 8) before you break it on purpose (lab 9) β€” otherwise the chaos experiments have nothing to show.

How a week works

  1. Before the class: skim the class overview and try the first playground scenario of the page.
  2. In class: theory with the slides, a "think first" question, a live playground run.
  3. After class: read the subpages, do the quiz of the class, and the matching activity of the workbook.
  4. Lab day: build the BoxOffice piece and measure it; push the code to your repository.
  5. Every week: one project step (see the milestones).