Production readiness — Section 5: Production Architecture
0
Anchors
—
Blast radius
—
Churn 30d
0
Proposals
Good news: the app itself already has rate limiting, bot throttling, security headers, and dependency-aware health checks. Gaps: single EC2 instance per environment with no multi-AZ/ASG (documented SPOF), no verified graceful shutdown, inconsistent staging/prod instance sizing, no AWS service quota monitoring.
Plan to remove unacceptable single points of failure is blocked on Section 0's undefined RPO/RTO/availability targets.
Activity1
Progress update 2026-09-08 — two concrete items closed, core blocker unchanged.
Graceful shutdown — fixed and verified live.
deploy/deploy.shwas usingdocker rm -f(SIGKILL immediately) instead ofdocker stop(SIGTERM + grace period) when swapping blue/green slots, so the app's lifespan shutdown handler (closes the DB pool, stops the Playwright browser) never actually ran. Changed todocker stop --time 15beforedocker rm -f, for both the app slot and the worker container. Exercised for real during two live deploys this session (staging and production) with no issues.Database SPOF — substantially improved, not eliminated. Both staging and production are now on managed AWS RDS (previously: staging secretly on RDS/undocumented, production self-hosted — see docs/database-architecture.md for the full investigation and 4-phase migration). This closes the "no managed backups, no managed patching, silent-container-stop risk" failure modes entirely. It does not eliminate the single-AZ SPOF — both RDS instances are still single-AZ with no automatic failover. Enabling Multi-AZ is a real, not-yet-made decision (roughly doubles instance cost) and is exactly the kind of call this ticket's original blocker (undefined RPO/RTO/availability targets) is meant to gate.
Still open / still blocked:
Leaving open — the core blocker (undefined targets) hasn't changed, but wanted the graceful-shutdown fix and the DB architecture correction on record here since they're concrete, verified improvements to this section.