切忌一步到位,谈谈DevOps实施落地

2020年6月19日,由云计算开源产业联盟指导,高效运维社区和 DevOps 时代社区联合举办的GNSEC 2020线上峰会圆满举办。BoCloud博云参加了本次峰会并分享了博云帮助客户实施DevOps的真实案例,以及博云内部推行DevOps落地的实践经验。数据库

01安全

DevOps范围、愿景和目标架构

过去咱们谈到DevOps的时候有不少不一样的认知。早先说DevOps能够是CICD,持续交付,后来有人把敏捷开发管理放进来,以后有客户跟咱们聊DevOps是指运维SRE。得利于中国信息通讯研究院主导的研发运营一体化的标准,终于把DevOps包含哪些内容给说清楚了,以下图所示:框架

切忌一步到位,谈谈DevOps实施落地

DevOps标准中主要包含5大块内容:研发运营一体化、应用设计、安全积极风险管理、组织架构、系统工具。核心的模块在第一部分“研发运营一体化过程”里,并且标准中把最佳实践是什么样、不一样等级实践对应有哪些具体细节都说的很清楚。运维

基于如上这个框架,实际上能够看到DevOps的目标是不少的,涉及开发、测试、运维三个模块。ide

切忌一步到位,谈谈DevOps实施落地

由于目标不少,因此DevOps到底要怎样落地?是否是照着蓝图作就能很好的实现DevOps落地?由于有蓝图有最佳实践、有标准,按理说DevOps落地应该是很是轻松的。咱们回答也很明确:不是这样的。这里我举2个例子,管中窥豹的看看DevOps实践过程当中的一些弯路。工具

02测试

照着蓝图作,是否就能轻松DevOps落地?优化

切忌一步到位,谈谈DevOps实施落地

第一个是大型央企DevOps推广案例:内部云团队想规划建设PaaS平台,包括DevOps平台,由于PaaS包含DevOps,因此云团队想将PaaS平台中的DevOps能力推到研发部门。云计算

总体建设范围是敏捷开发管理、持续交付管理、运营一体化,这个事情花了不少精力,也作了不少内部团队的沟通,总体来说在业务团队推广效果不是特别好,后来就逐渐搁置了。这个事情不是说作失败了,至少效果没有显现出来。总结来讲的话:DevOps平台应该是谁使用谁建设可能在起步阶段会更容易一些。
切忌一步到位,谈谈DevOps实施落地

第二个是咱们某个中型金融机构案例。这个案例建设目标起的比较高,并找了咨询公司作了咨询。咨询公司作的东西确实比较好,比较完整也比较细致。整个的建设目标包括开发管理、持续集成、测试部署、持续监控的,规划的很完整。

到了落地阶段,这个项目整个落地周期10个月,上线7套系统。整个落地模块包含项目协同,流水线制品库等等,落地了项目协同、CICD流水线、度量仪表盘、管理驾驶舱。客观说实际推广效果仍是能够的,尤为开发团队感觉还能够。可是整个项目后来总结时运维团队提出了不少意见,说前期运维团队也参与了,领导也提了目标要求,但最后作了10个月,运维团队没有感觉到这个平台带来价值。

这个实际应该算是比较成功DevOps项目,可是后来评估的时候运维团队却提出了明确的负面意见,影响了项目评价。总结来讲:项目前面调起的过高,范围过大,各个团队落地的指望比较高,可是实际上落地的时候可能有些团队没有获得想要的效果,效果评价受到了影响。DevOps落地初始目标设计,要更合理一些。

如上两个小案例,以点带面说明下DevOps落地的典型问题。

切忌一步到位,谈谈DevOps实施落地

基于前面的案例,我想回答一下为何DevOps蓝图很难一步到位。第一是由于组织架构, DevOps项目但愿同时在开发部门、测试部门和运维部门都获得很好效果很难,最好分步来作,先解决单部门问题是比较合理。

第二个DevOps自动部署的工具仅仅是一部分,其实还涉及DevOps文化和共同认识的创建过程,这须要一个较长的过程。DevOps总体蓝图要解决的问题,涉及的底层工具很是多,很难短期在没有很好的基础前提下快速落地,良好的DevOps落地须要一系列标准规范的推广落地。但通常来讲,由于历史包袱缘由,标准规范的推广须要一个逐步甩包袱的过程。这些规范很是须要,可是由于历史包袱问题推广是很麻烦,遇到业务部门业务需求是很大的,因此说标准规范推广是比较难,但必需要作,可是推广须要过程。总体来讲,这几个缘由是DevOps有了蓝图和最佳实践仍是很难一步到位缘由。

03

DevOps落地实施路径建议

