内容来源:2017年4月23日,阿里云高级专家桑彦斌在“云时代下的运维管理实践”进行《什么是DevOps》演讲分享。IT 大咖说(ID:itdakashuo)作为独家视频合作方,经主办方和讲者审阅授权发布。
阅读字数:1020 | 5分钟阅读
获取嘉宾演讲视频回放及PPT,请点击:http://t.cn/Eveh0fU
摘要
DevOps的概念近几年突然变的大红大紫,但是究竟DevOps是什么,却每个人有每个人的说法。本次演讲从务虚的角度上剖析DevOps,以及DevOps和传统模式的差异,实践的重点和难点所在,希望大家听过以后有所收获。
什么是DevOps
定义
DevOps是一种工程模式,本质上是一种分工。通过对开发,运维,测试,配管等角色职责的分工,实现工程效率最大化,进而满足业务的需求。
核心
DevOps的核心是角色的分工,而不是组织架构变化,垂直化的组织架构不代表可以实现DevOps所需要的分工模式,横向的组织架构也不代表传统的分工模式。
目标
DevOps的目标是工程效率最大化,它本身也只是一种方法论,是为了实现工程效率最大化的目标而存在的。
传统分工模式
优势:分工与责任清晰,质量有保障。层层约制,容易把控。
劣势:沟通成本与等待成本太高,每一个环节都有成为瓶颈的风险。OPS负责交付,容易演变成“擦屁股”的角色。
DevOps分工模式
优势:减少沟通成本与等待风险,降低正常需求交付所需时间,DEV负责交付,避免交付扯皮。
劣势:每个环节参与角色较多,风险较高专业度会有所降低。DEV权利过大,容易军阀化。
难点和问题
寻找平衡点
工程效率与稳定性的目标在大部分场景下都是相悖的,如何能够在工程效率提升的前提下,保证稳定性不出问题。
责权划分
在除Coding以外的所有环节中,责任和分工要怎么来分,才能保证DEV使用顺畅,跟上公司业务发展。
制约与考核
打破原先的平衡以后,新的平衡如何建立?DEV在工程中话语权加大,权利是一定会被制约的,不是内部就是外部。
DevOps怎么衡量
工程效率是DevOps最大的目标,它本身就是为了这个目标存在的。我从开发开始写这个代码开始,直到这个需求交付给市场和用户,这个时间是DevOps的目标。
稳定压倒一切。如果稳定性不达标,其它做什么都没用。
非研发工作占比是指在一个DEV的团队中,它花在非Coding的事情上精力有多少。非研发工作占比越少越好。
业务规模和运维人员的比例是越高越好。比如google,我们认为google内部的DevOps程度已经很高了,据我所知google设备数大约在100~200万之间,运维人员大概有1000人,也就是说每个SRE大概可以管理2000台左右的业务。
回到最初的问题——什么是DevOps
我认为DevOps到现在为止还只是一个方法论,它提出了一种分工的办法,这个办法理论上来说可以使研发变得更高效。
还有一点,就是不要相信最佳实践,因为每个环境是不一样的。DevOps是管理决定,一旦做了决定之后,我们就要去思考这个理论和公司业务结合之后会是什么样的。可以借鉴最佳实践的方法论,以及它遇到矛盾时是怎样处理的,但是绝对不能照抄。
今天的分享就到这里,谢谢大家!