DevOps字面理解

DevOps(Development和Operations组合)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。一些国际组织对其定义如下:

DevOps强调对应用进行快速、小规模、可迭代的开发和部署,以更好地应对和满足客户的需求。它要求进行文化的转变,即将开发和运维只能作为一个合作的整体来看待,注重提高业务价值,旨在精简整个IT价值链。

从定义来看,其实devops就是为了让开发、运维和QA可以高效协作的流程。(可以把DevOps看作开发、技术运营和质量保障(QA)三者的交集)

DevOps是一套实践框架,包含了精益、敏捷的理念,各种持续集成和持续交付的职能,以及构建流水线的工具。它着眼于项目的实践,在实践中强调以业务价值来统一所有工作目标,这个目标是不同的团队打破原有的组织考核壁垒,进行合作和沟通的基础。它的核心思想是把所有的IT交付和运维服务团队统一起来,围绕一个统一的业务价值目标及业务交付范围加强沟通,通过频繁、快速地迭代交付和反馈,达到加快交付速度和提高交付质量的目的。

如果将IT系统提供的业务服务作为一个交付的产品来看,就存在一条在IT软件开发和交付领域等形成的流水线。为了建设这样一条流水线,需要弄清楚以下问题:

- 流水线的内容是什么?它的起点在哪?终点在哪?

- 如何搭建这条流水线?

- 如何管理这条流水线?

DevOps核心理念

DevOps的生命周期如下图所示:

在其生命周期中,包含以下几个核心理念:

实现组织目标

技术人员所做的软件系统是为业务部门的业务发展服务的,此是将所有IT交付团队统一起来的共同目标和原始驱动力。只要对比一下自己团队的KPI和业务目标的关系,就能发现传统的分隔式项目交付管理是多么官僚和浪费。所以,DevOps流水线包含开发、测试、部署和运维等整个项目过程,这些直接关系到最终的业务价值的实现,因此必须作为一个整体进行管理。

流程标准化

俗话说,无规矩不成方圆。在践行DevOps的时候也需要标准化的交付流程,且这个流程不是简单的管理规范,而是要用持续交付的流水线来取代冗长的开发运维流程,实现高效,高质。

除了开发测试交付部分,从运维的角度来看,在DevOps里强调的是轻量化的ITSM流程和架构,即根据保证业务运行连续性的需要来裁减流程,并形成标准化的流程。所谓标准化指的是在需求、开发、测试、维护的过程中将流程最小化。流程过于复杂是造成IT资源浪费的最重要原因,所以应该将流程最小化,同时将更多的精力、劳动、资源投入真正创造业务价值的生产中。

工作自动化

开发运维流程标准化是自动化的前提,如果流程不是标准化,那么自动化也是没有根基的。只有将流程标准化,自动化才能有定义的标准。

自动化能提升效率,还能使效率和质量透明化,让整个交付过程更加可控。

DevOps文化

DevOps是一种文化,它提倡团队成员围绕共同的业务目标,进行互相理解、信任、沟通和协作,在交付过程出现问题后,从中分析原因和吸取教训,而不是互相指责和推卸责任。

总的来说,DevOps涵盖CALMS(自动化、精益、可衡量和分享)文化,如下图:

从项目实践来看,DevOps是指导软件系统交付的一系列实践方法,贯穿于项目的计划、需求、设计、开发、部署、运维及终止的整套过程中。

 

从传统的IT项目交付的角度来看,DevOps实践框架包括:敏捷管理、持续集成、持续交付和自动化测试。

# 敏捷管理

指将需求以用户故事的方式进行拆解,然后以最小化、快速迭代的方式进行开发管理。

# 持续集成

指针对开发人员的代码提交过程,以单件流的方式进行流水线式的自动化管理。

# 持续交付

预先定义、规划从代码生成到产品产出的流水线,并以自动化、模板化方式进行交付。

# 自动化测试

根据测试流程,以模板化、自动化的方式实现测试的手段。

DevOps相关工具

最新文章

  1. 用javascript比较快速排序和合并排序的优劣
  2. 将编码从GB2312转成UTF-8的方法汇总(从前台、程序、数据库)
  3. 访问WEB-INFO 目录注意事项
  4. thinkphp和uploadfiy
  5. 转!!!Mybatis实现数据的增删改查(CRUD)
  6. java-MySQL存储过程
  7. C#:在catch中return,会执行finally吗?
  8. 巧谈 GCD
  9. [转] npm命令概述
  10. getchar()用法
  11. iScroll 下 a 标签失效
  12. PDO(20161107)
  13. vue模板的几种写法及变化
  14. Mybatis简单入门
  15. i++是否原子操作?并解释为什么???????
  16. css3兼容360
  17. APIO 2014 回文串(Manacher+后缀自动机+倍增)
  18. ubuntu16 mysql在线安装
  19. push to origin/master was rejected错误解决方案
  20. 净资产收益率ROE连续3年超过15%的股票排名

热门文章

  1. Go基础学习(二)
  2. Android系统使用Shell脚本预装apk
  3. 少用 string.Format
  4. IP 转发分组的流程
  5. python下载神通板砖有声版
  6. 简单说 通过CSS实现 文字渐变色 的两种方式
  7. BEM命名及其在sass中的实践
  8. Django进行数据迁移时,报错:(1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(6) NOT NULL)' at line 1")
  9. startUML5.0中的tools下怎么没有java、c等选项
  10. python小白入门