微信号:infoqchina

介绍:有内容的技术社区媒体

第三只眼:为什么会有DevOps?

2014-06-02 20:06 杨赛

上周看到一篇文章,内容是一个开发者吐槽DevOps,吐槽大意是说,你们这些运维们凭什么提倡让我们开发者做本来是你们应该做的维护工作?事实上运维和DBA又无法做开发者能做的工作,但你们却让开发者做本来应该是运维和DBA应该做的工作,这样岂不是对开发者很不公平?

当时我看了这篇文章后心想,DevOps中的一部分的确是让开发做运维的工作(另一部分是让运维会开发),作者说DevOps让开发者被压上了更多的担子,的确没错。但是还有一点作者没说,就是他笔下的那些“很多除了维护系统之外其他事情都不会做的运维和DBA”,实际上要面临更大更严重的挑战——失业。

作者觉得这事儿对开发者不公平,我倒觉得开发者已经是身在福中的一批人了。

前两天一个朋友打电话过来,问我能不能介绍一些云计算运维做的比较好的同学,想跟他们交流交流。他之前看到了Github那一套Hubot的运维工具,觉得很赞,未来云计算的运维就应该按照这种自动化机器人的方式来做。我想了一下,忽然发现最近这两年自己接触的技术人当中,关注运维的开发同学似乎越来越多了,而且也的确有越来越多的开发者正在投入运维的工作当中去。

说到底,为什么会有DevOps这样的呼声出来呢?我感觉原因主要有两点:

  1. 软件更新速度加快(算是敏捷开发运动+互联网爆发式增长联合作用下的一大成果。现在的时髦语叫做“唯快不破”)

  2. 基于便宜的通用硬件+开源软件的集群系统越来越多、规模越来越大(算是全球兴建云计算+全领域业务IT化的直接结果。云计算的口号是“让普通人也用得起计算”)

这两个都是不可避免的业务需求,我们的世界不可能再回到那种缓慢更新软件、做什么都采购IOE那些昂贵机器的时代了。几乎所有人都不得不面临“交付速度加快”和“系统趋于分布式、规模更大”这两件事。

而这两件事情的直接结果就是,我们很容易就把系统中的这里或那里搞坏了。

运维的同学们呢,不得不去实现“快速部署的同时还不能把这个大系统搞死”的目标。

事实上,每次软件更新,引入的bug往往比feature多;便宜的硬件本身就容易坏,数量多了之后更加是天天坏。以前的很多系统,每一个环节都是正常流程中的一部分:任何一个环节坏了,系统就跑不动了。如果按照现在的部署频率,很难想象这套系统能活下来。

我们需要一套具备超强容错能力的系统:这个系统中任何一个部分甚至几个部分坏掉了,系统还是能跑起来——可能服务质量会低一些,但不要死。

换句话说,我们的计算机网络系统正在从“线性系统”成长为“复杂系统”。复杂系统是有生命的,能够在一定的阈值内维持自身的平衡。

这套复杂系统谁来实现呢?开发feature的同学们是不会care的,这不是他们的领域。只懂得维护一台服务器和一个小集群的运维同学是做不到的,因为他们不知道如何为一个死的系统注入生命。

这就是为什么会有DevOps,这就是为什么我们需要懂开发的同学们来运维系统。

昨天跟老公大人聊天,聊到运动和保健的话题。老公大人感慨到:身体真是一个奇妙的系统,即使很多组件不好用了或者坏掉了,身体仍然能够维持自身的机能运转。但是,如果组件坏掉的太多,身体的性能就会严重下降(大家应该都有那种生病了躺在床上做啥都没力气的经验);只有让身体里尽可能多的组件都运转良好的情况下,整个机体才能够发挥最大的效能。

这也许就是DevOps运动的终极目标吧。

“第三只眼”:

主要由InfoQ编辑专门为微信公众账号自编自写的一个栏目,旨在表明编辑态度及表述平日见闻和思考,期望成为和读者沟通的桥梁。亦接受投稿:spark@cn.infoq.com

今日专栏作者:

杨赛(@lazycai),InfoQ中文站编辑。到处串门的互联网信徒,相信规则的力量。

***********************************

本文来自InfoQ微信公众账号:infoqchina

1、回复“今日新闻”,查看今天更新的新闻;

2、回复“今日英文”,查看今天英文站的更新;

3、回复“文章 +关键词”,搜索关键词相关内容;

4、回复“QCon”,了解QCon大会相关信息;

5、回复“活动”,了解最近InfoQ组织的线下沙龙;

6、回复“架构师”,获取《架构师》下载地址;

7、回复“投稿”,了解投稿和加入编辑团队的流程。

***********************************


 
InfoQ 更多文章 Facebook如何实现PB级别数据库自动化备份 学术派Google软件工程师Matt Welsh谈移动开发趋势 Spotify为什么要使用一些“无聊”的技术? 妹纸们放假了,汉纸们做啥? 大多数重构可以避免
猜您喜欢 调度系统,Crontab的格式 概念,算法,应用,迄今为止对大数据研究最透彻的文章。 Build MicroService With Spring Cloud And Rancher 微软:预测2016年互联网取代电视 数字笔兴起 打造理想的Windows 10 APP开发环境的5个步骤