Reference
Decision Matrix
Use this matrix when a recommendation needs to be explained quickly. It summarizes common default choices and when to avoid them.
| Decision | Default | Avoid when |
|---|---|---|
| Runtime for simple services | Managed containers or PaaS | The team needs custom orchestration or deep platform control |
| Runtime for event glue | Serverless or managed jobs | The workload needs long-running stateful execution |
| Runtime for many shared services | Kubernetes or OpenShift | The organization cannot operate clusters safely |
| Infrastructure definition | Terraform, OpenTofu, Pulumi, or cloud-native IaC | The team will only manage resources manually |
| Secrets | Managed secret store plus workload identity | Teams need production secrets copied into local files |
| Delivery | Immutable artifacts and automated promotion | Manual rebuilds are required for each environment |
| Deployment strategy | Rolling, blue-green, or canary | There is no rollback or health signal |
| Observability | OpenTelemetry plus platform monitoring | Teams only need infrastructure uptime metrics |
| Policy | Automated checks in CI and admission paths | Policies are unclear or have no owner |
| Evidence | Generated from systems of record | Evidence requires screenshots and manual spreadsheets |
How to use it
- Start with the default.
- Check whether the avoid condition applies.
- Record exceptions with owner, expiry, and rationale.
- Convert repeated exceptions into platform backlog.
The matrix should not replace architecture decisions. Use it to speed up early alignment and identify when a deeper ADR is needed.