DevOps是什么?只看这篇文章就够了!

这篇具有很好参考价值的文章主要介绍了DevOps是什么?只看这篇文章就够了!。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

作者:沈洲

原文链接:DevOps是什么?只看这篇文章就够了!-云社区-华为云

作为一个热门的概念,DevOps这个名词在程序员社区里频频出现,备受技术大佬们的追捧。甚至网络上有了“南无DevOps”的戏言(南无在梵语的意思是“皈依”),也侧面反映了DevOps的风靡。

DevOps是什么?只看这篇文章就够了!,devops,运维

然而,一旦有人问起什么是DevOps,大部分人就会扯起类似“之乎者也”等玄之又玄的东西,一部分人说它是工具,一部分人说它是平台,一部分人说它是方法,一部分人甚至说它是哲学。所以今天,我就想和小伙伴们好好聊聊这个DevOps。

本文会分为:DevOps是什么?;DevOps发展历程;DevOps与微服务、与容器的关系;华为云CodeArts。

DevOps是什么?

从字面来理解,DevOps一词由单词Development(开发)和Operation(运维)组合而成。因此,很多人认为,DevOps不就是把开发和运维两个团队合并了嘛。

但是,DevOps的实际意义其实远超字面的理解。它相当于是一组过程、方法与系统的统称;通过一系列手段来促进开发(应用程序/软件工程)部门 与 技术运营和质量保障(QA)部门之间的密切沟通、高效协作与整合;通过自动化地软件交付架构变更流程,让规划、开发、构建、测试、发布、部署、维护都能更快、更频繁、更可靠,保障开发结果的稳定可靠。

DevOps可以给团队带来什么呢?技术层面上,DevOps可以促进研发与运维团队的协作;业务层面上,DevOps提供的一致容器镜像,持续集成,持续交付,持续部署,持续测试可以更快地交付客户价值。

DevOps发展历程

最开始,程序还很简单的时候,工作量不大,程序员1个人就可以完成所有开发阶段的工作,也就不需要什么额精细化分工了。

接着,随着软件规模越来越庞大、复杂,程序员也开始了细分:研发、测试、运维。研发人员开发完代码交付给QA团队进行测试,测试完毕之后交给运维团队去部署。这一套“等上一个阶段所有工作完成之后再交付给下一个阶段”的流程也被称之为“瀑布模型(waterfall)”。下图是比较详细的流程分类【需求-设计-开发-测试-部署-维护】:

DevOps是什么?只看这篇文章就够了!,devops,运维

然后,团队发现瀑布模型并不适用于真实的开发环境。为什么呢?因为客户的需求很可能一开始并不明确后面要改动,或则要加上一些新的需求,或则产品中途出现了新的问题,这些都是需要改进的。再加上用户期望团队交付的时间变得越来越少,这时候,笨重工序化流程的瀑布式模型就不适用了。于是,敏捷开发(Agile Development)这个概念就在2000左右开始被关注(而华为则是在2000年左右引入了IPD开发模式,下一段进行讲解),它是一种可以应对需求快速变化的软件开发能力。其实简单来说,就是把大项目变成小项目,把大时间点变成小时间点。简单点来说就是从原先的“设计-开发-测试-部署”模式变为了“设计-开发-测试-开发-测试-开发…-开发-测试-部署”的模式:

DevOps是什么?只看这篇文章就够了!,devops,运维

敏捷开发这种模式可以大幅提高开发的工作效率,让版本的更新变得更快更频繁(可以更快交付给用户,更快得到用户的反馈从而更快的进行响应),风险也变得更小(可以更快发现问题,修复更容易,版本变化小风险也小)。风险对比图:

DevOps是什么?只看这篇文章就够了!,devops,运维

