我是“ Devops工程师”,所以我总是遇到某人问我:“什么是Devops?”
这个问题似乎是特别基础的,基础是如此懒惰。也许每个DevOps工程师都知道“什么是DevOps”,但是他们给出的答案不同。
那我会回答什么?让我们在下面谈论它。
特别重点:本文仅代表我当前阶段的表面认知。本文的观点并不代表Devstream团队。
我第一次看到DevOps这个词可能是在2016年秋天。在那个时候,我从事H3C中的云计算与开发相关工作。我记得我收到的第一个任务是研究CICD相关的组件OpenStack,称为Solum。这是我第一次知道CICD是什么。我第一次看到devops这个词。这是对的,只需看到devops,但我不记得devops的定义。当时,许多人,像我一样,对Devops有印象。
2018年夏天,我开始了太极拳小组的负责人,并同时担任太极拳CMO(配置管理办公室)的位置。这是正确的,我仍然是“云平台研发工程师”,但再次与DevOps.taibaoyun的CMO仅负责源代码管理,研发协作过程,版本管理,CICD,产品管理,产品管理版本等。研究一些与DevOps相关的工具,例如Gitlab,Jenkins,Zen Road,Artifactory,Nexus等;受到鼓励的,什么样的东西……但是我只是制定了规则,并没有意识到它是“文化”简而言之,在过去的几年中,我可以被视为专门用于Devops,我致力于提高团队的研发效率,交付效率和交付质量,但与此同时,我还没有仔细考虑过“什么是DevOps?”您在玩DevOps吗?
去年年底(2021年),我加入了思想。我的标题第一次从“ XXX云平台研发工程师”更改为“ XXX DevOps Engineer”(XXX表示主要,中级,高级等)。那天我开玩笑说:“之前,我播放了DevOps part -time -time在云领域;之后,我在DevOps领域中发挥了作用。”
好吧,这将是“ XXX DevOps工程师”,我一直都知道“什么是Devops”!
让我们看一下一些典型的公司如何在他们眼中定义Devops,包括:
Atlassion有一篇名为DevOps的文章,其中包含这样的句子:
让我尝试翻译:DevOps是一个系列,是开发和IT团队的组合。Devops强调授权团队,交叉沟通和协作以及技术自动化。
您可以看到Atlassian给出的平等公式是:
DevOps =工具 +实践 +文化
Atlassian还提到DevOps团队包括开发以及IT操作和维护。每个人都一起合作参加产品的整个生命周期,并共同努力提高软件和加速软件开发的质量。DevOps模型中的开发,操作和维护不再是独立的“管仓库”,但几乎是集成到团队中。团队的工程师技术堆栈将涵盖开发,测试,操作和维护。在同一时间,DevOps团队将使用一系列DevOps工具链来实现连续集成,连续释放,过程自动化,高效协作等的目的在。
Atlassion给出的“无限戒指”:
“无限戒指”代表DevOps的生命周期,因为DevOps的基本概念是“连续的”,也就是说,“无终点”。
此外,我们还可以看到,Atlassian希望强调沟通和协作在整个DevOps的生命周期过程中运行。
微软的Intopique是DevOps的基础支柱:文化和精益产品,我特别喜欢它!此标题是“ DevOps Base Pillars的介绍:文化和精益产品”。
本文的第一句话:
DevOps是人,过程和产品的结合,可以使我们的最终用户不断地交付价值。
DevOps是人员,流程和产品的组合,因此它可以继续为最终用户提供价值。
微软也提到:
在大多数情况下,开发的目标是快速发布更多的新功能,操作和维护的目标是确保更高的系统可用性。Devops通过实用且可行的最佳实践系统将这两个目标拉动,同时提高了稳定性系统的同时加速产品向市场的交付。
在这里,Microsoft可以看到Microsoft给出的第一个方程:
DevOps = Person + Process +产品
然后,微软进一步完善了从“ People + Process + Products”中的DevOps的4个主要基础柱:文化,精益产品,建筑和技术。
即:人类 +过程 +产品 - >文化,精益产品,建筑 +技术
Microsoft给出的“无限戒指”:这是:
图片中描述的生命周期分为6个阶段,即:
在整个DevOps生命周期中“协作”。
在图片之外,微软还定义了DevOps的8个功能:
每次在这里看到时,我总是觉得Microsoft的图片应该更新。
此外,Microsoft在-Depth摘要中特别有一个:
什么是新的?连续的一切。该过程是一段旅程,需要增长的心态才能不断发展和改进。
“连续的一切”,强大!Microsoft强调,DevOps过程是一段没有结束的旅程。它要求我们保持增长的概念模型,继续改善并从不满足。
猜测并不难,AWS也有一篇文章可以回答“什么是DevOps?”
DevOps是文化哲学,实践和工具的结合,可在高速速度下增加组织有关服务应用程序和服务的结合。
DevOps是文化概念,实践和工具的结合,可以提高快速为组织提供应用程序和服务的能力。
在这里,AWS给了一个课:
DevOps =文化 +实践 +工具
但是,在本文中,AWS不是陈词滥调,也不是他自己的“无限戒指”,而是给出这样的照片:
这里提到:
您还可以看到,此“交付渠道”和“反馈戒指”已连接到“企业”和“客户”。可以看出,AWS希望强调“ DevOps的目的是更快地交付给客户”。
我曾经认为Devops想要解决的问题只是一个工具问题,即如何选择或开发开发良好的DevOps工具或平台,从而提高了企业内整个R&D周期的运营效率。我不记得哪一天,我突然有一个强烈的主意:工具只是一种工具,文化建设是成功或失败的关键!
文化决定了我们如何做事,并确定工具。什么是确定的?也许什么也无法决定。因为我认为工具也是由文化决定的。
简而言之,文化是组织的社会遗产,即组织成员各种行为的响应方式。
例如,当我们说企业具有“加班文化”时,实际上说在这家企业中,员工将在没有加时赛的情况下加班而受到惩罚。或者我们说公司是“狼文化”,“斗争文化” ...相应的响应是公司不同员工行为的相应响应模式。
企业的文化在此企业中确定:
因此,文化确定公司将招募谁,将被开除以及将被提升的人。
看到这一点,您可能一直在思考您与员工在一起的公司,什么是令人鼓舞的,什么是惩罚...是的,此刻,您脑海中闪烁的场景是企业文化。
每个人绝对对这张照片并不陌生:
什么是Devops文化?
实际上,我们可以从这张图片中看到文化的阴影。我们都知道,DevOps强调了开发团队以及运营和维护团队发展的障碍,并要求两支团队能够拉动认知和责任感,并且不再为自己而战。取而代之的是,他们努力工作以更快地提供更高的产品。这是最基本的DevOps文化。
那么如何提高认知和责任?
首先,可以确认我们与组织结构中的开发人员和OPS团队直接整合在一起,这不是DevOps团队。一个人坐在一起并仅改变交流的效率。我想强调两点这里:
开发人员和行动在彼此之间学习技能。每个人都了解开发,运营和维护,拥有“增长的概念”,持续学习,并且不满足当前的技术堆栈。
但是,我们还需要意识到,不可能熟练地熟练的每个工程师的开发,运营和维护。此处提到的开发人员具有掌握操作的能力,而且更多的是,开发人员可以使用完美的工具链来掌握”应用程序和维护”。在完成问题之后,您可以直接负责它,定位,维修,更新和升级。需要独立考虑某些基础架构的操作和维护功能,例如计算机室中的本地网络配置,虚拟机悬挂NAS磁盘以及其他传统操作和维护功能。
以同样的方式,OPS需要了解应用程序开发的生命周期,了解开发人员的疼痛点,尤其是在过程中的疼痛点,例如如何提高应用程序的构建速度,如何优化CD流程OPS的应用程序等。OPS应注意应用程序的“生产过程”。交付。换句话说,我们不需要OPS编写业务代码,而是为了协助开发人员解决业务代码之外的痛点,以便开发人员可以更多地专注于业务功能实施。
最后,DevOps模式组件团队中的每个人都负责整个软件研发生命周期的速度和质量。每个特定的角色都像一个大头指甲,底部宽阔,代表了广泛的技术术语。注意整个软件研发生活的生活。周期中的所有链接;同时,顶部很高,专注于某个链接,并做得很好。
DevOps成功着陆的关键是什么?
我们之前提到的场景希望开发人员和行动能够互相学习,分担责任,并努力工作以更快,更好地提供产品。但是工程师为什么要这样做?他们的动机在哪里?
加特纳(Gartner)有一份分析报告,表明在2023年,90%的DEVOPS改革将失败(与预期相比)。失败的主要原因是领导管理方法的局限性。
实际上,这很明显。DevOps可以称为“改革”,许多人对“变化”和“新事物”具有抵抗力。时间维度。但是也许您只是遇到“失败惩罚”领导者,然后您的团队会害怕失败,以便放弃创建和尝试新技术,并选择在现状中解决。
技术团队的领导者首先需要了解技术并拥有丰富的经验。这是基本要求。但是,除此之外,更重要的是,团队领导者可以激励整个团队发挥整个团队的主观主动性,以便所有团队成员都可以继续学习,快速学习,学习和同样时间敢于失败。失败,将失败作为学习的机会,然后不断成长,以使整个团队的战斗效率变得越来越强大。
那么如何激励工程师呢?
福利?例如,大型工厂或常规下午茶提供的免费小吃?免费咖啡还是午餐?
是的,作为一名工程师,所有这些好处都会使他们感到高兴,但实际上,他们无法激发他们努力工作。工程师的工资水平通常不低。无论是所有这些小吃还是咖啡,其每月薪水的概率都不会为零。以相同的方式,当工程师寻找工作时,他们将永远不会重视公司是否提供免费的午餐和下午茶。
那么工程师价值什么?
选择公司时,工程师可能会考虑薪水的第一件事,其余的可能是增长的空间,无论工作内容感兴趣,等等。工作?我认为可能是:
让我们一一解释。
1.熟练
我们在某个工作方向上做得很好。我们擅长于某个技术方向,然后完成相应的工作。目前,我们将有一种成就感和满足感。我们会感到自己很方便。有可能他会感到灵感。
什么是柜台?因此,他必须使整个团队使用PHP。在这个时间里,您决心要取得一些成就?
2.自动驱动
我们希望组成一个学习和创造力的团队,每个人都可以继续成长,创新和开车。这要求领导者让团队花时间学习,输入而不是盲目输出,并报告它写几行每次代码。在同一时间,这也要求领导者勇敢接受新事物并接受变化,而不是“不想拥有功绩,但无所作为。”例如:如果您的领导者最担心在网上申请事故,他认为稳定的第一个要素不是引入新技术,新工具,那么您的领导者将不在乎您是否有时间您有时间。学习将不允许您花时间学习新技术,因为所有这一切只会带来不稳定。如果领导者害怕失控并拒绝创新,那么此类团队成员只能对日复一日的常规需求开发的发展感到满意,而无需享受技术,F驱动器,并接受创新。
3.目标
显然,团队中的每个成员都需要知道他们为什么这样做?目的是什么?目标是什么?而不是领导者的心脏,而是心脏中有一个目标,然后只需命令团队成员完成特定的分散工作项目。如果团队成员只知道他们今天需要完成交易,而交易B明天将完成,我不知道为什么,最后该怎么办,那么每个人都只会是对任务的满意,而没有动力追求更好。“
那么什么是DevOps?
我试图给我答案:
DevOps是文化概念,工具和实践的结合,目的是继续向用户提供价值,更加可靠。其中最重要的是文化。文化需要开发和行动团队的责任。目标是一致的。他们还要求整个团队继续学习并保持成长的心态。不断地,第二次,DevOps与有效的工具集密不可分,工具是自动化的基础。在本文中,我们必须在各个方面都采取最佳实践,无论是使用工具,团队的协作模式,以及交流模式,以及方法。
最后,标题“什么是DevOps?足以阅读本文!”,我想告诉您,DevOps文化中没有足够的“足够”,所以我必须承认我撒谎。我目前的阶段。我建议您检查更多信息,继续学习,并且永远不会满足。当然,如果本文对您有所帮助,那么我会感到满意。