DevOps介绍
DevOps一词是由development和operation两个单词组合而来,代表着研发和交付运营的一体化。DevOps在2009年就被提出,但在学术界和工业界还没有一个广泛认可的定义,一些有代表性的总结,比如John Willis从文化、自动化、度量和分享的四个特征来对DevOps的含义进行描述,Lwakatare等提出可以从协作、自动化、度量、监控四个维度来对DevOps来进行描述。DevOps的很多思想与精益、敏捷是一致的,是这两种思想的一种延伸,其中敏捷主要围绕产品研发环节,通过以人为本、开放协作、持续改进来实现价值交付,而DevOps不仅关注产品研发,将交付运维也纳入迭代优化的闭环,打破研发和交付运维之间的隔阂,覆盖从需求研发到业务上线再到运维的整个端到端的价值链。
一些研究显示了DevOps的有益效果。国外AWS、Google等公司通过应用DevOps实现分钟级的需求交付能力;取决于不同的场景,应用DevOps之后可以降低10%~30%的部署周期,节省20%的成本。DevOps在国内的应用也在持续增长,从某个调查问卷的统计分析来看,应用了DevOps的企业其效能更高。
DevOps运动发源于既拥有研发部门又拥有运维部门的企业,目前的实践也大多围绕在这个场景中,像JezHumble在其书中描述的持续交付,适用于互联网等自研自营的模式,但其他场景无法直接应用。例如,如果软件采购自供应商,软件研发和交付运维之间不仅仅存在“部门墙”,而且通过合同来建立的协作边界,中间涉及责任主体的切换。跨国软件交付除了少数互联网企业之外,大部分是软件供应商模式,并且还增加了时间和空间上的距离,因此