
1.4 常见的理解误区
本节将介绍一些常见的理解误区。
1.理解误区:DevOps=工具的自动化
自动化确实在DevOps实践中非常重要,Flickr在每天超过10次部署的经验中也提到了自动化的重要性,“如果只有一件事情能做,那就做自动化”的类似经验分享也有提及,所以自动化的重要性不言而喻。
自动化提高了生产效率,降低了手工操作的失误率,消除了多个部门协调和沟通的制约因素,同时可以降低处理时间及等待时间,而且有许多工具的支持,在整个 DevOps 实践中起到了非常重要的作用。
DevOps包含了人员、流程、工具、文化等诸多因素,作为一种最佳实践方法论的组合,工具的自动化只是其中的一部分,但不是全部。
2.理解误区:DevOps=NoOps
在很多项目的DevOps实践中,原本Ops在做的事情都由工具化和自动化承担了,所以在很多人看来DevOps砸了Ops的饭碗。这些人的理解就是,DevOps通过自动化承担了原本Ops做的很多事情。确实,很多时候,在DevOps实践中会让Dev承担很多代码部署的工作,但这并不意味着不再需要Ops了,相反,实施了DevOps之后的团队会发现,Dev和Ops的紧密连接是以往从未有过的,准确地说,是解放了Ops。
所有的这一切,其实都是精益在软件开发全生命周期的实践体现。例如,等待时间是精益实践中重点消除的“浪费”之一,而在实际中这种“等待的浪费”十分常见,在进行了良好的DevOps实践后,这种情况将会得到很大的改善,很多运维服务通过自动化变成了自助服务,缩短了等待时间,极大地提高了效率。
3.理解误区:DevOps只适合开源项目
DevOps在很多开源项目中推行得很好,而且很多DevOps用到的工具本身都是开源的。但这并不意味着DevOps只适合开源项目,就像精益不只可以用于制造业一样,DevOps作为一种综合的方法论,不仅适合开源项目,同时适合闭源项目。
4.理解误区:DevOps只适用于初创公司
相比初创公司,进行DevOps实践成功了的传统大型公司的比例似乎并没有那么大。但是,并不是每一家公司都能成为“百年老店”,并经久不衰。据统计,缺乏创新能力及改变的魄力,企业的衰败就会像人类的生老病死一样难以避免。
曾经,世界500强公司的平均寿命在60年左右,而现在基本不超过20年。DevOps只是诸多变革方式中的一种,无论是初创公司还是大型传统公司,使用 DevOps 获得成功的都不在少数。所以,DevOps是一种能力,放在那里,用或不用,你有选择的自由。
5.理解误区:独角兽公司生来就具有DevOps能力
传统公司问题重重,而那些独角兽公司看起来却风光无限,据说 Amazon 能够每天部署上万次,好像 Amazon 生来就具有 DevOps 能力一样。实际上,其他所有公司碰到的问题,那些独角兽公司一样都未曾避免过,其中一些事件如表1-2所示。
表1-2 互联网公司部署之痛

好汉打掉牙齿和血吞,曾经的勇气和魄力,换来的是现在的风光无限,自我改变和革新才是一切变好的根本。