敏捷开发模式既然好处这么多,为何我们还需要推DevOps呢?那是因为敏捷开发模式仅作用于开发阶段。而运维那边依然没有什么改动。但是在我们说DevOps之前,我们先把坑填了。上一段提到的“华为则是在2000年左右引入了IPD开发模式”又是什么呢?Integrated Product Development 集成产品开发,一个基于市场和客户需求驱动的集成产品开发流程管理体系。简单来说就是,将企业的思维从“做出来什么再去卖什么”变成“我们把能卖出去的东西做出来”。这个模式运用成功的企业有IBM、华为。

最后,就是到了我们的DevOps。前面讲到敏捷模式将开发环节的问题解决了,但是开发和运维之间的矛盾则变深了。因为开发和运维天然就有着完全不同的逻辑,开发接了客户的需求肯定要加新功能/新特性,就要做出改变,更不要说在敏捷模式下这改变更多更频繁了;而运维的核心需求则是稳定,不要出问题。DevOps的目标就是让开发人员和运维人员可以好好沟通好好工作,不要掐起来。

在DevOps的模式里,运维和开发是紧密关联的。在项目开发期间,运维人员就会介入到开发过程中来了解技术路线和架构系统,提前制定相对应的运维方案。而在运维的初期,开发人员也会接入到系统部署中来,提供相关的优化建议。理想的情况下,双方的沟通可以增进彼此的理(gan)解(qing)。此时的流程图变为了:

DevOps是什么?只看这篇文章就够了!,devops,运维

DevOps与微服务、容器的关系

DevOps在微服务/云原生时代,为何会这么炙手可热呢?什么是微服务:把整体的服务拆分成一个个小的服务;每个小型的服务可以独立运行在自己的进程中,服务之间互相协调。

容器化则是在硬件资源、操作系统上,将各个应用程序和类划分为不同的“运行环境”(也就是容器),占用资源变得更少,部署速度变得更快。

微服务和容器化,可以说为DevOps提供了很好的前提条件:业务整体变小变多了,开发环境和部署环境互相之间的影响也变小了。这简直就是为DevOps的理念“加快一个需求从规划到上线部署的过程”量身打造嘛。

华为云CodeArts

然而真正想要将DevOps真正落地,不仅仅需要工具和平台,还需要流程的变化思维的转变,以及团队每个人的参与。这不仅考验一家企业的技术,更是其管理水平和企业文化。

华为云软件开发平台CodeArts,是一个集华为研发实践、前沿研发理念、先进研发工具为一体的研发云平台(一站式、全流程、安全可信、开箱即用,预置最佳实践),面向开发者提供研发工具服务,让软件开发简单高效,助力企业质量提升和效率倍增。了解产品请戳【软件开发平台 CodeArts】。

DevOps是什么?只看这篇文章就够了!,devops,运维

客户成功案例

DevOps是什么?只看这篇文章就够了!,devops,运维

行业权威认可

DevOps是什么?只看这篇文章就够了!,devops,运维

如果想体验华为云CodeArts,可以点击【软件开发平台 CodeArts】进行免费体验。文章来源地址https://www.toymoban.com/news/detail-832620.html

