从业者必读,一篇文章轻松掌握DevOps核心概念和最佳技能实践!

news2024/11/25 12:37:20

文章目录

  • 前言
  • 一. DevOps的定义及由来
  • 二. DevOps的价值
  • 三. devops工具有哪些
    • 3.1 devops工程师的硬实力
    • 3.2 devops工程师的软实力
  • 总结

前言

大家好,又见面了,我是沐风晓月,本文是对DevOps的总结,一篇文章告诉你什么是DevOps. 对很多挂在嘴边的东西不能只停留在知道英文单词怎么写的程度。

如果文章有什么需要改进的地方还请大佬不吝赐教👏👏。

🏠个人主页:我是沐风晓月
🧑个人简介:大家好,我是沐风晓月,双一流院校计算机专业,阿里云社区专家博主😉😉
💕 座右铭: 先努力成长自己,再帮助更多的人 ,一起加油进步🍺🍺🍺
💕欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信😘

一. DevOps的定义及由来

我们先看看维基百科对DevOps 的定义,看不懂也没事,计算机的世界就是这样,每个字都认识,但当我们用一段话深入浅出的方式讲解一个概念的时候,反而看不懂了:

DevOps(开发 Development 与运维 Operations 的组合词)是一种文化、一场运动或实践,强调在自动化软件交付流程及基础设施变更过程中,软件开发人员与其他信息技术(IT)专业人员彼此之间的协作与沟通。

它旨在建立一种文化与环境,使构建、测试、软件发布得以快速、频繁以及更加稳定地进行。

它仿佛在说:
在这里插入图片描述

在这里我们不得不提两个岗位,分别是:开发和运维,以及开发和运维的关系。说到开发和运维的关系又离不开一整套的工作流程,比如我们常说的瀑布式开发模式。

瀑布式开发模式(Waterfall model)是一种经典的软件开发方法,它强调开发过程的线性流程,按照一定的顺序,逐个完成各个阶段的工作,直到整个项目开发完成。瀑布模型通常包括以下阶段:

  • 需求分析阶段:明确需求,定义软件系统的功能和性能等要求。
  • 设计阶段:制定系统的整体设计方案,包括软件架构、模块设计等。
  • 编码阶段:根据设计文档编写程序代码。
  • 测试阶段:对编码完成的程序进行各种测试,如单元测试、集成测试和系统测试等。
  • 运维阶段:部署和维护软件系统,包括系统安装、用户培训、故障处理等。

瀑布模型的优点是工作流程清晰,容易管理和控制,每个阶段的输出是另一个阶段的输入,可以降低沟通成本和风险。

但是它也存在一些缺点, 这套按部就班的流程中需要在项目一开始就定好项目目标,范围及实现方式,而这个时间点是我们对用户和市场环境了解最少的时候,这时候做出的决策,定好的计划,往往会受到市场的影响,很容易导致因为市场和用户需求的变化导致项目范围不断变更,交付时间不断推后。

一个形象的例子是,假设你正在建造一座房子,按照瀑布式开发模式,你需要先完成设计阶段,然后进入建造阶段,最后是验收和交付阶段。

在设计阶段,你和客户沟通,制定房子的规格和设计方案。

在建造阶段,你按照设计图纸进行建造。
在验收和交付阶段,你和客户一起检查房子是否符合设计要求,并将其移交给客户。

这或许是最完美的情况了吧,一旦在建造阶段发现设计有问题,就需要回到设计阶段重新修改,或者在验收阶段发现问题,一夜回到解放前。

基于这个问题,敏捷思想开始流行,它的核心理念是,既然我们无法充分了解用户的真实需求是怎样的,那么不如将一个大的目标不断拆解,把它变成一个个可交付的小目标,然后通过不断迭代,以小步快跑的方式持续开发。

与此同时,将测试工作从研发末端的一个独立环节注入整个开发活动中,对开发交付的内容进行持续验证,保证每次可交付的都是一个可用的功能集合,并且由于质量内建在研发环节中,交付功能的质量也是有保障的。

看上去是不是比瀑布式更完美了,但这能提高团队的开发速度吗? 答案是,不能。 编码速度没有提高。

敏捷之所以更快,根本原因在于持续迭代和验证节省了大量不必要的浪费和返工。

敏捷源于开发实践,让开发和测试团队团结起来,抱团取暖。 但不管开发和测试多么团结友爱,都最终会倒在上线的门槛上。

毕竟无论功能多么强大的应用,无论测试结果多么好,都只是在测试环境,没有最终交付给用户使用。

这时候就有人提出,能不能让运维也参与进来,不要在最后上线的时候出问题, 这时候DevOps思想就应运而生,而最初的devops思想只是为了打破开发和运维之间的对立形态。

对运维团队来说,他们的考核指标是:系统的稳定运行,或者叫核心业务的稳定运维。 可用性是大头,安全性排第二,至于新功能? 不加更好。

开发人员开发的代码不会百分百可用,这就导致稳定运行受到威胁,影响运维绩效的不是服务器,不是正在跑的业务,而是开发要上线的新bug.

