全面实现自动化!Windows Azure 添加对 DevOps 工具 Puppet 的支持

阅读数:1070 2006 年 1 月 1 日

话题:Windows AzureDevOps语言 & 开发架构

想要在微软的世界中实现 DevOps 自动化吗?这通常都是使用微软提供的工具(例如 PowerShell 和 System Center),而不是流行的开源工具,这些工具支持微软的产品线时往往有些滞后。这个情况已经开始改变了,开发者和系统管理员现在可以在 Windows Azure 中使用 Puppet 这类的工具来提供和管理各类资源。

微软开放技术(微软 Open Tech)是微软的子公司,它专注于开源方面的投资。该公司发布了Puppet 模块和命令行接口(CLI),用户可以使用该 DevOps 工具与 Windows Azure 虚拟机、网络和数据方面进行交互。这个模块还为用户大开方便之门,用户可以给 Windows Azure 环境应用1800 多种社区定义的 Puppet 配置。为什么他们要构建这个项目?有篇关于该次发布的博文中提出了几个观点。

“微软 Open Tech 工程师的这个工作着眼于提高流行的 DevOps 工具的互操作性。DevOps 关注于软件开发和 IT 运营之间的交叉管理。它强调的是日益敏捷的软件开发团队和运维团队之间的协作与整合,前者需要快捷的变化而后者要求能提供最长的运行时间,如果发生变化可能会影响系统的可靠性。DevOps 的目标就是让这两个团队能更好的沟通并更有效的协作。给 Windows Azure 添加 Puppet 模块是很重要的举措,这样 Puppet 的用户就能够在 Windows Azure 环境中大展身手了。”

Puppet 模块同时支持 Windows 和 Linux 虚拟机,命令行接口中可以进行创建、删除、回复、停止和启动虚拟机的操作。用户通过命令行界面还可以创建和配置 Windows Azure虚拟网络以及SQL 数据库。用户可以使用将近 1900 种社区定义的配置清单,因而可以在 Windows Azure 虚拟机中使用各种灵活的配置,包括操作 IIS 网络服务器与 Windows 注册表交互以及在 Linux 上管理 NGINX等等。

诚然,早在 2011 年的 Puppet 2.7.6 发布版本就已经支持 Windows 了,但 Puppet 的管理端(存储那些定义系统状态的模型驱动配置)仍需运行在 Linux 服务器上,不过寄存 Puppet 代理的服务器和工作站既可以运行 Linux,也可以使用 Windows。在 Puppet 的管理端 / 代理端模式中,代理端从 Puppet 管理端获取配置清单,并使用该清单将机器配置成需要的状态。Puppet 可以使用开源版本,也可以购买功能更全面的企业版。两个版本都支持 AWS 和 Google Compute Engine 提供的云虚拟机,但是在某些云主机上(包括 Windows Azure)或许只能运行企业版的 Puppet。

Chef(Puppet 的主要竞争对手)在一年前就已经提供了 Windows Azure 的集成方案。然而,它的Windwos Azure 插件只是关注于创建和管理云虚拟机。不过,微软的客户现在有机会使用这两种应用最广泛的 DevOps 自动化工具来管理 Windows 服务器和 Windows Azure 云。其他 DevOps 工具也开始将目光投向雷德蒙德(微软总部所在地)的旗舰操作系统。Vagrant是供开发者和系统管理员使用的工具,它能快速切入持续开发的环境。当用户在 Windows 机器上运行 Vagrant 时,虚拟的客户端只能运行 Linux 系统。Vagrant 1.4 版的发布注释上简略的提到了在 Vagrant 1.5 可能会推出 Windows 客户端,因而可以让面向微软的开发者利用这款流行的工具和不断增长的生态系统。

原文英文链接:Automate All Things! Support for DevOps Tool Puppet Added to Windows Azure