原文链接: 7 cool tools for doing devops right

传统把开发和运营割裂开的做法,实则不适合现代产品和服务开发的需求,如今把开发和运营作为整体来看待的DevOps工程思想逐步深入人心,随之也逐步有了对DevOps系统的需求,现在给大家推荐七款做好DevOps的强大工具。

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

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

1. Atlas

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

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

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

3. Docker

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

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

4. Puppet

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

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

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

5. SaltStack

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

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

6. ScriptRock GuardRail

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

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

7. Splunk

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

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

七款做好DevOps的强大工具的更多相关文章

  1. 60款与DevOps相关的开源工具

    原文地址:https://elasticbox.com/blog/de ... ools/ 你喜欢免费的东西吗?获得开发者社区支持的自动化,开源的工具是大家梦寐以求的.这里列举了 60+ 款最棒的开源 ...

  2. 15款最佳的MySQL管理工具和应用程序

    工欲善其事,必先利其器.几乎每个开发人员都有最钟爱的 MySQL 管理工具,它帮助开发人员在许多方面支持包括 PostgreSQL,MySQL,SQLite,Redis,MongoDB 等在内的多种数 ...

  3. 给你推荐10款优秀的 HTML5 动画工具

    HTML5 在过去三年快速增长,已经成为 Web 开发人员最喜欢的编程语言之一.强大的编程语言拥有开发更好的网页应用的能力. HTML5 中引入的新技术都非常好,像 Chrome.Firefox.Sa ...

  4. 推荐一款不错的dialog小工具:artDialog

    推荐一款不错的dialog小工具, 地址:http://www.planeart.cn/demo/artDialog/_doc/labs.html 相关介绍例如以下: artDialog是一个基于ja ...

  5. 分享几款常用的MySQL管理工具

    MySQL数据库以体积小.速度快.总体拥有成本低等优点,深受广大中小企业的喜爱,像我们常见的MySQL管理工具都有那些呢?下面给大家推荐六个常用的MySQL管理工具!      phpMyAdmin  ...

  6. 32款iOS开发插件和工具介绍[效率]

    插件和工具介绍内容均收集于网络,太多了就不一一注明了,在此谢过!   1.Charles 为了调试与server端的网络通讯协议.经常须要截取网络封包来分析. Charles通过将自己设置成系统的网络 ...

  7. 5款顶尖Windows文件传输工具

    5款顶尖Windows文件传输工具 英文原文: Drasko 日常工作中,公司里的系统管理员或其他岗位的员工都需要传递大量各种类型的文件和文档.其中一些可以通过 email 收发.但由于 email ...

  8. Linux下四款Web服务器压力测试工具(http_load、webbench、ab、siege)介绍

    一.http_load程序非常小,解压后也不到100Khttp_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把 ...

  9. pylot是一款开源的web性能测试工具

    pylot是一款开源的web性能测试工具,http://www.pylot.org/ 参考文档:http://www.pylot.org/gettingstarted.html很容易上手 使用分为以下 ...

随机推荐

  1. linux系统——hosts文件修改

    1. 关于/etc/host,主机名和IP配置文件 Hosts - The static table lookup for host name(主机名查询静态表) Linux 的/etc/hosts是 ...

  2. git filter-branch应用

    1.修改author和committer git filter-branch --commit-filter ' export GIT_AUTHOR_EMAIL=me@example.com; exp ...

  3. hdu 3535 背包综合题

    /* 有n组背包,每组都有限制 0.至少选一项 1.最多选一项 2.任意选 */ #include <iostream> #include <cstdio> #include ...

  4. PHP一维数组和二维数字排序整理

    <?php /** 一维数组排序 sort() - 以升序对数组排序 rsort() - 以降序对数组排序 asort() - 根据值,以升序对关联数组进行排序 ksort() - 根据键,以升 ...

  5. 【HDOJ1828&&POJ1177】Picture(线段树,扫描线)

    题意:给定n个矩形,求他们的并的周长 n<=5e3,abs(x[i])<=1e4 思路:From https://www.cnblogs.com/kuangbin/archive/2013 ...

  6. 调用Outlook发送邮件

    #region 查找与指定文件关联在一起的程序的文件名 /// <summary> /// 查找与指定文件关联在一起的程序的文件名 /// </summary> /// < ...

  7. 转 c++多线程编程

    c++多线程编程 一直对多线程编程这一块很陌生,决定花一点时间整理一下. os:ubuntu 10.04  c++ 1.最基础,进程同时创建5个线程,各自调用同一个函数 #include <io ...

  8. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---34

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  9. Linux:supervisor命令的使用

    supervisor是Linux下一个便利的启动和监控服务的命令. 举例来说:假如我想同时管理一堆的服务,包括他们的运行和停止.我就可以使用supervisor来管理.   supervisor包括两 ...

  10. Nginx修改版本信息或隐藏版本号

    一,隐藏版本号.首先说明,这个是某一方面隐藏,不是彻底隐藏.未隐藏之前查看nginx信息: 隐藏方法: 修改nginx.conf配置文件,在http { } 标签里边加入字段: server_toke ...