Devops的引入

什么是Devops

百度百科上的定义:

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

它是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。

它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运维工作必须紧密合作。

解读:它是DevelopmentOperation组成。Devops强调合作和跨团队的协作,它强调将过程和方法进行融合,注重的方法论。

IBMDevops的定义

By definition, DevOps outlines a software development process and an organizational culture shift that speeds the delivery of higher quality software by automating and integrating the efforts of development and IT operations teams – two groups that traditionally practiced separately from each other, or in silos.

 

In practice, the best DevOps processes and cultures extend beyond development and operations to incorporate inputs from all application stakeholders - including platform and infrastructure engineering, security, compliance, governance, risk management, line-of-business, end-users and customers - into the software development lifecycle.

 

DevOps represents the current state of the evolution of software delivery cycles during the past 20+ years, from giant application-wide code releases every several months or even years, to iterative smaller feature or functional updates released as frequently as every day or several times per day.

 

Ultimately, DevOps is about meeting software users’ ever-increasing demand for frequent, innovative new features and uninterrupted performance and availability.

其实在不同的公司看来对Devops的定义也不太相同,但总的来说他们都是从不同角度出发对同一个问题的理解。Devops强调人员、流程、工具的协同改善;强调敏捷和精益,减少浪费;强调加快交付的速度,调高交付的质量,强调接受反馈,提供给最终用户满意的需求。而且随着不断的实践,更多的方法、原则、经验被融入进来,丰富了Devops的内涵。

常见的理解误区:

  1. Devops=工具的自动化

自动化在Devops的实践中确实非常重要,它提高了生产效率,降低了手工操作的失误率,减少了不可控性,同时也降低了处理时间以及等待时间。但是Devops包含了人员、流程、工具、文化等诸多因素,作为一种最佳实践方法论的组合,工具只是其中的一部分,并不是全部。

  2.Devops初创公司不适用,独角兽公司生来就有Devops的能力

传统型公司问题重重,而那些独角兽公司看起来风光无限,据说Amanzon每天部署上万次,好像它与生俱来就有Devops的能力,实际上,其他公司碰到的问题,哪些独角兽公司一样都未曾避免过,所以Devops是一种能力,放到那里,你用或者不用,你有选择的自由。

说到Devops不得不提敏捷和精益,敏捷和精益不是一个新的概念,它在很多行业中都有被广泛实践。

敏捷范围管理的主要特征在于,在一部分需求明确以后(具备前几次迭代的功能需求后),就开始架构设计具有不完全范围的解决方案,在迭代过程中不断向产品的需求列表中添加新特性,并从客户那里收集反馈,以便更好的理解客户的想法,不断完善现有产品的功能。

敏捷软件开发的宣言:

 

精益百科: 

精益在IT中的原则:1,从客户角度定义产品价值;2、识别价值流等。

 

posted @ 2022-03-12 22:56  WordCount_01  阅读(65)  评论(0)    收藏  举报