这谁受得了,断人财路是不共戴天之仇。

所以上线就变得越来越难,交付也会越来越难。业务服务的稳定性至关重要,如果想要跟开发合作,最好的办法就是不要上线不靠谱的需求。

于是运维人员需要收集线上数据来帮助开发人员,帮助团队做评估决策。

上线变得简单了之后,那安全呢? 于是安全人员也加入进来,各个部门齐心协力,队伍不断壮大,慢慢把devops变成了每个IT人都需要学习的思想。

最后总结一下:

我们说devops是一种文件,那这种文化就是通过平台,流程和人的有机结合,以协作,自动化,精益,可度量,共享文化为指引的合作模式,最终打造可以快速交付,持续改进的现代化IT组织。

二. DevOps的价值

软件最终交付,最需要关注的就是交付质量和交付效率,而影响这两个指标的是:

  • 部署频率
  • 变更前置时间
  • 服务恢复时间
  • 变更失败率

Devops不仅做到了高效率,还实现了高质量。

更重要的是devops最终提升了交付效率,节约了时间,还能让人休息一会,这很大程度上提高了幸福水平。

不是常说: 工作本身不难,难的是那些C淡的人和事, 而devops避免了部分相互扯皮的问题,比如瀑布式流程那种。

三. devops工具有哪些

3.1 devops工程师的硬实力

  1. 代码能力
  • 脚本语言:shell脚本,python编程
  • 高级语言编程能力: java,python,php,ruby,任意一种都可以
  1. 自动化能力
    常用的自动化工具: git, jenkins,gitlab,sonar,ansible,docker ,k8s

  2. 容器云能力
    docker,k8s是云时代必备

  3. 业务和流程能力

企业需要的不仅仅是一个工具,而是工具所关联的一整套解决方案,其中最重要的就是业务流程

3.2 devops工程师的软实力

软实力可能不仅仅是devops工程师必备的,而是打工人必备的:

  1. 沟通能力

能不能找到好工作靠的是沟通,能不能推动工作有所进展,靠的也是沟通能力。

  1. 同理心

  2. 学习能力

没有完美,只有持续不断的学习。

总结

知己知彼方能百战不殆,只有了解的要学的内容,才能制定计划,不迷茫,不焦虑。

💕 好啦,这就是今天要分享给大家的全部内容了,我们下期再见!
💕 博客主页:mufeng.blog.csdn.net
💕 本文由沐风晓月原创,首发于CSDN博客
💕 曾国藩说: 一书未完,不读其他

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/385249.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Windows+CLion+Opencv+NCNN笔记

一、下载protobuf和ncnn在腾讯优图的github上下载ncnn,下载链接为https://github.com/Tencent/ncnn。在安装NCNN之前需要编译安装protobuf,protobuf3.4.0下载链接为https://github.com/google/protobuf/archive/v3.4.0.zip。下载后解压,将ncn…

什么是决策能力?HR人才测评

什么是决策能力?决策能力是一项多种能力的综合,指的是能够认识、理解、并且综合分析后得出判断,从而采取行动的能力。如:对当前形势的分析,对相关人员的判断,能做出合理的,适当的行动来应对。决…

【MyBatis】篇一.

文章目录1、MyBatis概述2、环境搭建1、MyBatis概述 认识: JavaEE开发的一个套件SSM,即: MyBatis是一个持久层的框架,是对JDBC的一个封装,是一个半自动的ORM框架。 ORM即实体类对象和数据库中的数据的一个映射关系&am…

关于Facebook Messenger CRM,这里有你想要知道的一切

关于Facebook Messenger CRM,这里有你想要知道的一切!想把Facebook Messenger与你的CRM整合起来吗?这篇博文是为你准备的! 我们将介绍有关获得Facebook Messenger CRM整合的一切信息。然后,我们将解释为什么你需要像SaleSmartly&a…

Git使用:常用命令汇总

前言 Git对于程序猿来说并不陌生,它是一款非常好用的项目管理工具,无论是前端开发还是后台开发,只要项目里面可以使用Git来管理,就会涉及代码的提交和合并操作,主要是常用的Git操作命令的使用,虽然目前有好…

CA-SSL:用于检测和分割未知类的半监督学习

论文作者 | Lu Qi, Jason Kuen , Zhe Lin, and etal论文来源 | CVPR2022文章解读 | William1、摘要为了提高检测/分割的性能,现有的自监督和半监督方法从未标记的数据中提取任务相关或任务特定的训练标签,但这两种方法对于任务性能都是次优的&#xff0c…

【JeecgBoot-Vue3】第1节 源码下载和环境安装与启动

目录 一. 资料 1. 源码下载 2. 官网启动文档 二、 前端开发环境安装 2.1 开发工具 2.2 前后端代码下载 2.3 前端启动 Step 1:安装nodejs npm Step 2:配置国内镜像(这里选阿里) Step 3:安装yarn Step 4&…

