DevOps

作者: Newester | 来源:发表于2018-05-29 23:10 被阅读0次

    全称:Development && Operations

    含义:DevOps是相对于传统的软件开发公司研发、测试、运维等各个部门分立而定义的;强调打破各个独立部门的壁垒,以团队的形式组织研发、测试、运维等专业人员密切合作,实现软件稳定、快速的迭代与交付。

    背景:随着敏捷开发的不断普及,软件产品迭代变得越来越迅速。但是在传统的互联网公司架构中,是根据职责来划分各个部门--商务、运维负责面对客户,研发负责软件开发,测试与QA负责保证产品的质量,三者之上是管理部门负责协调。客户需求首先是商务运维部门接收到,然后报告给管理部门,向管理部门申请协调资源;管理部门开会讨论后再分派任务给研发人员;研发人员得到需求后,设计软件实现需求;软件经由测试QA验证后方可发布交付客户。
      在敏捷开发时代需求迅速变化、产品需要迅速迭代以满足用户需求的情况下,由于部门之间的沟通壁垒以及资源协调的过程,导致了若干的问题。由于部门间沟通的壁垒,需求经由商务与维护部门传递到开发部门和质量管控部门时,导致需求理解不到位的情况,或是设计的软件与需求不符,或是产品质量把关的要求与需求有差异,影响交付甚至交付错误的软件;由于需求的变更过于频繁,没有一定的需求拦截与版本管控机制,导致软件版本变化频次太高,给后端的质量保障部门(频繁测试)、生产部门(如果有)带来了莫大的压力。
      在这种情况下,DevOps应运而生。

    核心:为了解决敏捷开发带来的问题,DevOps主张打破原来各部门相互独立的运行模式,主张以团队/项目组的方式组织各部门专业人员负责某一产品的开发、测试、运维。团队是一个完善的自运营单元,有能力自主地消化需求,自主的管控项目进度,从项目的开头到结尾极少情况需要对外进行沟通;但是在团队成员的内部,沟通却比以往频繁许多,这是因为每位成员都只专长项目的一个方面,但却要对整个项目负责,需要彼此间密切地协作,沟通自然少不了。项目组往往有一位专家人物,负责把控全局。为了保证各方的快速、准确地响应需求,减少人力沟通的成本,大量的自动化工具需要被部署。

    优势:适应敏捷开发,快速准确响应需求;
       合理把控项目,保证效率与质量;
       有利于培养专业人才与团队合作的氛围

    相关文章

      网友评论

          本文标题:DevOps

          本文链接:https://www.haomeiwen.com/subject/bjrzjftx.html