Cram Sheet259 words
Topic 3.5 — Infrastructure as code — cram sheet
Topic 3.5 — Infrastructure as code · cram sheet
Layers
| Layer | Tool |
|---|---|
| Azure resources | ARM · Bicep · Terraform |
| Inside the OS | Azure Machine Configuration |
| App settings | App Configuration, variable groups, slot settings |
Bicep transpiles to ARM JSON — same deployment engine. An authoring change, not a deployment-model change.
Retirement dates
| Service | Status |
|---|---|
| Azure Automation State Configuration | Retires 30 Sep 2027 → Machine Configuration |
| Azure Automation DSC for Linux | Already retired 30 Sep 2023 |
| Hybrid in-guest configuration | Machine Configuration + Arc-enabled servers |
Both DSC and Machine Configuration appear in the objectives — but only one is where new work goes.
Strategy
- One template, parameter file per environment. Separate per-environment templates drift.
- what-if previews creates, modifies and deletes before applying. Validation only checks well-formedness.
- Deploy via the pipeline, never a manual apply.
- Declarative = idempotent, safe to re-run.
Configuration management
- Loop: define → apply → audit → remediate.
- Machine Configuration supports audit and remediate. On an unknown estate, start audit-only.
- Secrets → Key Vault, referenced at apply time. A secret in a config file is in git history forever.
Azure Deployment Environments
- Platform engineers own environment definitions, project association and permissions; developers self-serve.
- Governance applied by environment type (sandbox / testing / staging / production).
- Each environment gets its own resource group; project members get contributor by default.