Choosing a configuration management technology
Recommend a configuration management technology
Two questions decide this: what layer are you configuring, and do you own the machine?
| Layer | Technology |
|---|---|
| Azure resources (the VM exists) | ARM templates, Bicep, Terraform |
| Inside the OS (packages, services, registry, files) | Azure Machine Configuration, DSC, Ansible/Chef/Puppet |
| Application settings | App Configuration, variable groups, slot settings |
Declarative versus imperative
Declarative states the desired end state and lets the engine converge to it; imperative lists steps. Declarative wins for infrastructure because it is idempotent by construction — re-applying is safe, which matters when a deployment retries.
The direction of travel
Azure Automation State Configuration retires 30 September 2027. Migrate to Azure Machine Configuration, which combines features of the DSC Extension and Automation State Configuration and adds hybrid support through Arc-enabled servers.
Azure Automation DSC for Linux has already retired — 30 September 2023.
So when a scenario asks for in-guest configuration across Azure and on-premises machines today, the answer is Machine Configuration with Arc, not Automation State Configuration. A 2022-era study guide will tell you otherwise.
Primary sources