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

Solution 1:

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

Solution 2:

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.