7个变革DevOps的工具

1. 简介

随着公司业务的不断迅速增长,使得管理复杂的IT基础设施需求变得更为艰难。解决应对这一复杂变幻的挑战的最佳方法是让开发团队和运维团队紧密协作,实现灵活应对。拥有一个DevOps专家团队可以实现在最少时间服务中断的情况下实现IT基础设施的动态伸缩。

DevOps团队执行各种任务, 如:


如果不使用正确的工具集来执行这些任务将会是一件即费时又费钱的事。某些DevOps工具需要巨大的投资, 而有一些却很容易获取,因为它们是开源。你可以进行一个简单的成本效益分析, 然后选择一组工具, 帮助你解决当前应用场景下遇到的问题。

2. 7个变革DevOps的工具

以下是7个顶级DevOps工具,将彻底改变DevOps的未来。

2.1 Docker

容器能帮助结合应用程序及其依赖项封装到一个包中,因此开发人员和系统管理员可以放心的将应用程序运行在任何linux系统上,而无需担心系统环境和配置存在差异化。

近几年,一个名叫DOCER的新容器技术获得了业界的青睐,许多DevOps专家和公司都在尝试加快使用这一技术的步伐。许多公司正计划着将他们的应用程序部署方式从虚拟机/物理服务器(VMs/Servers)切换为容器化的部署方式。

使用Docker技术使你能够用容器化的技术创建、部署和运行应用程序。Docker和虚拟机(VM)有些相似,但有所不同,Docker依赖于Linux内核来和主机进行资源隔离。Docker使用命名空间,cgroup,LXC等内核功能实现容器资源和主机资源的隔离,从而提高了应用的性能、减少了应用的大小。

Docker的日益普及归因于这一事实,一些领先的组织在早期采用了这项技术,这里有一些有趣的数据描述了Docker的快速普及情况。

下面是使用Docker的一些利好:

快速应用部署

Docker容器拥有对运行时环境的最小要求,这减少了应用部署文件的大小和部署时间。

可移植性和复用性

一旦你编译生成好了一个docker image, 它就可以用docker engine部署到任何机器上。比如说,同一个docker image可以部署运行在生产、测试和staging阶段上的机器。

应用配置 vs 系统环境配置

docker image中可以集成应用运行环境所需的所有环境配置和应用设置。

版本控制和组件重用

你可以跟踪你的容器的版本更新,检查版本差异,如果有需要的话,可以回滚到以前的版本。容器会复用之前使用的layer中组件,这使得它非常轻量化。

更好的CI/CD管道

从开发到生产环境,docker为应用程序提供了一个一致的环境,从而使得代码开发、测试和部署管道变得更快速、高效和容易。

我们这样使用Docker

我们所有的应用都有一个基础的docker image,在很短的时间里,我们可以很快地将它们部署到开发/staging/生产环境中,并对这些images进行更新和维护。Docker帮助我们在多个docker容器里对资源进行分配和简单隔离,改善了我们的构建管道,并让我们在构建自身过程中运行完整的合理性测试。

2.2 Jenkins

在开发过程中,代码集成以及监测代码改动造成的回归性功能缺陷是一件即费时又费力的工作。持续集成(CI)于是成了敏捷开发中很重要的一部分。CI作为一个集成性的框架,可以帮助开发人员和测试人员在CI服务器上对代码更新后进行自动测试。

Jenkins是一个用于持续集成部署的开源工具。它可能不像其他独立CI工具(如Atlassian, Bamboo, Teamcity)那样功能强大,但它有一个

庞大的插件库,可实现高度的可扩展和定制化。

下面是使用Jenkins的一些利好:

软件/应用程序测试

自动化代码部署

构建和测试报告失败

运行Shell脚本

与许多其他工具集成像Maven,Ant,Docker,Git等。

像Cron作业自动化任务

这里有一些有趣的数据描述了Jenkins的使用普及情况。

我们这样使用Jenkins

Jenkins允许我们使用其庞大的插件库进行自定制,所以我们使用它来进行完整的构建和部署。在Jenkins的帮助下,我们实现了自动化加载测试环境。Jenkins从GIT版本中拉取最新的提交版本后,自动加载测试环境并执行加载测试。我们也使用Jenkins来实现一键按需性能测试环境的搭建。

2.3 New Relic:应用性能监测

New Relic是一个非常著名的应用程序性能监测工具。它能获取应用程序关键性的性能数据,如应用程序加载时间。使用New Relic你可以监视你的应用程序在世界各地的响应时间以及一些核心的应用组件如关键事务、自定义错误记录、外部服务调用和可伸缩性/负载分析等。

下面是使用New Relic提供的一些监测解决方案:

APM

帮助你监测应用程序的性能。

移动设备

通过提供端对端日志、错误信息以及各角度下的吞吐量等信息,帮你监视和管理iOS/Android应用程序的性能。

服务器

提供服务器健康状态的最新信息以及服务器上CPU、内存以及硬盘等状态最新变化的事件通知等。

浏览器

对用户在网站上的使用体验提供深入和可操作的优化策略和见解。

集成环境

提供自动化,可编写脚本的工具来监控你的网站,关键业务事务和API端点。

洞见

收集和分析你的软件资源,并提供可视化的数据见解来提高你的业务增长。

New Relic是应用性能监控市场的领导者,它能指出你应用程序中真正的痛点。

我们这样使用New Relic

