关于DevOps的那些事
在Patrick DeBios和其他相关核心发起人的推动下,DevOpsDays活动在世界各地蓬勃发展。Damon Edwards先生在2010美国山景城举办的DevOpsDays活动中使用了“CAMS”这个缩写,对DevOps进行了高度的概括和解读,即文化、自动化、度量或指标和共享。后来,Jez Humble先生在其中加入了“L”精益原则,最终成为CALMS。
?文化——指拥抱变化,促进合作与交流。
?自动化——指从价值链中消除人工干预。
?精益——指运用精益原则促进高频循环。
?度量——指的是衡量每一个环节,通过数据改善循环。
?分享——指与他人分享成功和失败的经验,并不断从错误中学习和提高。
《CALMS》完全符合“DevOps是人类的问题”这一概念(帕特里克·德博伊斯倡导的DevOps。
DevOps这个概念从产生到现在已经过去了九年,现在已经在全球范围内传播和被认可。它的流行伴随着IT行业的快速变化和发展。现在已经到了移动互联网时代的下半场,国内信息化建设已经完成多年。现在各行各业的企业也急需完成全方位的数字化转型。IT信息技术的先进程度标志着企业的核心竞争力。任何一个成功的企业敏捷高效的软件开发创新实力和IT管理综合能力都不只是装点门面,而是实实在在的市场竞争力。DevOps倡导敏捷、持续交付和ITIL的结合,应用基于精益生产理念的管理思想,逐渐被广泛接受和认可。
在过去的几年里,国内各种IT会议也蓬勃发展,其中DevOps相关的话题和分会场也备受人们关注。云计算、运维等各种IT技术的社交媒体也非常重视DevOps的分享。一场致力于DevOps社区的国际性、有影响力的DevOps大会即将出炉。在此背景下,DevOpsDays北京站于2065年3月18日来到中国,DevOpsDays上海站将于同年8月18日在上海举行。
以下是DevOpsDays大会的一些相关数据,来自DevOpsDays网站。从2009年到2016年,已经在全球61个城市/国家成功举办了117场比赛。
下图显示了过去九年中DevOpsDays会议在各个城市/国家的分布和数量。
今年2017预计举办30场,其中18场已确定举办城市和日期;还有12个城市举办日期待定;这还不包括年内可能提交申办的城市。以上数据统计时间为2065438+2007年3月。
随着BAT等国内互联网巨头的崛起,互联网公司的开发运营经验越来越多地在国内各种科技大会上传播。从最近两年(2016和2017)的技术活动日程可以看出,国内的互联网从业者也在使用DevOps来定位和分享自己的优势和经验。他们是在运营和维护方面推广和分享DevOps实践的先锋。
除了技术论坛的分享,很多线上线下的会议、论坛、讨论组也越来越多地讨论DevOps这个话题。国内其他相关流派如敏捷、精益等的人也对DevOps的蓬勃发展感到惊讶,DevOps也与老牌的敏捷、精益阵营有过一些争论。但这一切也增加了人们对DevOps更深层次的兴趣。
培训认证方面,Exin DevOps Master是国际认证的培训;其他公司和组织也在举办DevOps工具链的培训,重点是技术实践和端到端流水线的建设。从DevOps的岗位招聘可以看出,与DevOps工程师相关的岗位越来越多。在岗位需求中,DevOps的技能成为加分项,DevOps相关工具的技能也会成为简历的亮点。在IT行业,无论是开发团队还是运营团队的人,都已经开始了学习和接受的过程。
据我观察,DevOps厂商在最近三年经历了爆发式的发展。我把它们分成三类:
目前国内大部分企业都慢慢开始关注DevOps,大型传统企业也逐渐开始从各个角度做实验和尝试。试点的角度和方向不同,有的从底层基础设施的容器化开始,有的从交付和部署管道的自动化开始;总的来说还处于初级试用阶段,没有大规模的系统推广。
综上所述,DevOps在中国的发展阶段还处于起步阶段。就像2003年左右的ITIL/ITSM。由于DevOps是去中心化的,没有唯一权威的上游厂商,各种理论和实践上的争论和PK都会在解决问题和提高效率的话题上终止,所以具备了百花齐放的发展条件。个人认为DevOps的实施和落地不会完全依赖于传统大型咨询公司的咨询工作,因为它应该是在内驱力的作用下在企业内部自我生长;它必须服务于企业商业价值流的优化,加速商业价值的输出;然而,外部力量很难取代和承担相关的工作和责任。
在说这个话题之前,我们先来看看DevOps相关工具集的全貌,如下图所示:
顶部的箭头流程图代表了一个业务服务的整个生命周期:开发协作、软件构建、质量测试、交付部署以及生产操作和维护。前三个阶段偏于传统开发机构的工作,后两个阶段基本可以对应运维机构的工作。每一个阶段都可以看作是一个大的分类,而这些分类又包含了几个小的分类。这些工具可以大致分为两类:商业软件和开源软件;也可以分为SaaS服务类和企业内部部署类。大多数开源工具都有活跃的用户群体和群众基础,这为企业入手这些工具带来了极大的便利。在需要商业支持的情况下,您也可以选择使用这些开源软件的企业版。
Docker容器技术在最近三年异军突起,使得持续交付的技术门槛降到最低,软件生产供应链的格局和效率得到彻底提升。基于Docker的微服务架构实践的普及度和成熟度也与日俱增。所以国内传统企业纷纷尝试DevOps和容器技术。在最近两年的各种技术会议上,我们可以看到国内各行业都出现了不同维度的DevOps先锋。他们分享的话题大多集中在自动化运维、容器化、PaaS平台的项目经验上。
从国内很多DevOps的实践中,我们可以看到以下三项技术尤为重要和热门:
以上三种技术相辅相成,有着深刻的联系。首先,微服务和持续部署解决了大量传统IT问题,这些问题长期以来一直是制约企业业务发展的难题。容器技术因其快速、轻量、微服务的天然特性,从不同方面支持连续交付和微服务架构。容器可以为持续交付提供灵活高速的系统资源,环境管理和利用率提高了很多;容器的不变性也更好地支持微服务架构。
我曾根据不同的技术特点将DevOps从1.0划分到2.0,并试图通过以下几个维度来比较与传统方法的区别。
我认可并接受的企业实践DevOps参考框架如下,其中包含了所需的最佳实践,如下图所示。
(上图来自:Exin DevOps白皮书)
以下是对这四大支柱最佳实践的简要描述:
可见DevOps在企业尤其是大型传统企业的落地和推广还是比较复杂的。尽管相关的最佳实践已经存在多年;然而,通过DevOps的价值观重构企业从R&D到交付再到运维的价值流并不容易。根据我的IT经验,我似乎觉得DevOps不能只靠自上而下的推广。当然,高层领导的支持仍然是重要且必要的支持条件之一。可能还需要中层的推动和底层的创新;借鉴制造业屡试不爽的精益制造实践也是势在必行。简而言之,DevOps游戏近年来给IT行业带来了巨大的影响。