我帮助管理使用基于云的 Windows 服务器 VM 的应用程序的环境。应用程序堆栈由 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 商店来说是一大福音。
这个问题很难广泛/一般地回答,因为答案是主观的:如果
Tool A
对 Windows Server(操作系统)很好,但在管理 GPO 方面很糟糕,Tool B
反之亦然?您喜欢哪种工具取决于您的用例。也就是说,jscott 是正确的 - SCCM 和整个 Systems Center 套件是目前最好的,因为它来自供应商并且是专门构建的。
现在,如果您有其他未包含在问题中的要求,这可能会更改适当的答案并缩小范围,那就太好了。与其专注于工具,不如给我们详细描述一下您所面临的问题?您通过 Windows Server(WDS 和带有 GPO 的 AD)免费获得的东西在构建和管理 Windows 环境方面做得非常好。
据我所知,截至今天(2/14/2014),Chef 和 Salt 拥有最好的 Windows 支持。
来自与厨师一起在 Windows 上烹饪:
Salt/SaltStack 为 Windows 平台提供 Salt Minion 支持,并且许多标准 Salt 模块已移植到 windows。
Puppet 有一些 Windows 支持:
Windows 尚不支持 Ansible,但在其路线图上支持将 Windows 服务器作为端点。通过 Cygwin 提供了一些实验性支持。