七款做好DevOps的强大工具

jopen 10年前

七款做好DevOps的强大工具

英文原文:7 cool tools for doing devops right

以前,开发(Development)和运维(Operations)总是相互指责。程序代码永远不会按照开发者的意愿及时更新,服务器的管理人员则对开发者随意简化进程搁置服务请求十分恼火。

直到 DevOps 的到来,一些工具消除了双方之间的隔阂,提供了从配置管理到应用程序移植的服务,这条战线便消失了。这里介绍几款最近颇受好评的 DevOps 工具。

1. Atlas 

七款做好DevOps的强大工具

HashiCorp 最新推出的 Atlas 提供了可视化的基础设施,在配置管理和服务搜寻之外,还提供了服务器、包容器和虚拟机。该项目是在其广受欢迎的开源项目 Vagrant、Packer、Serf、Consul 和 Terraform 的基础上建立的,其特有闭源模式能使 DevOps 在 AWS、谷歌计算引擎、Azure 以及 OpenStack 等各种云服务中运行自如,此外,Atlas 还提供了可用于开发、资源配置和维护应用程序的仪表板。

Lithium Technologies 工程师 Justin Franks 目前所用的开发工具是 Vagrant,他正在考虑使用 Atlas 为公司的客户互动平台服务。Franks 说 Atlas 在 Lithium Technologies 已经投入使用,现在主要在测试其持续集成和配置的能力。“有很多的工具,比如 Jenkins、Travis 和 Bamboo,它们都过不了最后资源配置的那一关。”弗兰克如是说。

Atlas 自购系统的安装预计在今年年初进行。

2. Chef

七款做好DevOps的强大工具

Chef 是一个系统和云端基础架构的框架,它可以通过被称为“recipes”的简短可重复脚本自行操作基础设施的建立、配置和管理。但 Chef 的实权其实只在于操作其可插拔的配置模块(又名“食谱”),而在 Chef 中有近 2000 个这样的模块。作为 Chef 的高调用户之一,非死book 最近开放了一些自己的 Chef“食谱”的源代码,包括 Taste Tester 测试框架和 Grocery Delivery,后者是用于监测源代码回购(如 Git)并保持本地 Chef 服务器同步的工具。

宾夕法尼亚大学沃顿商学院也是 Chef 的用户之一。“Chef 可自动化操作一些时间密集型和资源密集型的复杂任务,更重要的是它使我们能够集中精力进行创新和提高服务质量,”该校的技术总监 Sanjay Modi 在 Chef 网站的个案分析上说,“Chef 也将为组织内的协作和工作效率提高带来更多的可能。” Chef 已被使用于沃顿商学院的 Amazon EC2 资源、Linux 节点和本地虚拟机的自动化配置管理。

3. Docker

七款做好DevOps的强大工具

Docker 以其集装化技术为应用程序带来便携性,在 Docker 中,应用程序可以跨平台运行自给系统。Docker 是由 Docker 引擎和 Docker 集线器组成的,前者是一个轻量级的运行时间和包装工具,后者则是应用程序共享和工作流程自动化的云服务。

“Docker 已成为 Yelp 下一代测试和服务管理基础设施的重要组成部分,”Yelp 的技术总监 Sam Eaton 在 Docker 网站上的案例研究中说,“依赖性隔离和‘集装箱’的快速旋转使得开发周期和测试速度提高了不只 4 倍。”

4. Puppet

七款做好DevOps的强大工具

通过机器和软件的自动化配置和管理,Puppet 公司从 Puppet 实验室提供数据中心的业务流程。最新发布的 3.7 版本推出了 Puppet Apps,这是一款专用于应用 IT 自动化的应用,其包含的 Node Manager,可用于管理大量常变系统。Puppet 的开源版本也已推出。

斯坦福大学采用 Puppet 的开源版本来“解决开发新型数字图书馆服务和保持这些服务高性能安全运行之间的矛盾,”斯坦福大学的 Bess Sadler 在 Puppet 网站的视频推荐中如是说。

她还指出开发者应更多地参与系统管理,而系统管理员也同样参与了软件开发,于是,应用开发也就更加快捷省时。

5. SaltStack

七款做好DevOps的强大工具

SaltStack 提供数据自动化、服务器配置、云端建设和应用程序配置的系统管理。事件驱动的云端基础架构自动化工具,可以自动运行 DevOps 工作流程中的任务。Deseret Digital Media 已经采用 SaltStack 自动化运行环境长达两年,其特点是大约 200 个虚拟机用于运转生产和登台环境。

Deseret Digital 的开发部主管 Justin Carmony 表示,SaltStack“使操作更加贴近开发者”。Deseret Digital 有三个运营人员和 30 个开发者:SaltStack 让研发与运营统一战线,比如在新服务器配置上。一般来说,运营和研发会一直争吵,无法达成统一意见。而 SaltStack 提供了一种通用的方法和通用语言来管理服务器,从而有助于双方消除误会,方便沟通。

6. ScriptRock GuardRail

七款做好DevOps的强大工具

GuardRail 提供了配置监控,连续监测机器的配置状态。它可以确保用户的生产环境是符合质量保证以及测试和开发环境的。VersionOne,一个灵活项目管理平台的制造商,在遇到的配置漂移和自动化的挑战后,果断转向了 GuardRail。

“开发者走捷径使自动化更易实现。为了在新的代理上运行已有创建,他们改变了之前用于其他创建的代码。于是基础设施的不稳定破坏了兼容多个生成 代理的可能性。” VersionOne 的产品经理 Ian Buchanan 在案例分析中如是说。“而有了 GuardRail,我们现在可以了解到任何生成代理是如何配置的,所以我们能够依照我们的意愿,确实地扩展到尽可能多的代理。”现 在,VersionOne 可以直观的看到配置漂移,可以记录预期,并创造了人类可读的测试,这相当于节省了一个专职的测试人员。

7. Splunk

七款做好DevOps的强大工具

Splunk 是在整个应用程序的生命周期中实时寻找和修复问题的工具,它使开发者能够直接看到生产环境中的数据,而无需访问生产机器。Splunk 协助用户进行 DevOps 过程,包括持续的集成和资源配置。

User EnerNOC 使用 Splunk 大概五年了,这是一家为电网运营商等提供能量智能软件的公司。“Splunk 从根本上改变我们操作生产系统的方式,”EnerNOC 公司的首席工程师 James Nichol 介绍说,“它使技术和非技术用户都能够深入了解一个非常复杂的系统,这个系统原本是他们无法了解的。我们已经有了虚拟服务器和开发经理,服务台运营商也建 立了仪表板和警报,并开始深入挖掘数据——没有 Splunk,这些都是不可能实现的。”

来自:http://news.cnblogs.com/n/513251/