Ansible, Chef, Puppet or ____ : Which has the strongest Windows support and smallest init footprint

We do mostly (but not exclusively) win servers.

Preferably, we can start the OS and do little or nothing to it to make it ready to receive commands (we know we may need to create a base image with an agent or ssh server on it).

Need to be able to install mongodb, java based apps, iis config, etc.

Which tool has strongest windows support/community, and (if poss) lightest init footprint?


Operational Answer: Powershell DSC.

This is not the full story (it doesn't do all that chef/puppet/etc do), but it meets a lot of needs, works great, and is out of the box in win 8.1/2012-R2/10. We are very happy with it.


Jeffrey Snover, who is the father of Powershell and has a strong influence on the future of Windows Server, recently said that Chef is currently aligned with the Windows Server strategy, while Puppet is not currently demonstrating this. (But it could in the future. And I don't have specific examples about all the other CM platforms/tools/solutions - I'm just going off of what I have heard him say in his interviews, blogs, Twitter, etc.)

Desired State Configuration, DSC, is the primary focus of Jeffrey Snover's Windows Server strategy going forward. I really can't overstate the importance of DSC to the future of Windows Server. Snover wrote his "Monad Manifesto" in 2002, in which DSC was essentially the culmination and Powershell was simply a stepping stone on the way to get there.

That's a powerful statement. DSC has essentially been the vision for over 12 years now. Think about how awesome Powershell is and how it's enriched the lives of Windows admins for years now. Now consider that it was only a stepping stone to get us to Desired State Configuration.

So when you ask which configuration management platform has strong Windows support, (especially Server,) absolutely the most important question you could ask is to what degree is that CM platform integrating with Desired State Configuration.

Jeffrey Snover Says


I think you are going to find that both Chef and Puppet have strong Windows support. I'm biased so I would point you to one of those over the other, but it's really for you to decide which one works better for you. Both tools have had support since 2011 and both are investing heavily in making that support better.

Puppet Specific

As I mentioned, I'm a bit biased. There is quite a bit of phenomenal content out there for Windows, both on the Forge and on Github. Puppet Labs has announced the Windows Module Pack, which brings you a quality set of modules that are Windows specific.

With respect to DSC, it is still a young product but it is getting better every time there is a new release. There is a Puppet community module for DSC that does a pretty good job of 1:1 mapping resources to types/providers. The team specific to that (that I'm on) is looking at where we can integrate better with DSC, and we've talked with Jeffrey Snover about this. Some of it was waiting on a little more maturity, some of it is that there are so many things to do, doing the right thing at the right time is extremely important to us. Likely by the time you read this, Puppet will have much better support for DSC.

UPDATE: Puppet has a supported DSC module as of September 2015.