传统把开发和运营割裂开的做法,实则不适合现代产品和服务开发的需求,如今把开发和运营作为整体来看待的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网站的视频推荐中如是说。 她还指出开发者应更多地参与系统管理,而系统管理员也同样参与了软件开发,于是,应用开发也就更加快捷省时。 |