质量小议14 -- DevOps

Posted Rolei_zl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了质量小议14 -- DevOps相关的知识,希望对你有一定的参考价值。

    DevOps,Development和Operations的组合词,是开发和运营维护的总称,是平衡开发质量和运维质量过程中的产物。

1. DevOps是什么

  • DevOps,一组过程、方法与系统的统称,用于促进开发(Development)、运营(Operation)、质量(Quality)部门之间的沟通、协作。
  • 为了按时、高质量交付软件产品和服务,开发和运维工作必须紧密合作。
  • 通过“软件交付”和“架构变更”的流程自动化,使得软件构建、测试、发布能够更加快捷、频繁和可靠。
  • 立足全局角度,加强开发团队成员之间的合作与交流,提升开发效能。
  • 交付、测试、功能开发和维护,工作越加细化,彼此间的沟通越少、信息缺失越多,导致的质量问题越多,问题发现和修复所需的时间越长。 

* 烟囱式系统:一种不能与其他系统进行协作、各自独立的信息系统,又称为孤岛系统。

2. DevOps 与 软件质量

    不同角色协作、快速迭代交付、交付质量是研发团队面临的共同问题,DevOps的出现即是为了解决这个问题。

  • 项目管理过程:启动 -> 计划 -> 实现 -> 收尾 -> 监控 
    监控过程实现了对项目执行各环节的协调与控制。
  • 软件开发过程:规划 -> 需求 -> 设计 -> 编码 -> 测试 -> 发布 -> 维护

    传统的开发过程往将过程的各个阶段分别管理、独立运行;各阶段之间虽是承上启下的关系,但各阶段之间往往缺少必要的沟通、协调;过程中的问题不能被及时发现而被带入下一阶段,问题对系统产生的影响逐级放大、不断蔓延;同时各阶段关注的内容重点完全不同,对问题的预防、识别、修改缺少全局性判断,往往问题一次性的修改给其他阶段带来新的问题。
  • 软件复杂度不断增加,客户需求越来越随心所欲、变更越来越频繁,软件开发过程分工变得越来越细致,角色及分工越来越明确,而阶段和角色间的沟通和协作越来越少,各阶段“接口”间的问题越来越多,彼此间的“抱怨”和“指责”越来越多。
  • 敏捷时代敏捷方法的应用,迭代规模不断调整、迭代时间不断变短、迭代速度不断加快,交付质量和运维质量要求越来越高
  • 需求变化多、开发任务重、交付频繁、质量要求高、运维要求稳定,一系列的问题在时间、成本与质量之间需要平衡。
  • DevOps强调开发和运维之间的协作,彼此参与、了解对方的工作,相互融合,共享决策和问题的解决方案,消除或减少由于沟通不足造成的延误、疏忽和误解,降低系统错误的产生,提升交付质量,减少紧急问题的处理需求,提高运维阶段客户满意度,提升用户体验。
  • 充分使用工具,减少过程中人为参与;利用自动化完成持续的迭代开发、测试、交付、客户验证和部署,实现CI(Continuous Integration,持续集成)和CD(Continuous Delivery,持续交付)。

参考:
1)DevOps(过程、方法与系统的统称)_百度百科
2)DevOps到底是什么意思

以上是关于质量小议14 -- DevOps的主要内容,如果未能解决你的问题,请参考以下文章

什么是DevOps?

质量小议9 -- 意义

质量小议11 -- 测试驱动

质量小议6 -- 无处不在的度量

质量小议6 -- 无处不在的度量

质量小议10 -- 担心