I wanted to find out what are you using for Desired State Configuration on your end. I am thinking to start introducing Azure Powershell DSC or Ansible for DSC of our on-prem environment and cloud environment. Would you have any recommendations? I am turning more towards Ansible but it would be nice to get to know other people opinion.
1 Answer
PowerShell Desired State Configuration:
Pro's
- Great support for Microsoft Technologies (IIS, Exchange, SharePoint, etc.)
Con's
- OS and PowerShell Version requirements can become prohibitive.
- WinRM and the LCM can be flakey requiring fiddling around restarting services to get it working.
- Opensource Ecosystem isn't as strong.
Ansible:
Pro's
- Huge Open-source ecosystem around Ansible, with many ways of doing one task.
- Support for a wide range of technologies, enabling you to use Ansible YAML for vSphere, Azure, AWS, etc.
- Easy to hire people with Ansible experience.
Con's
- Poor support for the nitty-gritty of Microsoft Products, however, you can use the win_dsc module to call DSC from Ansible.
- Ansible is becoming less important with the advent of Cloud, Kubernetes and Terraform.
Personally, I use DSC for my workstation and that's it now. Previously I used it to bootstrap MongoDB and Redis clusters but eventually switched to Ansible because it meant throwing away the hard to maintain DSC and using open-source Ansible modules from Galaxy.
-
2Generally agree but the point about Ansible being less important with the advent of Cloud is really debatable - Ansible is used a great deal on cloud in my experience and judging from ads for contract roles (I only do cloud-based Ansible projects and there's strong demand.) Valid points on Kubernetes, there is less for Ansible to do but still useful (see the new Ansible for Kubernetes book), and Terraform (better choice to manage IaaS resources).– RichVelFeb 12, 2020 at 6:32