开发者学习笔记【阿里云云原生助理工程师认证(ACA)课程:阿里云云原生 DevOps - 云原生时代企业 DevOps 诉求】
课程地址:https://edu.aliyun.com/course/3112075/lesson/19060
阿里云云原生 DevOps - 云原生时代企业 DevOps 诉求
内容介绍:
一、平台的融合
二、研发模式多样化
三、质量防控
四、效率提升
五、数据度量
六、研发资产沉淀
七、企业 DevOps 落地推进最佳策略
一、平台的融合
企业的 DevOps 平台需要做平台化和融合化。
在大型的软件开发公司里,通常会有很多不同类型的平台,如产品管理平台、需求管理平台、研发平台、测试平台、运维平台等,这些平台都是在企业发展的不同阶段建成的,相互之间没有交互,较孤立,缺乏良好的信息沟通,也无法集成在一起进行使用,企业需要打造契合业务情况的一站式研发协作平台,来打破底层多个平台间互相孤立的局面,实现底层数据的互通与融合,如需求可直接拓展到研发平台,研发开发完成后能够提交代码到测试平台,测试通过后在进行自动化的部署。
二、研发模式多样化
在许多企业中,开发团队众多,需求和研发模式也是多种多样的,有的团队采用敏捷式开发,有的团队则采用传统的瀑布式开发,团队之间的水平也是参差不齐的,不能采用统一的管理模式,这样会导致团队无法适应新的流程,此时需要解决多种研发模式并存与研发流程统一管理之间的矛盾。
三、质量防控
产品经理交付给研发部门的需求,研发人员能否理解到位,并且开发出正确的代码,而研发人员交给测试人员的代码是否已经做了充分的测试,解决这些问题,就需要做质量的内建,可能开发人员本身提供的代码就是存在问题的,将它在交给测试人员进行测试,测试的错误的输入会带来错误的输出,此时需要做体系化建设代码质量来提升整个代码的质量。之前,测试主要以人工为主,但是随着自动化建设的不断发展,代码检查、代码扫描、单元测试和回归测试等都可以通过自动化进行完成,可以借助这些手段形成自动化的质量体系。
四、效率提升
在建设研发技术平台的过程中,需要有适配企业技术平台的一站式的交付能力,如技术中台使用的是容器技术,那么就需要提供与之相匹配的技术管理、自动化交付以及自动化部署等相关能力,从而提升开发效率。
五、数据度量
在整个开发过程中,需要有一个清晰的数据分析体系,从需求到代码再到回归以及质量管控等各个环节,需要有量化的数据做记录,并且能够提供数据的可视化,如流水线中,先环节中会有质量的问题,哪些会出现时间上的拖延等,这些都能够做到一目了然,从而不断改进研发模式。
六、研发资产沉淀
软件公司最重要的资产就是代码和人才,如何能够把个人的能力沉淀为组织能力,把代码沉淀为企业的支撑,那么就需要技术手段将开发的全过程,输出的有效的产物进行沉淀。
七、企业 DevOps 落地推进最佳策略
以上六个方面为在云原生时代下企业对 DevOps 的诉求,在这种诉求之下,认为企业进行 DevOps 落地时最佳的策略是平台化、标准化、自动化和可视化。
平台化,企业应从项目的管理到产品的发布,建设一个一站式平台,并进行相应的记录;将所有的数据沉淀到线上,并且基于数据进行持续的改进和持续的优化。标准化,明确各个环节的要求,包括需求变更的规范、研发人员的代码规范、编译打包规范及自动化部署流程规范。自动化,在 DevOps 落地推进中,希望一切有底层的服务器软件推动流程化和自动化,从而实现效率的提升;自动化包括代码扫描自动化、编译打包自动化、环境管理自动化、测试自动化和部署自动化,从这五个维度来实现持续的集成、持续的交付和持续的部署。可视化,其目的是使所有人看到自建所关注的信息,从研发的效能度量、研发的质量度量以及自动化度量等各个环节,通过数据能够知道哪个环节产生了问题,这些问题如何改进和优化;通过数据的分析,能够更好的帮助推进整个企业 DevOps 自动化的流程,来提升整个企业的研发效率。