Week 23 Checkpoint: Production Cutover
- Recall and connect the week: serving, cost, SLOs, incidents, security, and design
- Cut the capstone over to a production URL with monitoring, alerts, and fallbacks live
- Pass a load sanity check with concurrent users and record the latency/cost evidence
- Assemble the cutover evidence pack: SLO doc, cost report, runbook, security answers
| Spaced-rep: full due deck for Days 155β160 | 15 min |
| Closed-book week reconstruction + diff | 20 min |
| Cutover checklist run with evidence log | 40 min |
| Cumulative self-quiz under exam conditions | 15 min |
| Evidence pack assembly, tagging, issue filing | 20 min |
| Quiz + flashcard additions from today's gaps | 10 min |
Builds on: Day 155 β Serving & latency budget Β· Day 157 β Monitoring & SLOs Β· Day 158 β Reliability & runbook Β· Day 154 β Staging pipeline
Opening night at a theater is not the night the actors learn their lines β it is the night everything already rehearsed happens in front of a paying audience, with the stage manager watching cue sheets, understudies dressed, and a fire exit plan nobody hopes to use. The dress rehearsals this week were exactly that: you rehearsed the speed of service (Day 155), the cost of running the house (156), the alarms (157), the fire drill (158), the locks (159), and the architect's walkthrough (160).
Today the doors open: your capstone moves from "staging URL I test against" to "production URL with alarms armed and a runbook by the door." A review day also does its usual quieter work β spaced repetition. The week's ideas (percentiles, error budgets, fallback chains, the quadrilemma) share one theme: production is a system of PROMISES β to users about speed and honesty, to budgets about cost, to future-you about debuggability. Retrieval practice today is what moves those promises from notes into reflexes: you will reconstruct each artifact's logic from memory before you check it, because the exam-before-the-student-exists principle applies to your own knowledge too.
A deployed-once project is a demo; a monitored, fallback-protected, budgeted service is a portfolio piece that interviews can probe for an hour without hitting bottom. Every artifact today maps to a real interview or customer question: "how do you know it's up?" (SLOs, canary), "what if the provider dies?" (runbook, fallback drill), "what does it cost?" (cost report), "can we trust you with data?" (questionnaire). Week 24 pivots to the FDE craft of selling and scoping this exact system β you want production truth beneath the sales story.
Guided practice
Closed-book week reconstruction
20 minEditor closed. On paper or a blank file, from memory:
- Draw the request path with every reliability/efficiency component from this week: cache check β route decision β prefix-cached prompt β model (breaker, timeout, retries) β fallback chain β metrics/ledger writes. Annotate where TTFT starts and stops.
- Write the definitions: SLI, SLO, error budget, burn-rate alert. Compute from memory: 99.5% over 30 days at 50k requests/month allows how many failures? (Check: 250.)
- List the four cost levers and the quadrilemma corners.
- Write the fallback chain order for a RAG app and WHY retrieval-only is a valid degraded mode.
- Now open your notes and this week's files; diff. Every gap goes onto a flashcard β gaps found today are gaps absent on Day 179.
The cutover checklist run
25 minExecute in order, recording evidence (timestamps, screenshots, log lines) in docs/cutover_log.md:
- Pre-flight: CI green on main (tests + eval gate, Day 141); staging canary green; rollback rehearsed this week (Day 158 β if not, do it now); prod secrets set via the secret store, distinct from staging.
- Flip: deploy to the production target (Day 151's path). Confirm the production URL serves from outside (phone off wifi counts as "outside").
- Verify: production canary green 3 consecutive runs; /metrics live; one full traced request visible end-to-end (Day 142); fallback drill β temporarily break the primary model key in prod config, watch the degraded answer + fallback counter, restore.
- Load sanity: run the starter load script at 10 concurrent users for 2 minutes. Record: error count (must be 0 or honest 429s), p50/p95 latency vs your single-user baseline, cost of the run from the ledger.
- Watch: 15 quiet minutes on the dashboard. Note anything surprising in the log β surprises during a calm watch are free incident prevention.
On your own
Cumulative self-quiz, exam conditions
15 minTen questions, closed book, then grade with your notes. 1. Why can't you average p95s across minutes? 2. A user sees 4s of silence then fast text β which metric, which phase, two fixes? 3. Why does the semantic cache need per-ACL-group keys in the enterprise design? 4. Prefix caching: what prompt ordering exploits it? 5. Define burn-rate paging vs threshold paging and why burn wins. 6. Which errors must never be retried, and why does retry need idempotency? 7. Order the RAG fallback chain. 8. Two things that make a postmortem blameless AND useful. 9. A committed-then-deleted API key: required action and why. 10. Name the six rubric rows of a design answer.
Score honestly. Anything below 8/10: schedule the linked day's flashcards for tomorrow and re-quiz on Day 163's warm-up.
The cutover gate (capstone milestone)
Assemble the evidence pack and declare production. docs/cutover_log.md must show: production URL serving externally; canary green Γ3; fallback drill executed in prod with metrics evidence; load sanity results (10 concurrent users, error count, p50/p95 vs baseline); cost of the load run reconciled to the ledger; links to the week's five artifacts (latency report, cost report, slo.md, runbook, security questionnaire). Tag the repo v0.9-production. Anything that failed its gate gets a GitHub issue with a target day (176β177 hardening window) β an honest red with a plan beats a fake green, exactly as on Day 159.
Common mistakes & misconceptions
- Checklist theater: ticking "runbook exists" without asking whether a stressed stranger could execute it. Every gate needs evidence, not existence.
- Load-testing through the cache. Replaying four questions repeatedly measures your cache, not your service; the sanity check is honest only if you note the hit rate alongside.
- Treating the load test as a scale proof. Ten concurrent users proves "no crash, graceful queueing" β claiming more invites the Day 160 interviewer to dismantle you.
- Skipping the outside-the-network check. Localhost and in-VPC curls hide DNS, TLS, and firewall failures β the three most common "works for me, down for users" causes.
- Reviewing by rereading notes instead of reconstructing from memory. Recognition feels like knowledge; only retrieval builds the Day 179 reflexes.
- Declaring victory and closing the laptop. The first 24 hours of production are when alert thresholds prove themselves β tomorrow's warm-up includes checking what fired overnight.
Q1. Under 10 concurrent users your p95 jumps from 2.1s to 6.8s while tokens/sec per request stays constant. The bottleneck isβ¦
Q2. During the fallback drill you break the primary key and users get unlabeled cached answers with no metric change. Which TWO promises are broken?
Q3. Your error budget for the month is 250 failed requests; the load test burned 0 but the fallback drill served 40 degraded responses. Do degraded responses burn the availability budget?
Go deeper β curated resources
- Write the "day 2" list β After 24 hours of production, review: which alerts fired, which were noise, what the real traffic latency histogram looks like vs the load test. Tuning thresholds against day-2 reality is the step most solo projects skip.
- Reconstruction done closed-book; gaps became flashcards
- Production URL live, canary Γ3, fallback drill evidenced
- Load sanity passed and recorded; repo tagged v0.9-production
- Self-quiz β₯ 8/10 (or remediation scheduled); day quiz β₯ 2/3
β Back: This gate stands on the whole phase: Day 148's container, Day 152's pipeline, Day 154's staging rehearsal, and this week's five promise-artifacts β speed, cost, detection, response, trust.
Forward β: Week 24 flips the table: Days 162β168 teach you to sell, scope, and demo this system as an FDE β Day 165's proposal and Day 167's demo are built on the production truth you certified today. Days 176β178 harden whatever you red-flagged.
Unlocks: D165 Proposals & Architecture Docs Β· D167 Demo Craft Β· D176 Capstone Hardening