Я помогаю управлять средой для приложения, использующего облачные виртуальные машины Windows Server. Стек приложений состоит из Windows Server 2008 и Windows Server 2012, SQL Server 2008, IIS и SharePoint 2010. У меня есть несколько сред Dev / Test / Stage / Prod. Я ищу способ управлять конфигурацией этих сред, чтобы убедиться, что любые изменения среды применяются согласованным образом, и есть способ убедиться, что в одной среде не были внесены изменения, которые не были внесены в другие среды.
Я читал о Puppet, Chef и т. Д., И мне нравится идея делать делькаративное управление конфигурацией. Какой хороший метод или инструмент можно использовать для управления конфигурацией этих сред? Я немного знаю о SCCM, но это слишком дорого для данной конкретной ситуации, хотя мне все равно было бы интересно узнать, есть ли у него возможность делать эти вещи.
Конфигурация желаемого состояния System Center Configuration Manager (SCCM) - это именно то, что вы описываете.
Если у вас нет бюджета для этого (как кажется из-за вашего вопроса), вы можете использовать PowerShell DSC вместо.
System Center Operations Manager (SCOM) здесь не учитывается - это платформа для мониторинга и оповещения, а не для управления конфигурацией. (Обратите внимание, что исходный вопрос был задан о SCOM, но OP отредактировал его)
Обратите внимание, что с 2012 года, когда вы покупаете один продукт System Center, вы получаете их все. Всего их 9, и они являются большим благом для магазинов Windows, которые могут успешно использовать некоторые или все из них.
Насколько я могу судить, Chef и Salt имеют лучшую поддержку Windows на сегодняшний день (14.02.2014).
Из Cooking on Windows with Chef:
Chef имеет долгую историю поддержки Microsoft Windows как платформы, начиная с 2011 года, когда Opscode впервые выпустила плагин Knife-Windows для начальной загрузки и управления серверами Windows. Вы можете использовать как встроенные ресурсы Chef, так и множество кулинарных книг сообщества для управления службами IIS, серверами SQL и их базами данных, ключами реестра, установкой функций и ролей Windows и т. Д. Вы также можете использовать плагин knife-azure для взаимодействия с платформой Microsoft Azure, чтобы беспрепятственно подготовить серверы Azure и зарегистрировать их в Chef.
Puppet имеет некоторую поддержку Windows:
Puppet работает на клиентах Windows, но узлы Windows не могут действовать как мастера марионеток или центры сертификации, а большинство вспомогательных подкоманд Puppet не поддерживаются в Windows.
Ansible пока не поддерживается в Windows, но есть поддержка серверов Windows в качестве конечных точек. в их дорожной карте. Некоторая экспериментальная поддержка предоставляется через Cygwin.
На этот вопрос сложно дать общий / общий ответ, потому что ответы субъективны: что, если Tool A
отлично подходит для Windows Server (ОС), но плохо справляется с управлением объектами групповой политики, тогда как Tool B
обратное? Какой инструмент вы предпочтете, будет зависеть от вашего варианта использования.
Тем не менее, jscott верен - SCCM и весь пакет Systems Center в настоящее время являются лучшими, потому что они созданы производителем и специально созданы.
Теперь, если у вас есть другие требования, которые вы не включили в свой вопрос, которые могут изменить соответствующий ответ и сузить объем, это было бы здорово. Вместо того, чтобы сосредоточиться на инструменте, как насчет того, чтобы дать нам подробное описание проблемы, с которой вы столкнулись? Те вещи, которые вы получаете бесплатно с Windows Server (WDS и AD с объектами групповой политики), сами по себе довольно хорошо справляются с созданием и управлением средой Windows.