New Relic APM 帮助我们诊断出应用程序中的瓶颈,包括耗时最长的查询和模块。New Relic Servers 帮助我们监控服务器的关键指标如CPU、网络、磁盘、内存、进程。New Relic Synthetics 帮助我们监控在全球范围内的私有端点。

2.4  Ansible

在过去的十年来,云计算越来越被大幅地采用。云服务不再是一个简单的存储和检索服务,而是一个运行完整的业务关键程序的有用技术。随着云计算的发展,大大增加了基础设施和环境的复杂性,通过手动更新来管理整个应用程序堆栈和基础设施变得不再可行。作为一个自动化(配置管理工具)平台, Ansible允许你持续不断地定义,建立和维护复杂的云基础设施。

下面是使用Ansible的一些利好:

Ansible是开源的

Ansible能用于以下方面:

a. 系统配置 b. 持续集成  c. 管理应用部署  d. 编制联排

无代理架构

它适用于ssh协议,因此不需要安装远程代理。

轻量级,易于使用

简单的配置语言(使用YAML文件)

我们这样使用Ansible

Ansible允许我们集中管理所有的变化。我们也使用Ansible在EC2实例群上安装和更新软件包,如apt-get update,docker, 漏洞检测(shellshock 和 heartbleed)等。

2.5  SaltStack

尽管在配置管理领域,Chef和Puppet同样是市场领先者,SaltStack在各大领先的DevOps组织中还是迅速取得了一席之地。SaltStack使用Python开发, 它基于推式方法如推送配置文件到客户端。SaltStack需要通过主服务器和代理部署到目标服务器进行通信和控制,它使用ZeroMQ通讯层, 这使得它相对比其他的配置管理工具更快。

下面是使用SaltStack的一些利好以及应用场景:

非常高的性能

容易扩展和部署

内部透明,很容易看到内部细节。

输入、输出和配置一致——都采用YAML

SaltStack的一些特性:

使用在master和minion之间采用ZeroMQ通讯协议,比ssh协议要快很多

支持多主机架构,因此能实现快速扩展和容错。

2.6  Splunk

我们发现在服务器和云平台上有大量的可用数据。Splunk是一个可以从这些海量数据中获取洞见的数据平台。Splunk让你紧密关注通常被忽略的数据。Splunk提供的洞见帮助企业分析数据提供决策,从而提高生产力和盈利能力。Splunk在一个可搜索的数据中心捕获、索引和关联实时数据,并由此生成图表,报告、警报、可视化信息。

下面是使用SaltStack的一些利好以及应用场景:

从任何可能的数据源收集和索引日志和机器数据

强大的搜索、分析和可视化功能

提供安全、IT运营、商业分析等方面的应用解决方案

提供不同规模、安全性和可用性,以适合任何组织

可用作为一个软件或SaaS解决方案

2.7  Kubernetes

Kubernetes是一个开源的docker编排工具,它是一个轻量级、多重云、可扩展和自愈平台。它可帮助你即时扩展你的应用程序、发布推出新的功能、优化硬件使用资源。Kubernetes是Google于2014年启动的一个项目。

下面是使用Kubernetes的一些关键特性:

自动bin打包

水平扩展

自动发布和回滚

自愈

服务发现和负载均衡器

密钥和配置管理

存储编排

批处理执行

我们这样使用Kubernetes

Kubernetes帮助我们减少QA/Prod环境上的支出,因为它使我们能够更好地利用现有的资源。Kubernetes加速构建和部署次数从每周30增长到55。Kubernetes提供开箱即用的部署特性(如滚动更新),我们可以做零停机生产环境部署。

在过去的几年里,docker被大幅度地使用,下面是一些关键统计数据,显示最近被使用的容器联排工具的基本情况。

3. 结论

随着越来越多的公司组织把他们的开发和运营团队紧密结合,使用上述工具,将能帮你更有效地提高产品的交付管道。基于用例场景以及功能特性等,你可以很容易地选择最适合你的DevOps工具。在Welldum Studio, 我们会根据用户的使用场景和用例选用上述合适的工具。通过这种方式,我们显著地减少花费在日常操作任务的时间。我们曾在一个项目上通过使用Kubernetes在docker部署微服务的架构模式将部署时间从20分钟减少为3分钟;我们也使用New Relic来监测应用程序的瓶颈。

4. 关于作者

David,CTO of Welldum Studio

David有10多年丰富的互联网开发和架构经验,曾就职于腾讯无线产品部,负责手机网游的开发工作;后赴美加入硅谷某大型互联网门户网站任全栈工程师,负责网站的整体架构、性能优化以及数据挖掘等工作。欢迎添加作者微信进行技术探讨和交流。

5. 关于Welldum Studio

Welldum Studio成立于2014年,核心团队来自硅谷、BAT、清华大学和中科院,我们提供全栈式技术开发服务。我们的服务范围包括UX/UI设计、网站开发、App开发、微信开发、游戏开发、大数据挖掘和大规模分布式高负载并发系统的设计开发以及性能优化等。我们的官网是 http://www.wlelldum.com, 欢迎咨询交流。

注:本文是Welldum Studio(http://www.welldum.com)的原创文章,版权所有,转载请注明文章的出处。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,033评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,725评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,473评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,846评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,848评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,691评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,053评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,700评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,856评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,676评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,787评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,430评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,034评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,990评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,218评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,174评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,526评论 2 343

推荐阅读更多精彩内容