近几年DevOps这个词大家听的比较多,不管是互联网公司,还是传统IT团队;从事软件产品的各个角色,项目经理,产品经理,运营,测试,开发等,也会时不时提起。

那么DevOps到底是什么呢,我们看看目前的通用解释?

 

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

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

其实,这个不是什么神秘的东西。首先,这是一种软件产品产生过程中的一种流程和标准;其次,涉及到软件开发团队,运营团队和质量保证团队(我们一般可理解为测试团队),希望通过这个流程和标准,使这几者之间更好协作;让软件产品每个环节的完成能快捷,可靠;最后,目的是为了保证产品顺利,良好的交付。

 

从事过软件程序相关环节的人都知道,最终软件发布是最令人揪心的时段。博主从事开发的经历中,软件发布上至各个老板,下至开发人员都要全身心投入,以待胜利冲刺。对人的体力和精神都是很大考验。广大软件从业人员也是为了产品最终更好交付也是想尽了办法,比如最初的瀑布模型,迭代模型,敏捷开发等等。最后,到了目前的DevOps。

DevOps为什么能降低软件交付的风险呢?

1、减少人为干预,自动化完成

大家可以回忆,在过往的软件从开发到发布过程中。是否有大量的人工操作。比如,开发人员完成功能模块开发后需要交付测试,有的是在本地运行编译,然后把编译后的包交给测试人员,测试人员拷贝至测试服务器上覆盖旧的包,然后测试验证;最后发布的时候,让测试人员将最后一次发布的包,交给发布人员,再拷贝至正式服务器上,覆盖线上的程序。

这个过程中效率低,出错率高,还会出现发布的程序不是最新的测试程序等等。devops则是将这些编译,发布等步骤全部自动化完成。

2、协作高效

devops使用在线报表,共享数据,实时监控等手段,让每个环节的负责人都能快速的了解到当前的步骤和问题。快速定位责任人。

3、少量变更,多次发布

因为是自动化的,测试或者发布过程很快。所以每次有少量变更都可以进行快速发布验证。避免发布内容过多出现问题,导致无法定位错误。

 

devops不是某一个系统能单独完成的,它涉及了一系列的技术和系统来支持。比如,代码管理,构建工具,持续集成,配置管理,容器,服务注册,日志管理,监控,监控,预警,消息队列,微服务,web服务器,数据库,项目管理,需求管理等等。

 

下面通过学习Azure devops来了解整个过程。

教学文档在官网有提供https://azure.microsoft.com/zh-cn/services/devops/

可以进入免费体验,我这里是使用GitHub账号登入的。

接下来我们依次来看azure devops的几个组成部分。

 

 

 

 

 

 

 

 

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