面向开发运维的10款开源工具
许多最流行的开发运维(DevOps)工具采用了开源许可证,包括Chef、Puppet和Docker。
当然,面向开发运维的开源工具名单越来越长。原因何在?因为开发运维本身就在发展壮大,而开源是这种开发方法的一种自然选择。
开发运维这个术语最早在2009年问世,它是指这样一种IT方法:强调开发团队和运维团队之间的协作。它源自敏捷软件开发潮流,将一些同样的原则运用于应用程序生命周期管理(ALM)流程。开发运维很难定义,因为它与其说是一套死板的规则或实践,还不如说是一种潮流或理念。采用开发运维的企业组织具有这些特点:合作程度高,内部“孤岛”比较少,自动化使用程度高,持续测试和集成,以及应用程序的开发和部署比较快。
自开发运维首次提出来之后,它的人气就急剧飙升。实际上,RightScale公司所做的一项调查就发现,74%的组织和81%的企业表示自己在使用开发运维。
为了支持开发运维,企业组织通常采用许多不同的工具,许多顶级的开发运维工具采用开源许可证。本文介绍了十款人气特旺或特别值得关注的工具。其中许多工具使部署或管理基础设施的过程实现自动化,而这项任务是成功的开发运维实施项目的一个重要部分。它们都是开源工具,如果贵企业对开发运维有兴趣,它们值得打量一下。
1. Ansible
Ansible归红帽公司所有,它可以使许多常见的IT运维任务实现自动化,比如云配置、配置管理和应用程序部署。它可与其他许多流行的开发运维工具整合起来,包括Git、JIRA、Jenkins及其他许多工具。软件下载量已超过500万人次,它在GitHub上的星数已超过16000颗。免费开源版在GitHub上可以下载,红帽提供三个收费版本:自我支持版、标准版和高级版,价格视生产环境中的节点数量和所需的支持级别而定。
2. Chef
Chef是基础设施自动化方面的另一个选择,它让用户可以借助单单一个工具,同时管理云环境和传统环境。它承诺可加快采用云的速度,同时保持高可用性。Chef官方网站上有相当丰富的说明文档和技术资源,包括旨在帮助企业迁移到开发运维,并扩展实施的开发运维系统规模的许多资源。该公司还提供收费版的Chef,名为Chef Automate,此外提供另外两个开源项目:InSpec,专注于安全和合规;以及Habitat,它让用户可以将应用程序部署在任何环境,包括云、裸机或容器等环境。
3. Docker
Docker立于容器这股新潮流的最前沿。它把应用程序运行所需的各个部分包装起来:代码、运行时环境、系统工具和库等,那样无论应用程序部署在哪里,都将会有一样的操作方式。容器比虚拟机来得更轻巧,还具有安全方面的一些好处。Docker开展的一项近期调查发现,80%的受访企业计划实施基于Docker的开发运维项目。
除了开源版本外,Docker还有收费的数据中心版本和云版本。
4. Git
近些年来,Git这款源代码管理工具变得极受欢迎,尤其是由于网站GitHub因托管开源项目而变得更流行起来。它有别于其他版本控制管理工具的地方在于,可以轻松处理分支和合并。Git也很容易供分布式开发团队使用,并提供了出色的性能。许多开发运维团队用它来管理应用程序的源代码。知名用户包括科技行业的许多大牌公司,比如谷歌、Facebook、微软、推特、领英、Netflix、Linux内核及其他许多品牌。
5. Hudson
持续集成是开发运维方法的一个必要组成部分,而Hudson是一款用来监控及管理持续集成和测试的工具。主要功能包括:易于安装和配置、变更集支持、实时通知测试故障、文件指纹、支持一系列广泛的源代码管理系统、构建工具、测试框架、代码分析工具、应用程序服务器及其他开发运维工具。Hudson由Eclipse基金会管理,还有庞大的插件库可增强其功能。
6. Jenkins
作为“领先的开源自动化服务器软件”,Jenkins从Hudson分支出来,提供许多同样的功能。它具有易于安装和配置的优点,有数百个插件,易于扩展,分布式架构让它得以加快测试过程。它有一个非常活跃的用户社区,经常举办大量定期活动,提供了进一步了解这款软件的机会。官方网站上也有大量的说明文档,包括经常更新的博客。
7. OneOps
今年早些时候,OneOps由沃尔玛实验室发布,成为一款开源工具,它是本文介绍的最新的开源开发运维工具。它结合了云管理和应用程序生命周期管理功能,目的在于帮助开发运维团队更迅速地编写和启动应用程序。它还让用户很容易在多家云提供商之间转换,有助于防止厂商锁定,并提供了更大的灵活性。它还提供高可用性、自愈合和自动更换等功能、自动扩展机制,并且与其他许多持续交付和自动化工具整合起来,另外还支持所有主要的公共云服务。
8. Puppet
Puppet被30000多家企业组织所使用,声称是“交付和运行软件的标准方式,不管软件在哪里运行”。它可以实现部署自动化,以提升敏捷性、可靠性和可审计性。这款软件的知名用户包括纽约证券交易所、1-800-Flowers.com、盖蒂图片社、Staples及其他许多大企业。整个Puppet生态系统包括40多个不同的项目,3100个模块可通过Puppet Forge来获得。除了开源版外,它还有企业版;企业版又分为免费版、标准版和高级版三个档次。
9. Salt
Salt是IT运维自动化方面的另一个选择,它自称是“最智能、最强大、最灵活的开源软件,可用于远程执行、配置自动化、云控制和事件驱动型编排。”它首次发布是在2012年,已被成千上万家企业组织所使用,并获得了无数奖项,包括VMworld 2014虚拟化管理最佳工具奖、《InfoWorld》2014年年度技术奖,并且在2013年被评为Gartner热门厂商。开源版常常被称为Salt Open,它还有一款收费的企业版,名为SaltStack Enterprise。
10. Vagrant
Vagrant归开发运维工具厂商HashiCorp所有,旨在让用户易于搭建轻型、便携、可复制的开发环境。这是一款命令行实用工具,可用于管理虚拟机。用户包括:英国广播公司(BBC)、Expedia、Yammer、Mozilla、诺基亚及其他公司。它与Chef、 Puppet、VMware、亚马逊网络服务及其他许多开发运维工具及云服务整合起来。可通过合作伙伴获得收费的VMware插件,HashiCorp提供了相关的收费工具,可用于管理开发运维环境。