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