Есть ли в Windows аналог puppet / chef для управления конфигурацией?
Я бы не назвал это эквивалентом, Microsoft SCCM (Systems Center Configuration Manager) нацелен на ту же цель - управление конфигурацией нескольких систем. Это инструмент, который используется на большинстве сайтов Windows. (http://www.microsoft.com/systemcenter/en/us/configuration-manager/cm-overview.aspx)
Инструмент декларативного управления конфигурацией, написанный на Ruby? Ну, не совсем, но вроде:
«Родным» и недорогим управлением конфигурацией Windows будет Active Directory. Групповые политики.
Существуют также сторонние инструменты, такие как WPKG для более простого развертывания приложений если вы не используете Active Directory.
Групповая политика. (Нет, я не троллю ...)
Конечная цель групповой политики - определить политики леса / домена (организации) для настроек компьютеров. Это встроенный, хорошо поддерживаемый и окончательный вариант. Если у пользователя нет доступа администратора к своему локальному компьютеру, он не сможет изменить настройку. Если это так, их изменения вернутся к политике в следующий раз, когда машина зарегистрируется в DC (каждые [90 минут + 0-30 минут] по умолчанию).
Если для вас важно управление версиями / различиями ваших политик, посмотрите мой комментарий ниже о том, как получить эти данные, а затем проверьте свои изменения через систему контроля версий. Возможно, стоит даже настроить запланированную задачу, чтобы периодически делать это автоматически (на случай, если кто-то забудет).
Chef поддерживает Windows (довольно долго.)
Puppet, безусловно, поддерживает Windows и довольно хорошо. Там, где есть недостатки, PowerShell выполняет свою работу, и вы запускаете его с помощью Puppet и сохраняете весь код инфраструктуры в Git / SVN / и т. Д. Я сейчас нахожусь у клиента, автоматизирующего среду Windows с помощью Puppet. Ищите "windows" на сайте forge.puppetlabs.com.
Большинство из них игнорируют многие технологии Microsoft, используемые для PowerShell «Инфраструктура как код», конфигурации желаемого состояния, CIM, WMI, групповой политики, SMA, Orchestrator, OneGet и т. Д.
Puppet и Chef абсолютно не готовы заменить SCCM в Microsoft Enterprises, я лучше буду использовать PowerShell и групповую политику вместо SCCM, а затем использовать Puppet вместо SCCM.
Microsoft пытается вернуться в мир DevOps и непрерывной доставки, и делает это с большим успехом. Взгляните на DSC, это просто фантастика! И не только для продуктов MS. Поскольку MS использует стандартизацию CIM, WS-MAN и MOF, это снова сделает Microsoft большим конкурентом.