敏捷Agile方法

什么是DevOps?

  DevOps代表两个不同的子学科——开发Dev和运维Ops的联合。开发Dev部分是用于创建或对软件应用程序进行重大更改的传统软件开发生命周期;它包括一个庞大的人员网络,他们协助开发产品,包括产品经理、业务分析师、软件开发人员、质量保证工程师和其他人员。从DevOps的角度来看,这个阶段在软件发布/部署之前结束。      
  在过去的几年中,开发Dev和运营Ops几乎完全在各自的孤岛中进行。运营Ops团队由系统和网络工程师、DBA以及其他人员组成,这些人员负责构建、管理和监控IT基础设施,以确保软件能够得到正确部署和支持。他们接收经过测试的软件构建并管理软件在IT网络上的发布和部署,同时监控网络稳定性。  

          DevOps的一个主要和总体目标是将软件交付和基础设施更改的流程自动化,它旨在建立一种文化和环境,使构建、测试和发布软件能够快速、频繁和更可靠地发生。为此,敏捷方法论增强了人们对DevOps原理和自动化软件的关注和采用。  
         DevOps的关键之一是将最新信息即时传递给下一个流程。但是,有这么多不同的流程来管理通常意味着将十几个不同的软件产品拼凑在一起来管理不同的DevOps流程。

        DevOps是运营与开发工程师一起参与整个服务的生命周期,包括从设计到开发以及产品支持的环节。DevOps的特点就是运营工程师会和开发工程师使用相同的工具,包括源码控制到测试,涵盖整个敏捷开发过程。

  DevOps是的敏捷原则的扩展概念,将边界从"代码"扩展到整个交付服务。

  DevOps的起源来自于系统技术方面越来越需要创新。DevOps运动继承了从敏捷系统管理运动和企业系统管理(ESM)运动。

  有些人认为DevOps意味着开发人员接管了运营。这只是一部分而不是全部。当我们意识到部分运营需要自动化时候,运维人员需要进行一些自动化开发,开发人员也编写"运维"代码,或两者兼而有之。可怕的是,没有找到在这两种人员之间的整体协作方法,所有的成功团队都是将具有深度开发技能和深度运维技能人协调在一起工作,以创建一个更好的产品。

  好的产品是靠运营出来的,而不只是研发完成即可。

DevOps三种方式

  DevOps有三种途径方式,或者称为三种特点与模式:

1.系统级别的效率考量

 这是强调从整个系统的效率性能考量,而不是孤立地从所在工作部门或子系统考量,可以是整合开发人员和IT运维人员的大视角,也可以小如独立的发布者如开发人员和系统管理员。

重点是关注整个业务价值链,开始于业务需求的确认,开发人员的开发构建,然后交付给IT运维,在最后环节,对于客户的软件价值作为一种服务体现出来。

由于强调整体效能,就不要将缺陷推托到下游,不允许因为局部优化而带来整体退化,不能因为细节战术的提高导致整体战略上的退步,如果想提高整个系统的价值,就必须深入全面理解整个系统。

2.放大反馈循环

关于创建从右到左反馈循环。如有必要可以不断修正缩短和放大这种反馈循环。能够理解和响应所有的客户包括内部和外部,缩短和放大所有的反馈循环,嵌入我们需要的知识。

3. 持续的锻炼和学习

  这种方式就是创造一种企业文化,培育两件事:不断实验冒险以及从失败中吸取教训。认识到重复和实践是通向掌握的先决条件。

  实验和冒险能确保我们持续推动改善,即使这意味着进入我们无法控制的危险地带,我们必须需要掌握帮助我们脱离危险区域的技能。 

  第三条道路的结果包括分配改善日常工作的时间,,为冒险创造仪式,奖励团队,并将错误引入系统增加弹性。

相关文章

什么是金丝雀版本?

Docker教程

从DevOps看EDA

从敏捷死了到Devops死了

无服务器架构

什么是DevSecOps?

敏捷和devops之间有什么区别?

Istio是一个服务网格

相关话题

DevOps专题

敏捷专题

#Kubernetes

#docker

#DevOps