DevOps具体实施有哪些好的实施路径,咱们也想尝试回答一下。理论上从DevOps每一个领域均可以发起DevOps,而后去落地,并且根据不一样公司状况、业务基础设施状况,实施路径可能不一样。根据咱们的落地案例,咱们尝试性的找几个比较通用合适的实施路径,举几个例子跟你们分享一下。

第一个国内某股份制银行,他的推广路径首先是在研发过程管理中,敏捷开发管理、配置流水线、度量;而后在运维视角发布自动化、变动管理自动化;后来紧随着整个前期的研发推广,同时在底层专业平台、专业数据库管理中创建容器化。

从开发测试角度:他们的流水线已经大规模应用,全部开发团队在开发第一步就能够把流水线创建好,开发人员只基于流水线就能够作整个CI和CD上线,是很是有价值的事情。另外,敏捷开发管理也已经落地到了整个研发流程管控里(这个行业经验不少,可是对开发测试来讲,也是最重要的)。

从底层能力方面:容器化大规模应用,对于CICD很是有帮助的。

目前呢,他们正在推动DevOps能力整合优化,实现更大价值。这个案例应该说是很是好的DevOps实践路径。尤为是已经大规模推广起来了,是很是厉害的。

切忌一步到位,谈谈DevOps实施落地

第二个是安信证劵。第一步作了敏捷开发和自动化测试和度量,主要在开发侧;在运维视角作了容器化,也已落地。而后安信证券比较好的一点是除了推广和落地,在于很好选择了试点团队。

试点团队选择了技术能力比较强,但愿可以快速发布,根据这几个点选了几个团队进行试点,进行项目实践,整个试点达到比较好的效果。第一,已经过DevOps三级认证。第二,流水线真正标准化落地,度量指标及指标指导下研发改进效果明显。第三,目前已经启动了大规模推广。是DevOps比较好的落地,并可以达到设计效果的一个项目。

切忌一步到位,谈谈DevOps实施落地

第三个是咱们本身博云。其实咱们作DevOps时间挺长,咱们内部2018年开始推行DevOps,当时也是经过工具链来作。后来咱们作了本身的DevOps平台,目前已经所有切换到本身的平台来用了。推广路径如上图,自研DevOps平台推广周期相对比较短,基本上4个月就所有切换过来了,主要是由于内部在工具链使用方面已经有比较多的经验。

咱们是软件公司,没有所谓线上发布这个过程,因此说DevOps落地更多集中在研发测试环节。咱们的需求自己是比较明显,有两个核心需求,第一个实现快速迭代发布,第二个实现可以更好去把研发进度效率实现自动化,把度量的事情搞定。路径上来讲,咱们首先DevOps团队本身先去试点推广,DevOps产品如今总体来讲1个月一次正式的版本发布,进度质量效率数字化,实时可见。第二个经过公司管理层的直接推动快速扩展到全公司研发团队。

实施路径选择建议

切忌一步到位,谈谈DevOps实施落地

尝试性的总结下DevOps实施路径选择原则。

第一个要制定合理目标。核心缘由是每一个团队最为关注目标是不太同样的,像刚刚讲到咱们做为作软件的公司,更多偏向于快速迭代发布和度量这两块的内容,但做为一个线上系统可能更重要是别的一些指标,因此说基于本身现状从核心痛点出发,制定合理项目目标比较重要,同时在运维发布和CICD流水线都有需求。

第二个是管理好内外部指望。其实咱们一开始要提出本身的目标,一个方面要有很好价值,另外也不要好高骛远,不要把指望搞的很高,推广是没有那么容易,要有合理指望值,包括领导,指望太大容易失望,失望了以后推广就失败了。

第三个是系统设计取决于组织架构。最好不要一上来作组织架构的事情,这个确定能够作,可是比较麻烦。在DevOps实践里面组织内部作的事情不少,能够从自己组织开始,而后逐步实现整合跨部门,这个很合理。除了平台以外还有人的文化认知,因此分步实施、逐步演进,也不须要规划一步到位,一个月就把DevOps作到位,这个其实不太现实。一步到位很是难,并且效果很差。那么试点团队是先试点,配合比较好、意愿比较强再去推广,这个是几乎全部DevOps作得比较成功企业的工程实践。

另一个周期上要有持续的推动机制,可能刚开始你们推动挺好,那么过了半年推广是否是忘了,必需要有持续的推动机制,要有打持久战的准备,逐步把DevOps这事落地优化到最好。

最后一个是:规范。越规范越有用,规范价值是很是大的。在可能状况下能够先推行规范,有了规范,不少事情会变得很是容易,并且对于使用者,落地以后的使用体验也会很好。因此规范越早推越好。

总体上这个就是DevOps落地实施路径的规划原则,你们能够做为参考。

相关文章
相关标签/搜索