I have started working in a project that uses Windows tech stack exclusively (ASP.NET, Windows Servers, C#, Hyper-V, TFS, TeamCity, etc.)
I need to implement Configuration Management. Usually I would do it with Ansible, Puppet, Chef or similar... but they don't want to have a Linux Puppet Master (or equivalent).
The objective is installing required software and change configuration settings from a vanilla Windows Server VM created with Hyper-v to install software from scripts in a repeatable way like IIS, .NET framework 3.5, RabbitMQ, add some entries to machine.config and in general whatever is needed. Targets are running Windows Servers 2012 SP1.
AFAIK I have some options
- PowerShell DSC
- Plain PowerShell scripts
- Chef Solo
- Puppet MasterLess?
So my questions are:
What options do I have away from Linux?
Which Configuration Management tool is more Microsoft/Windows/TeamCity friendly?
NOTE: I prefer opensource / free if possible but it is not a must.