我们主要(但不完全)赢得服务器。
最好是,我们可以启动操作系统并对它做很少或不做任何事情以使其准备好接收命令(我们知道我们可能需要创建一个带有代理或 ssh 服务器的基本映像)。
需要能够安装 mongodb、基于 java 的应用程序、iis 配置等。
哪个工具具有最强的 Windows 支持/社区,以及(如果可能)最轻的 init 占用空间?
操作答案:Powershell DSC。
这不是完整的故事(它并没有做厨师/木偶/等人所做的所有事情),但它满足了很多需求,效果很好,并且在 win 8.1/2012-R2/10 中开箱即用。我们对此非常满意。
Jeffrey Snover 是 Powershell 之父,对 Windows Server 的未来有着强大的影响力,他最近表示 Chef 目前与 Windows Server 战略保持一致,而 Puppet 目前并未对此进行展示。(但将来可能。而且我没有关于所有其他 CM 平台/工具/解决方案的具体示例——我只是在谈论我在他的采访、博客、Twitter 等中听到他所说的话。 )
Desired State Configuration (DSC) 是 Jeffrey Snover 未来 Windows Server 战略的主要焦点。我真的不能夸大 DSC 对 Windows Server 未来的重要性。Snover 在 2002 年写了他的“Monad Manifesto”,其中 DSC 基本上是高潮,而 Powershell 只是通往那里的垫脚石。
这是一个强有力的声明。DSC 基本上已经成为了 12 年多的愿景。想想 Powershell 有多棒,以及它如何丰富了 Windows 管理员多年来的生活。现在考虑一下,这只是让我们进入 Desired State Configuration的垫脚石。
因此,当您询问哪个配置管理平台具有强大的 Windows 支持(尤其是服务器)时,您可能会问的最重要的问题绝对是该 CM 平台与 Desired State Configuration 集成的程度。
我想你会发现 Chef 和 Puppet 都有强大的 Windows 支持。我有偏见,所以我会向您指出其中之一,但实际上由您决定哪一个更适合您。自 2011 年以来,这两种工具都获得了支持,并且都在大力投资以改善这种支持。
木偶专用
正如我所提到的,我有点偏见。在Forge和 Github上都有相当多的适用于 Windows 的非凡内容。Puppet Labs 发布了Windows 模块包,它为您提供了一组特定于 Windows 的高质量模块。
就 DSC 而言,它仍然是一个年轻的产品,但每次有新版本都会变得更好。有一个用于 DSC 的 Puppet 社区模块,它很好地将资源 1:1 映射到类型/提供者。特定于此的团队(我所在的团队)正在研究我们可以在哪里更好地与 DSC 集成,我们已经与 Jeffrey Snover 讨论过这个问题。有些是在等待更成熟,有些是有很多事情要做,在正确的时间做正确的事情对我们来说非常重要。很可能在您阅读本文时,Puppet 将对 DSC 提供更好的支持。
更新:截至 2015 年 9 月, Puppet 具有受支持的 DSC 模块。
根据寡妇支持选择厘米可能不是最好的策略。特别是如果团队在整个操作过程中不方便使用它。每个阵营都有忠实的粉丝。对集成 Windows 管理任务的 Chef 的支持,看起来更具可读性并且类似于 DSC(PowerShell) 语法。我相信 puppet 大师可以找到一些 puppet 更支持 windows 的论点。我认为团队需要选择他们将更多使用的平台(更容易编码),如果他们已经获得了像 python 或 ruby Chef 这样的以 Web 为中心的脚本可能更有意义。听说如果你已经掌握了puppet的dsl,就可以管理windows了。当微软在下一个 PowerShell (win 2016) 中制作其 DSC RTM 时,也许这场辩论真的会达到白热化