Skip to content

FTM402 · Infrastructure, Deployment, Security & Ops

Learning materials — teaching, weekly quizzes, weekly tests. Examination paper — timed paper with marking guide.

Credits 8 · Hours 80 · Prereqs FTM301, CS202 · Semester 4

No university course covers this stack. The real references are upstream docs and one free book:

Honest gaps in every source above: Grafana alert-rule syntax, systemd unit hardening (ProtectSystem, NoNewPrivileges), and incident response scaled for a three-person team (SRE assumes an incident-commander rotation). Write those three from FTM’s own config and postmortems.

  • Use every devShell. Write a NixOS option without guessing.
  • Deploy to staging and prod, and roll back.
  • Explain how a PR gets its own environment.
  • Find the log line for any request; triage an incident from signal to cause.
WkSourceTopic
1nix.dev first steps + languageexpressions, attr sets, functions, nix develop
2Nix Pills 01 + flakes/nix/store immutability; flake.nix, flake.lock, inputs
3backend/default.nixuv2nix, _pnpmDepsHash, the devShell set
4NixOS manual, configurationmodules, options, users, firewall
5NixOS manual, administrationsystemd units, journalctl -u, nixos-rebuild switch/test/boot
6deployment/secrets/agenix; root-only DDL lives in postStart, never a migration
7Colmena docs + deployment/colmena apply, tags, restartIfChanged, rollback
8nginx docs + deployment/load-balancer.nixrequest routing, the main-site catch-all trap, PR previews
9Loki docs + deployment/observability.nixAlloy → Loki → Grafana, labels, LogQL
10SRE ch. 4, 6, 10 + grafana-alerting/SLOs, alert hygiene, page vs ticket
11SRE ch. 13–15, Workbook 9–10; MIT 6.858 lec. 6, 15, 16incident command scaled down; auth boundaries; secrets
12—Reading week
  • L1 build the backend devShell from a cold store.
  • L2 one-line deployment change, verified with nix eval before deploy.
  • L3 answer five questions from Loki alone.
  • L4 write one alert that fires and one that stays quiet; test both.
  • L5 reproduce a historical incident from its logs; write the timeline.
  • L6 induce connection-pool exhaustion on staging, read the traceback.

Ship the ticket: preview → staging → prod, instrumented with a log line that proves it works, QA brief written for someone else to run, card closed.

BookAuthor, yearUseFree
How Linux Works, 3rd ed.Brian Ward, 2021Boot → systemd → journald → processes → networking → containers/cgroupsNo
Site Reliability EngineeringBeyer, Jones, Petoff, Murphy (eds.), 2016SLOs, alerting, on-call, postmortems; sre.googleYes
The Site Reliability WorkbookBeyer et al., 2018The practical companion; chapters 2, 5, 9, 10 onlyYes
Systems Performance, 2nd ed.Brendan Gregg, 2020The USE method, then CPU/memory/disk/network when something is slowNo
PostgreSQL 14 Administration CookbookRiggs & Ciolli, 2022Roles, monitoring, blocked queries, backups, replicationNo
UNIX and Linux System Administration Handbook, 5th ed.Nemeth et al., 2017Broad reference when a host question goes off the mapNo

Coursework 45% (L1–L6) · Project 35% (capstone) · Check-off viva 10% · Exam 10%.