Desired state configuration for environments — quick notes
Desired state configuration — quick notes
| Technology | Layer | Status |
|---|---|---|
| ARM templates | Primary target: Azure resource state | Current (JSON) |
| Bicep | Primary target: Azure resource state | Current — converts to ARM |
| Automation State Configuration | In-guest | Retires 30 Sep 2027 |
| Machine Configuration | In-guest | Current successor (+ Arc for hybrid) |
- Bicep → ARM JSON → same deployment engine.
- ARM/Bicep primarily declare resource state, but can deploy guest extensions or Machine Configuration assignments.
- Custom Machine Configuration flow: PSDSC definition → package → test → publish/sign → assign → review compliance.
- Enforcement modes: Audit, Apply and Monitor, Apply and Autocorrect.
- Bicep assignment seam:
Microsoft.GuestConfiguration/guestConfigurationAssignments. - Validate performs static/provider preflight; what-if adds a predicted diff. Delete predictions use complete-mode semantics.
Trap: treating Automation State Configuration and Machine Configuration as equal current options.
Sources: https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/az-400 · https://learn.microsoft.com/en-us/azure/azure-resource-manager/bicep/overview · https://learn.microsoft.com/en-us/azure/azure-resource-manager/templates/overview · https://learn.microsoft.com/en-us/azure/governance/machine-configuration/overview/01-overview-concepts · https://learn.microsoft.com/en-us/azure/automation/automation-dsc-overview · https://learn.microsoft.com/en-us/azure/governance/machine-configuration/how-to/assign-configuration/bicep · https://learn.microsoft.com/en-us/azure/governance/machine-configuration/how-to/develop-custom-package/overview · https://learn.microsoft.com/en-us/azure/virtual-machines/extensions/custom-script-linux · https://learn.microsoft.com/en-us/azure/azure-resource-manager/templates/deploy-what-if · https://learn.microsoft.com/en-us/azure/azure-resource-manager/bicep/deploy-preflight