python的 ping 网络状态监测方法(含多IP)

ping 基本概念 ping (Packet Internet Groper)是一种因特网包探索器,用于测试网络连接量的程序。Ping是工作在 TCP/IP网络体系结构中应用层的一个服务命令, 主要是向特定的目的主机发送 ICMP(Internet Control Messag…

九、Bean的循环依赖问题

1 什么是Bean的循环依赖 A对象中有B属性。B对象中有A属性。这就是循环依赖。我依赖你,你也依赖我。 比如:丈夫类Husband,妻子类Wife。Husband中有Wife的引用。Wife中有Husband的引用。 2 singleton下的set注入产生的循环依赖 丈夫类 pac…

RabbitMQ的使用

1.初识MQ1.1.同步和异步通讯微服务间通讯有同步和异步两种方式:同步通讯:就像打电话,需要实时响应。异步通讯:就像发邮件,不需要马上回复。两种方式各有优劣,打电话可以立即得到响应,但是你却不…

Python3,好看的外(shen)表(cai)千篇一律,炫彩的日志万里挑一。

炫彩日志输出1、引言2、代码实战2.1 库介绍2.2 库安装2.3 代码示例2.3.1 demo2.3.2 实战3、总结1、引言 小屌丝:鱼哥, 我今天被炫到了。 小鱼:怎么了,你还能被旋到了? 小屌丝对啊, 被炫到了,很…

python SDK打包

什么是SDK 先放一段专业性的文字来解释: SDK即“软体开发工具包”,一般是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。通俗点是指由第三方服务商提供的实现软件产品某项功能的工具包。 开发者不…

【PyTorch】教程:torch.nn.ELU

torch.nn.ELU CLASS torch.nn.ELU(alpha1.0, inplaceFalse) paper: Fast and Accurate Deep Network Learning by Exponential Linear Units (ELUs). 参数 alpha ([float]) – α\alphaα 默认为1.0inplace ([bool] ) – 内部做, 默认为 False ELU 定义 ELU(x){x,if x>0α…

与流程挖掘布道者熵评科技孙一鸣博士共话流程挖掘市场的起源与前景 | 爱分析访谈

调研:李进宝 陈元新 撰写:李进宝 陈元新 随着数字化转型持续深入,国内企业流程挖掘需求初露端倪。流程挖掘是指通过采集和分析企业数据,以可视化流程图还原企业实际发生的业务流程,进而评估流程运行状况、诊断流程运…

Spring 6 and JUnit 5 组合

Spring 6 and JUnit 5 组合 Spring 6 and JUnit 5 只需引入相关的包&#xff0c;不过偶尔可能会出现 no tests were found&#xff0c;最后有解决方案。 引入相关依赖包 <dependencies><dependency><groupId>jakarta.annotation</groupId><artif…

边界无限入选首届“网络安全高成长性企业”并荣获“勇创之星”

近日&#xff0c;由工业和信息化部、四川省人民政府主办的“2023年中国网络和数据安全产业高峰论坛网络安全产融合作分论坛”在成都举行&#xff0c;论坛上公布了“2022年度网络安全高成长性企业”名单。云原生安全、应用安全“灵动智御”理念创领者北京边界无限科技有限公司&a…

密码算法(SM1、SM2、SM3、SM4、同态加密、密态计算、隐私计算和安全多方计算)

文章目录SM1 对称密码SM2 椭圆曲线公钥密码算法SM3 杂凑算法SM4 对称算法同态加密密态计算和隐私计算安全多方计算技术安全多方计算的应用场景对称加密算法非对称加密算法&#xff08;公钥加密&#xff09;参考文章SM1、SM2、SM3和SM4 为了保障商用密码的安全性&#xff0c;国家…

HTTP#1 请求数据格式和响应数据格式

一. 简介概念Hyper Text Transfer Protocol (HTTP), 超文本传输协议, 规定了浏览器和服务器之间数据传输的规则HTTP协议特点1.基于TCP协议:面向连接&#xff0c;安全2.基于请求-响应模型的:一次请求对应一次响应3. HTTP协议是无状态的协议: 对于事务处理没有记忆能力, 每次请求…

JAVA中公平锁和非公平锁有什么区别?

从公平的角度来说,Java 中的锁总共可分为两类:公平锁和非公平锁。但公平锁和非公平锁有哪些区别? 正文 公平锁:每个线程获取锁的顺序是按照线程访问锁的先后顺序获取的,最前面的线程总是最先获取到锁。非公平锁:每个线程获取锁的顺序是随机的,并不会遵循先来先得的规则…

深眸科技|机器视觉提升制造性能,焕发传统企业智造新活力!

随着机器视觉技术的成熟与发展&#xff0c;其在工业制造中得到越来越广泛的应用。机器视觉在工业制造领域的应用朝着智能识别、智能检测、智能测量以及智能互联的完整智能体系方向发展。此外&#xff0c;快速变化的市场需求&#xff0c;不断涌入行业的竞争对手&#xff0c;让传…