我们主要(但不完全)赢得服务器。
最好的情况下,我们可以启动操作系统,对其做很少或不做任何操作,以使其准备好接收命令(我们知道我们可能需要创建一个带有代理或 ssh 服务器的基础映像)。
需要能够安装 mongodb、基于 java 的应用程序、iis 配置等。
哪种工具具有最强大的 Windows 支持/社区,以及(如果可能)最轻的初始化占用空间?
操作答案:Powershell DSC。
这不是全部(它不能完成 chef/puppet/etc 所做的所有事情),但它满足了很多需求,运行良好,并且在 win 8.1/2012-R2/10 中开箱即用。我们对它非常满意。
答案1
Jeffrey Snover 是 Powershell 之父,强的对 Windows Server 未来的影响,最近表示 Chef 目前与 Windows Server 战略保持一致,而 Puppet 目前尚未展示这一点。(但未来可能会。而且我没有关于所有其他 CM 平台/工具/解决方案的具体示例 - 我只是根据我在采访、博客、Twitter 等中听到的内容进行介绍。)
所需状态配置 (DSC) 是 Jeffrey Snover 未来 Windows Server 战略的主要重点。DSC 对 Windows Server 未来的重要性再怎么强调也不为过。Snover 于 2002 年撰写了他的“Monad 宣言”,其中 DSC 基本上是顶峰,而 Powershell 只是实现这一目标的垫脚石。
这是一个强有力的声明。DSC 基本上是 12 年来的一个愿景。想想 Powershell 有多棒,以及它多年来如何丰富了 Windows 管理员的生活。现在想想它只是一个垫脚石让我们达到所需状态配置。
因此,当您询问哪个配置管理平台具有强大的 Windows 支持(尤其是服务器)时,您绝对可以问的最重要的问题是 CM 平台与所需状态配置的集成程度如何。
答案2
我认为您会发现 Chef 和 Puppet 都具有强大的 Windows 支持。我有偏见,所以我会向您推荐其中之一,但您真的应该决定哪一个更适合您。这两种工具自 2011 年以来都得到了支持,并且都在大力投资以改善这种支持。
Puppet 专用
正如我提到的,我有点偏见。Windows 上有很多精彩的内容,无论是锻造以及 Github。Puppet Labs 宣布Windows 模块包,它为您带来了一组特定于 Windows 的高质量模块。
至于 DSC,它仍然是一个年轻的产品,但每次发布新版本时它都会变得更好。有一个 PuppetDSC 的社区模块它可以很好地将资源 1:1 映射到类型/提供者。我所在的团队正在研究如何更好地与 DSC 集成,我们已经与 Jeffrey Snover 讨论过这个问题。部分原因是需要等待更成熟的解决方案,部分原因是有太多事情要做,在正确的时间做正确的事情对我们来说非常重要。当您阅读本文时,Puppet 可能将为 DSC 提供更好的支持。
更新:Puppet 有一个支持 DSC 模块截至 2015 年 9 月。
答案3
根据 Windows 支持选择 cm 可能不是最佳策略。特别是如果团队在整个操作过程中不随时使用它。每个阵营都有忠实的粉丝。Chef 集成 Windows 管理任务的支持看起来更易读,并且与 DSC(PowerShell)语法相似。我相信 Puppet 大师可以找到一些论据,即 Puppet 更支持 Windows。我认为团队需要选择他们将更多地使用的平台(更容易编码),如果他们已经掌握了以 Web 为中心的脚本,如 Python 或 Ruby,Chef 可能更有意义。我听说如果你已经掌握了 Puppet 的 DSL,那么管理 Windows 将是可行的。当微软在下一个 PowerShell(win 2016)中推出其 DSC RTM 时,也许这场争论真的会达到白热化