到了这里,关于DevOps是什么?只看这篇文章就够了!的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 学java注解,看这一篇文章就够了

    Annotation(注解)是一种标记,使类或接口附加额外信息,帮助编译器和 JVM 完成一些特定功能。 Annotation(注解)也被称为元数据(Metadata)是JDK1.5及以后版本引入的,用于修饰 包、类、接口、字段、方法参数、局部变量 等。 常见的注解如:@Override、@Deprecated和@SuppressWarnings 2.1 使用步

    2024年02月06日
    浏览(46)
  • tmux 使用看这一篇文章就够了

    tmux是一个终端复用工具,允许用户在一个终端会话中同时管理多个终端窗口,提高了终端使用效率,尤其在服务器上进行远程管理时更加实用。在tmux中,可以创建多个终端窗口和窗格,并在这些窗口和窗格之间自由切换,还可以在后台运行会话,即使在终端断开连接后也可

    2024年02月02日
    浏览(58)
  • 关于电脑屏幕亮度的调整,看这篇文章就够了

    你可能需要定期更改屏幕亮度。当外面很亮的时候,你想把它调大,这样你就能看到。当你在黑暗的房间里时,你会希望它变暗,这样就不会伤害你的眼睛。降低屏幕亮度也有助于节省电力并延长笔记本电脑的电池寿命。 除了手动更改屏幕亮度外,Windows还可以通过多种方式

    2024年01月16日
    浏览(45)
  • 初级面试问到rabbitMQ,看这一篇文章就够了!

    一、rabbitMQ的基础要点回顾 1.使用场景 1) 解耦: 使用消息队列避免模块间的直接调用。将所需共享的数据放在消息队列中,对于新增的业务模块,只要对该类消息感兴趣就可以订阅该消息,对原有系统无影响,降低了各个模块的耦合度,提供系统的扩展性。 2) 异步: 消息

    2024年02月04日
    浏览(51)
  • 交换机如何隔离广播域?(看这篇文章就够了)

         交换机可以隔离冲突域但是不能隔离广播域,当主机数目较多时会导致安全隐患、广播泛滥、性能显著下降甚至造成网络不可用。在这种情况下出现了VLAN (虚拟局域网,Virtual Local Area Network)技术解决以上问题。       如图是一个典型的交换网络,网络中只有终端计算

    2024年02月10日
    浏览(49)
  • 干货|工作中要使用Git,看这篇文章就够了

    本文将从 Git 入门到进阶、由浅入深,从常用命令、分支管理、提交规范、vim 基本操作、进阶命令、冲突预防、冲突处理等多方面展开,足以轻松应对工作中遇到的各种疑难杂症,如果觉得有所帮助,还望看官高抬贵手给个赞呗,感谢! 虽说现在工作中使用 Git 都会用一些图

    2023年04月25日
    浏览(36)
  • 关于HDMI如何连接显示器,看这篇文章就够了

    使用HDMI(高清多媒体接口)电缆将显示器连接到计算机,可以提供一种简单方便的方式来增强你的观看体验。HDMI是一种广泛使用的数字视频和音频接口,可实现视频和音频信号的高质量未压缩传输。使用HDMI,你可以在显示器上享受令人惊叹的视觉效果和水晶般清晰的声音,

    2024年02月01日
    浏览(93)
  • 27、BGP与OSPF有啥区别?看这篇文章就够了

    今天跟大家聊聊BGP与OSPF。 BGP和OSPF是两种最常见的路由协议,BGP在大型网络中具有动态路由优势,而OSPF具有更高效的路径选择和收敛速度。 边界网关协议(Border Gateway Protocol,简称BGP)和开放最短路径优先协议(Open Shortest Path First,简称OSPF)是世界上最流行的两种基于标准的动态

    2024年02月10日
    浏览(37)
  • 何为 Vue3 组件标注 TS 类型,看这篇文章就够了!

    要说今年最热门的前端技术,Vue3 和 TS 绝对榜上有名了。今天就给大家分享一下如何在 Vue3 组件中结合 Composition-Api 使用 TS 类型。如果有不会或者不熟的小伙伴,一起学起来吧! 使用 script setup 当使用 script setup 时, defineProps() 宏函数支持从它的参数中推导类型: 这被称为

    2023年04月08日
    浏览(34)
  • 【Java】学JDBC看这篇文章就够了—JDBC保姆级教程

    目录 一、JDBC概述 基本介绍 JDBC相关API 二、连接mysql数据库 准备工作 JDBC程序编写步骤 五种连接数据库的方式  三、ResultSet(结果集) 基本介绍 四、Statement 和 PreparedStatement Statement PreparedStatement  五、事务 基本介绍 六、批处理 基本介绍 七、数据库连接池 传统获取Connectio

    2023年04月24日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包