首页 > 其他分享 >DevOps是什么?能够你的团队带来什么?

DevOps是什么?能够你的团队带来什么?

时间:2022-12-03 22:31:15浏览次数:42  
标签:协作 运维 什么 DevOps 开发 交付 团队

最近几年"DevOps"这个关键词经常出现在项目开发当中,特别是随着微服务/容器/cloud在项目中的大范围应用,你不想知道都很难。作为一个伴随CI/CD到DevOps一路走来的工程师,我将分几个部分漫话DevOps以及相关的概念,作为软件开发工程师,你需要知道并且开始践行DevOps, 它应该成为你职业素养的一部分。 笔者是在2015年左右开始听说“DevOps”这个名词,最早听说并实践的一直是CI/CD (后面会介绍它们之间的关系),从CI/CD开始,你会更容易理解DevOps倡导的文化。

DevOps 是一组用于促进开发和运维人员之间协作的过程、方法和系统的统称。 Wikipedia对DevOps的定义是:

DevOps是软件开发、运维和质量保证三个部门之间的沟通、协作和集成所采用的流程、方法和体系的一个集合。 它是人们为了及时生产软件产品或服务,以满足某个业务目标,对开发与运维之间相互依存关系的一种新的理解。 ...... DevOps并不仅仅关注软件部署,它是部门间沟通协作的一组流程和方法。

DevOps是Development和Operations的组合,是一种方法论,是一组过程、方法与系统的统称,用于促进应用开发、应用运维和质量保障(QA)部门之间的沟通、协作与整合。以期打破传统开发和运营之间的壁垒和鸿沟

从下图中,可以看到Dev 和Ops 关注的点是不同的,并且有各自的利益和关注点,沟通必然存在障碍。一个想快速迭代,一个想稳定;一个不关心怎么部署运维,一个不清楚开发架构;由此带来的就是效率的低下,以及相互的抱怨,但是完整的项目并不是仅仅代码写完就完事了,质量/稳定/运维才是更重要的。

DevOps 提倡通过一系列的技术和工具降低开发和运维人员之间的隔阂,实现从开发到最终部署的全流程自动化,从而达到开发运维一体化。通过将 DevOps 的理念引入到整个系统的开发过程中,能够显著提升软件的开发效率,使得各个团队减少时间损耗,更加高效地协同工作,缩短软件交付的周期,更加适应当今快速发展的互联网时代。下面这个DevOps能力图,良好的闭环可以大大增加整体的产出

DevOps 与传统开发方式

Why is DevOps

猛得听上去,DevOps很抽象,你可能会问以前没有DevOps不是一样开发交付吗?为什么是DevOps? 瀑布开发,敏捷开发都听过吧?DevOps你可以理解为新的开发模型,是文化和技术的方法论,需要公司在组织文化上的变革。

DevOps早在十年前就有人提出来,但是,为什么这两年才开始受到越来越多的企业重视和实践呢?因为DevOps的发展是独木不成林的,现在有越来越多的技术支撑。微服务架构理念、容器技术使得DevOps的实施变得更加容易,计算能力提升和云环境的发展使得快速开发的产品可以立刻获得更广泛的使用。 因为技术在发展,项目的开发过程也需要适应新的技术和框架,微服务那么多,容器可能上千个,你怎么快速部署/维护?

DevOps 的好处

  • 依托自动化工具把开发、测试、发布、部署的过程整合,实现高度自动化与高效交付。
  • 在保证产品质量的前提下快速、频繁地发布产品。
  • 能够即使获得用户反馈,并快速响应。
  • 最大限度地减少风险,降低代码的出错率。
  • 高质量的软件发布标准。整个交付过程标准化、可重复、可靠。
  • 整个交付过程进度可视化,方便团队人员了解并控制项目进度。
  • 团队协作更高效。

DevOps 带来的变革

  • 角色分工:打破传统团队隔阂,让开发、运维紧密结合,高效协作
  • 研发:专注研发、高度敏捷、持续集成
  • 产品交付:高质量、快速、频繁、自动化、持续交付

简单的说,DevOps=团队文化+流程+工具 团队文化的意思很简单,就是你的团队要知道并认可DevOps理念;然后就要通过具体的流程和工具来实现这个理念。

标签:协作,运维,什么,DevOps,开发,交付,团队
From: https://blog.51cto.com/u_14454786/5908683

相关文章

  • mysql和sql server的区别是什么?
    https://blog.csdn.net/qq_51179608/article/details/124322292实际上,每个web应用程序和数据库都扮演着重要的角色。由于当前web开发的动态特性,即使是最基本的应用程序也......
  • Astro - 关于某些星到底长什么样子
    变星脉动变星(长周期)造父变星周期造父变星都是已经演化到晚期的红超巨星。星体膨胀到最大时,视向速度最大,星最暗。造父一(仙王座\(\delta\))标准烛光。光变周期\(\rig......
  • js中this是什么?this的5种用法
    概述:1.在方法中,this指的是所有者对象。2.单独的情况下,this指的是全局对象。3.在函数中,this指的是全局对象。4.在函数中,严格模式下,this指的是undefined。5.在事件中,this指的......
  • 为什么是Instantiate all remaining (non-lazy-init) singletons,而不是Instantiate al
    阅读spring源码时,注意到一个小细节,在核心方法refresh()中我们都知道,bean的实例化发生在finishBeanFactoryInitialization(beanFactory)方法中入上图,finishBeanFactoryInitia......
  • S/4HANA(本地部署或云版)跟 SAP 家族系统以及非SAP系统的集成,到底什么是推荐的方式?
    笔者的知识星球,有朋友提问:S4HANA(本地部署或云版)跟SAP家族系统以及非SAP系统的集成,sap的标准/推荐做法是通过BTP还是直接连接,或者是根据目标系统分别选择?有参考链接最好......
  • 你在终端启动的进程,最后都是什么下场?(下)
    你在终端启动的进程,最后都是什么下场?(下)在上期文章你在终端启动的进程,最后都是什么下场?(上)当中我们介绍了前台进程最终结束的几种情况,在本篇文章当中主要给大家介绍后台进程......
  • 问题解决系列:从源码讲解为什么是 'JZ0SL_ Unsupported SQL type 1111'
    一、问题场景正在做代码改造,使用​​mybatis​​​+​​sybase​​进行数据库操作,运行过程中,提示以下报错:java.io.IOException:JZ0SL:UnsupportedSQLtype1111.本篇博客......
  • spring bean是什么
    转载:https://www.awaimai.com/2596.html Spring有跟多概念,其中最基本的一个就是bean,那到底springbean是什么?Bean是Spring框架中最核心的两个概念之一(另一个是面向切......
  • 什么是蛋白质组学?
    导读本文将从蛋白质组学的定义,蛋白质组包含的类型,常用技术,面临的挑战等方面,对蛋白质组学进行一个简要的介绍。1.定义“蛋白质组学”一词于1995年首次出现,被定义为对......
  • GOM原版登陆器微端设置与纯微端设置的方式是什么?
    先说明一下:下面的问题只对本站的原版GOM引擎GOM登陆器有用,使用坡解版或者第三方登陆器包括绿盟登陆器及GOMPJ的登陆器还有现在新出的各种GOM引擎登陆器都是无效的,所以,在解决......