DevOps 涉猎的范围非常的广泛,包括软件研发全生命周期的方方面面,对于刚开始涉及 DevOps 的人来说会有种盲人摸象的感觉,这正是 DevOps 转型的一个难点。在 DevOps 转型过程中,标准化是重要手段。那么,标准化关注的具体是什么内容呢?
DevOps 的转型目标在于缩短前置时间,加快部署频率,提高系统的可用性,减少服务恢复时间,降低变更失败率。这就要求我们在设计运行平台的时候,除了具备自动恢复功能的以外,还要提供丰富的运维监控数据以及强大的数据分析能力,这样能够帮助运维人员在极短的时间之内恢复服务。变更失败的原因主要有 2 个,一是功能质量没有达标,二是需求理解不到位。
图片中是我们整理的一些标准化的关注点。作为产品经理或业务分析的人员,需要关注需求如何顺利到达研发团队,并能够适应他们进行敏捷的开发。作为研发人员需要关注的点相对比较多,尤其是要关注配置信息标准化管理。
标准化的目的是为了实现自动化,包括集成的自动化、部署的自动化、测试的自动化和运维的自动化。下图是一个典型的 DevOps 循环图。我们认为业务敏捷是前提,DevOps 流程是从敏捷型需求为起点,经过了运维监控这个最后的节点回到计划,实现闭环。
编码过程标准化的重点在于测试驱动的开发,这也是敏捷要求的一个标准,但是实际上能做到这个标准的团队并不是很多。测试驱动开发首先要面向接口做一些测试和开发,面向接口做测试的时候需要关注接口名称、接口协议、接口参数名称和类型、接受条件。其次我们需要关注数据,包括每个接口输入的数据以及其得出的结果。针对引用的相对复杂业务逻辑的其他服务,需使用 mock 工具来减少依赖。每个测试用例的测试场景需要完整注释。
最后我们总结一下前面的内容:一、需求敏捷化是起点。二、TDD 开发模式是快速迭代开发时代保障软件质量基线的有效手段。三、注重环境配置文件的标准化,保证程序的可测试性。四、研发流程的标准化是建立自动化 CI、CD 流程的前提,而 CI、CD 流程的自动化是实现 DevOps 的关键点。五、Jenkins 是实现 CI、CD 流程的有效工具,但是在处理复杂业务场景时还需要有其他合适工具的帮衬。六、服务器运行环境的标准化,可以促进流程脚本的标准化。
点击观看课程完整视频。
CODING DevOps 系列第二课:标准化助力 DevOps 转型
没有评论:
发表评论