什么是DevOps?这种快速增长的方法的初学者指南

任何关注科技行业的人都可能多次看到过“DevOps”这个词。随着各家公司争相采用这种方法,这种流行词汇式的方法以令人眼花缭乱的速度在科技行业蔓延开来。
如果您正试图赶上所有的宣传和兴奋,您可能有一些问题需要回答:什么是DevOps?它和技术有什么关系?为什么它似乎在每个大公司的雷达上?
如果您需要更多关于DevOps含义的说明,请继续阅读!我们将阐明一些基础知识,以帮助您理解这种炒作。
什么是DevOps?
了解DevOps的第一件事是,它最初是作为一种重新组织创建和发布软件过程的方法。在DevOps出现之前,开发软件的公司可能有一个开发团队和一个独立的IT或运营团队。据介绍,这两个小组分开工作,通常在不同的领导下,有着不同的目标,甚至是相互竞争的目标和评价标准Atlassian.1
可以想象,这通常会导致问题——有时是重大问题。开发和IT领域的专业人士对冗余的沟通问题、不必要的冲突和低效的时间安排感到沮丧,这些问题仍然产生了有问题的、有bug的软件。根据Atlassian的说法,团队最初开始在在线论坛上进行头脑风暴,寻找更好的方法。从那里,思想领袖自然地出现了,DevOps的概念诞生了!
DevOps是一个把“开发”和“运营”混在一起的术语,它把软件开发和运营完全混在了一起团队在一起。DevOps团队不是在一个很长的时间轴上工作,某些团队把他们的工作像接力棒一样传递给下一个团队,而是统一地工作,不断地计划、执行任务、监控和循环进行质量检查。
为什么DevOps如此受欢迎?
软件开发中的DevOps方法旨在提高效率和质量,同时允许更快、更可伸缩的工作流。跨学科的性质确实意味着专业人员必须在软件生命周期的各个阶段花费更多的时间开会、协作和工作。然而,从长远来看,这种积极的投资可以节省大量的时间。
Atlassian的2020年DevOps调查报告称,在500名受访者中,61%的人通过DevOps体验到了更高质量的交付成果。2集成技术质量保证分析员进入项目生命周期意味着他们可以标记和处理小错误,以免它们像滚雪球一样变成更大的问题。
另一个重要因素是速度。大公司现在发布数百个软件部署每一天。DevOps允许软件过程持续循环,因此安全补丁、补丁、更新和新版本都可以纳入必要专业人员的日常工作流程。
DevOps的缺点是什么?
DevOps如果做得好,几乎没有什么缺点。但是,许多公司很难对DevOps所要求的传统结构进行密集的改变。你不能只是雇佣一些DevOps人员,组建一个DevOps团队,然后就完事了。这个过程需要训练,大量的承诺和经常完成公司经营结构调整.
在Atlassian的调查中,99%的受访者认为DevOps对他们的公司产生了积极的影响,但85%的人也面临着实施该过程的主要障碍。2超过一半的障碍与组织在改变其框架、规范和基础设施方面的艰难调整有关。2
寻找具备合适技能的员工也可能具有挑战性.考虑到开发和运营团队以前的孤立性质,学科之间可能存在知识鸿沟,这可能是具有挑战性的桥梁。虽然技术专业人士正在调整他们的技能以更好地适应这种方法,但这是一个学习曲线。
DevOps的支柱是什么?
虽然没有统一的定义,但行业领袖们概述了三个来九个DevOps使用、领导和最佳实践的支柱。但如果你深入研究一些DevOps,你可能会遇到协作(或跨学科工作)、自动化、质量保证(QA)、云计算和度量的原则。
这五个因素在DevOps哲学中相当一致地出现,因为它们解决了软件开发生命周期中的一些基本问题。平台工程公司德勤解释了一些DevOps的基础知识:3.
协作
协作体现了这样一种思想:开发人员和运维专业人员,实际上是任何致力于构建、测试或发布软件的人,都应该一起工作,参加相同的会议,在相同的领导结构下工作。
自动化
在软件开发中有很多事情需要注意。弄清楚如何自动化任何平凡的、可重复的任务,以减少人为错误,并为员工节省时间,让他们专注于只有他们能做的工作。
云计算
DevOps不必涉及云计算,但它们在一起工作真的很好。当你想到在这些工作流程中发生的持续协作过程时,给团队增加现场服务器的负担,要求他们下载文件、发送、重新下载、发回等等,就没有多大意义了。在云中工作允许实时协作,这是DevOps蓬勃发展的基础。
看看云计算好处的初学者指南要了解更多关于它如何工作的信息。
监控和质量保证
不要等到形象化的草稿完成后才开始寻找问题。让校对人员、bug捕捉者和测试人员立即参与到计划阶段,并让他们全程参与,以帮助开发和部署过程尽可能平稳地运行。
指标
假设您可以像不断改进软件一样改进自己的工作流程、团队和客户交互。收集有用的数据,不断评估消费者满意度、团队士气、时间表和绩效的各个方面,以确定需要改进的地方。
谁在DevOps工作?
鉴于这种方法位于许多成熟的IT规程的交叉点,您将发现一些适合DevOps的角色。有软件开发人员和工程师,质量保证分析师,系统管理员和一群拥有专业技能的人模糊了他们之间的界限。
有兴趣更多地了解软件开发生命周期中的一些关键角色吗?我们的文章”软件开发人员做什么?深入了解职业生涯和"QA分析师做什么?测试这个科技职业这将有助于奠定基础。
1Ian Buchanan,《DevOps的历史》。[2021年10月访问]https://www.atlassian.com/devops/what-is-devops/history-of-devops
2Atlassian & CITE Research,“2020年Atlassian DevOps趋势调查”[访问2021年10月]https://www.atlassian.com/whitepapers/devops-survey-2020
3.Dylan Lerch,“成功DevOps战略的6个关键支柱”德勤。2018年8月7日。[2021年10月访问]https://platform.deloitte.com.au/articles/6-key-pillars-of-a-successful-devops-strategy
