Rehearse the failure you’re going to get.
Multi-cloud architecture, policy-as-code, and supply-chain defence — designed so the interesting failure modes are the ones you already rehearsed.
What that actually means
Four things that decide whether a system degrades or disappears.
Multi-cloud without a favourite
Three providers, one set of abstractions, and no assumption that the primary stays primary. Portability is a design constraint from the first commit, because retrofitting it costs a rewrite.
Policy as code
The rules live in the pipeline, not in a wiki nobody opens. OPA or Kyverno, enforced at admission, so a non-compliant resource fails at the pull request rather than at the audit.
Supply-chain defence
Signed provenance, generated SBOMs, and distroless images — so when the next dependency advisory lands you can answer "are we affected" in minutes, from a record you already have.
Error budgets that bite
An SLO nobody enforces is a slogan. We wire budgets into the release process: spend it and the feature work stops until reliability work has bought it back.