DevOps作为一种IT方法论和文化,至今已有10年的历史,但许多IT人士仍然感到它很新鲜并且充满挑战。这是因为DevOps的方法,工具和文化原则在不断的变化和改进。 “ DevOps是一个过程,是一种算法,” Datical的CTO Robert Reeves最近这样告诉我们,“其全部目的是随着时间而变化和发展的。”
如何才能跟上变化并持续从DevOps从业人员那里学到最新经验? 我们为IT领导者准备的DevOps指南,提供了持续不断的最新和最佳信息,因此您只需要在这里便可以深入探究。 让我们深入研究来自DevOps专家和顶级CIO的专家建议与分析。
为什么DEVOPS在企业IT中很受欢迎?
由于某些重要原因,DevOps不断在企业IT中赢得粉丝。这种工作方法对速度,实验和协作实行奖励,这些都发生在跨职能团队中。它打破了在IT内部组织中开发和运维团队之间的传统壁垒,加快了软件发布的节奏。
所有这些因素都适合当前的业务目标:业务转型。它可以快速更改以满足客户需求或新的竞争形势。加快步伐,使制造业公司能表现得像一个初创公司,而不必像官僚机构那样。实验与创新-这些目标是数字化转型的核心, 是目前许多CEO的首要任务。
在过去的几年中,当公司安排小型,灵活的开发人员团队,去解决特定的业务问题并将他们从传统的组织规则中解放出来,DevOps便推动了企业的成功。这种工作方式重塑了许多行业中企业IT的工作方式(以及关键业务流程),如Vanguard,Target和Macquarie Bank等。 (有关更多信息,请参见麦格理银行的案例研究。)
对于先锋CIO约翰•马坎特(John Marcante)而言,DevOps在他的团队共同目标中扮演着至关重要的角色:即使作为全球金融服务巨头,也要“以创业公司的速度交付业务价值”。他说,他的团队“正在拥抱DevOps原则,以便减少从代码提交到我们的版本管理系统到产品功能对客户可用的时间。”
为了最大限度地提高速度,他的团队依赖于将敏捷云基础设施、微服务方法、自动化和新测试方法结合使用的DevOps方法。(有关其团队方法的更多详细信息,请参阅我们的相关文章,提高美国先锋 IT速度和创新的转换模型。)
数据点:据弗雷斯特称(Forrester Research), 2018年是企业DevOps年,50%的组织正在实施DevOps,另有27%的组织计划在未来12个月内实施DevOps。资料来源:Forrester的2017年第一季度全球DevOps基准在线调查。
DEVOPS最佳实践:是什么造就了一支出色的团队?
优秀的DevOps商店具有三个特点:速度、协作和自动化(因为将日常工作自动化,可以使人们腾出更多精力,来处理更具挑战性的问题)。
你还将看到对文化的高度关注:DevOps的工作风格——快速且跨越组织边界——要求人们成为可变的角色,并将失败作为学习经验来接受。
当然,DevOps不仅仅是速度。 真正出色的DevOps商店将成功与业务成果联系在一起。 红帽公司(Redhat)的Matt Micene说:“ DevOps不是简单地加快速度,而是更快地交付价值。” 他经常撰写和演讲DevOps文化。 (请参阅我们的相关文章DevOps 工作:如何识别一家出色的DevOps商店.)
是否应该有专门的“ DevOps团队”? 这个问题在DevOps社区引起了极大的争议。 有人说是。 有些人甚至主张创建DevOps卓越中心。
还有人说DevOps是一种必须跨越整个IT团队的工作方式,而DevOps团队是不成熟的DevOps组织的标志。 有关更多指导和双方的意见,请参阅:DevOps的经验教训:给IT领导者的建议。
DEVOPS 如果改变IT领导力?
DevOps不仅会改变IT领导者运行软件项目的方式。 正如美国公民及移民服务部前CIOMark Schwartz写道,“毫无疑问:DevOps代表了一种不同的IT思维模式,并且需要不同的领导模式,”。
他说,DevOps改变了IT领导力的基本原则,例如如何看待需求,治理和风险。“认为IT只负责“交付”业务部门所希望的或所需要的想法已经过时了。”他说,“相反,CIO必须为推动公司取得成果而加快速度并且勇于承担责任。”
你应该准备好离开你的舒适区一段时间。“混合或共同的责任,无可指责的事后调查,速度与稳定性的概念经常与你所学的领导IT的原则背道而驰,” 红帽(Red Hat)的产品策略总监Brian Gracely在我们的相关文章中写道 ,7种高效DevOps习惯。
甚至向团队明确地说明DevOps的目标也很困难。 “你意识到快速交付软件的能力(通过新功能,新产品和新的市场路线)将对业务的未来带来极大的影响,但是你却很难找到一种语言或框架与团队(和同行)进行交流,讨论如何实现DevOps和这些结果。” 请参阅Gracely的文章以获取有关交流的实用建议。
DEVOPS 面临的首要挑战是什么?
与IT经理们交谈后,一个事实很快变得清晰起来:DevOps最困难的部分是相关的文化变革。 你正在打破已经存在多年的边界,重新分配控制权,并挑战专业知识的概念。 对于IT人员,这意味着痛苦和压力 。
其他主要挑战包括中层管理人员,他们经常为变革设置严峻的障碍,并应对在许多IT组织中存在的大量技术债务。
正如红帽公司(Red Hat)的CIO Mike Kelly指出:“随着团队变得更具包容性和协作性,领导者必须转变战略和战术,来利用这种新型工作方式所产生的能量。 他们需要完善自己的方法,吸引多方参加对话,并确保每个人的声音都能被听到。 他们需要提高自己的能力,将团队正在做的工作与组织的价值观,目的和目标联系起来,以确保部门中的每个人都明白,组织的价值观是比自己(和自我)更重要的事情中的一部分。 ”
许多公司在针对特定问题的DevOps项目中获得成功,但后来却难以在整个组织范围内扩展DevOps。 Target的CIO Mike McNamara说,巧妙的启动是关键:“ Target流程的重要组成部分是创建一个加速学习环境,我们的团队称为‘道场‘”,他说。
“这是一个沉浸式的,为期六周的课程。团队在现场与敏捷教练一起正常工作,敏捷教练支持他们,并提供从DevOps的角度看所需的一切。 “道场”表现出色,使团队参与敏捷和DevOps,消除面临改变的自然阻力和恐惧,然后为团队经历变革提供支持,同时保持生产力。 对于Target而言,这是巨大的成功。 在前进的过程中,我们将继续使用“道场”来完善,增强我们的工程能力。” (请参阅我们的相关文章,Target CIO阐述DevOps如何扎根。)
数据点:DevOps团队需要变革型领导者:变革型领导者最少的团队,绩效较高的可能性为1⁄2。资料来源:DORA 2017 DevOps状况报告。
如何处理DEVOPS文化变革?
正如Matson的CIO Peter Weis所指出的,任何转型中最苦恼的是人的部分。只要诚实和透明,并得到业务领导层的明确支持,你就可以培育出文化变革。但这需要极大的耐心,Ellucian的CIO Lee Congdon说,这需要极大的耐心,或许还需要共同的主人翁意识–他认为这也是他的团队文化变革的关键。
你可能也需要重新考虑头衔和奖励。“如果你需要实验性和速度,你需要改变衡量领导者的方式,改变他们报告进展情况的方式和频率,“CI&T公司总裁兼联合创始人Bruno Guicardi说。“如果你衡量成功的方式要求的是可预测性(Mary必须在Y日期前交付项目X),那么你既得不到速度,也得不到实验性。”
一些CIO,如Adobe CIO Cynthia Stoddard等人说,新的物理环境可以鼓励协作,而Ellucian的Congdon也强调了沟通工具的价值,如Slack。
最重要的是,你需要每个人的支持,才能让DevOps文化的变革成功,作为Datawire的联合创始人之一的Richard Li说。你需要一种有活力的、自下而上的方法。
Li建议你从小事做起,用DevOps的工作风格来解决具体的、切实的问题。“也许是一个工程师被召唤太频繁了,“他说。“也许是一个工程师想让数据库在巨大的负载下更有弹性。经理们,问问你的工程师们最烦人或最痛苦的问题是什么:你通常会得到满耳的答复。就从那里开始吧。”
你还想创建论坛,分享团队的成功经验,鼓励工程师们与组织外的其他DevOps专家进行交流。更多的建议,请看Li的文章《培育DevOps文化的5种方法》。
DEVOPS度量:如何衡量成功?
最好的DevOps团队用冷硬的数字来展示他们的成功–与业务目标一致。“完全有可能有这样一个团队,它高效地生产出软件,但没有为企业增加真正的价值,“美国国土安全部CTO Michael Hermus最近写道。出于这个原因,他的团队正在追求一套衡量标准,其中将包括威胁检测的准确性等措施,这对他的团队来说是关键。
事实上,许多团队在开始DevOps度量工作时,都会通过收集效率和速度措施的数据,如正常运行时间、每秒事务处理量、修复的Bug等,来开始DevOps的度量工作。Red Hat技术布道师Gordon Haff说:但这并不能让它们成为度量。同时他指出"度量被正确地认为是数据的一个关键“绩效”KPI指标–一个以某种基本方式对你来说很重要的度量”。
他说:“寻求为你的组织确定不超过10个这样的指标,最好是更少。除了你可以从计算机系统中收集到的更明显的运营和发展数据外,还可以考虑那些能够发现更广泛的组织或流程健康问题的指标。”
例如,您的企业可能正在寻求提升客户体验和运营效率。对于客户体验,像Net Promoter Score这样的指标可能是合适的。客户订单量(作为整体客户满意度的指标)和开发人员工作满意度评分(考虑到吸引和留住DevOps明星的难度)是另外两个需要考虑的评分。更多建议,请参阅我们的相关文章《DevOps指标:你衡量的是重要的因素吗?》。
DEVOPS是否意味着你不需要项目经理?
简而言之:不,DevOps的讨论往往集中在开发人员和运营团队上,但项目经理在DevOps时代会生存下来,并经历巨大的变革。
正如我们最近的文章《如何重新思考DevOps的项目管理》中指出的那样。“DevOps从根本上改变了IT团队如何对待项目的方式,从单一的、多月(或在某些情况下是多年)的项目转移到追求软件开发生命周期中更快、更敏捷的速度和敏捷性。这对项目经理来说意味着改变。但不要搞错了,项目经理在DevOps时代仍然可以发挥出价值。”
“传统上,项目管理更多的是单一化和瀑布式的方法驱动,“CYBRIC联合创始人兼首席技术官Mike Kail说。“随着DevOps转型,PMO功能需要采取’微服务’的方式,由于子项目较小,所以能够实现更高的速度。”
“随着交付速度的提高,依赖性的重视也随之增加,“Janeiro Digital的技术架构师Josh Collins说。 “现在,从上游团队集成一些东西,或者从利益相关者那里得到一个完整的需求,部署之间的间隔时间更少了。” 他说,Scrum方法论和看板等工具可以在这里有所帮助。更多内容,请参阅《如何重新思考DevOps的项目管理》。
DEVOPS安全性:如何避免风险?
当然,在引入速度的同时,DevOps团队必须避免引入不必要的安全风险。因此,企业IT越来越重视 “DevSecOps”,团队将安全构建到整个软件开发生命周期中–从早期开始,就已经开始了。
“DevSecOps不仅仅是工具,它是在早期就将安全思维融入到开发实践中,“Sonatype公司副总裁、DevOps倡导者Derek Weeks说。
Red Hat安全策略师Kirsten Newcomer表示,这引入了另一个文化挑战。
“安全团队在历史上一直与开发团队隔绝–每个团队都在不同的IT领域发展了深厚的专业知识,“Newcomer说。“它不需要这样。深切关注安全的企业,同时也非常关注通过软件快速交付业务价值的能力,他们正在寻找在应用开发生命周期中将安全性左移的方法。他们正在通过将安全实践、工具化和自动化整合到整个CI/CD流水线中,从而采用DevSecOps。”
“为了做好这一点,他们正在整合他们的团队–安全专业人员与应用开发团队从开始(设计)到生产部署的过程中,都会融入到到应用开发团队中。“她说。“双方都看到了价值–每个团队都扩大了他们的技能集和知识库,使他们成为更有价值的技术专家。做得好的DevOps–或者说DevSecOps–提高了IT安全。”
关于如何击败文化冲突和加强安全的详细建议,还可以查看我们的相关文章《DevOps与安全:结束文化冲突的4个步骤》,作者是DigiCert的CTO Dan Timpson。
DEVOPS发展趋势:接下来会发生什么?
DevOps在企业中的发展方向如何?最近,我们与DevOps leaders讨论获得以下几个方面趋向
首先,企业将DevOps与云服务(按需使用计算和存储能力),容器和微服务结合使用。
“容器,DevOps和微服务可以组合在一起,以帮助CIO实现敏捷目标.” Red Hat副总裁兼OpenShift总经理Ashesh Badani 表示:” 简而言之,容器将应用程序打包成一个个分离的程序包,与运行的操作系统相互隔离。在DevOps基础组成部分,开发人员更容易切换的开发环境。容器更快地协助你将代码部署到生产环境中。” (有关更多信息,请参见相关文章《4种容器采用模式。你需要知道的是什么》)
因此,团队需要了解容器、微服务和云服务之间日益增长的相互依赖关系-这种组合可以帮助DevOps专业人士进行安全、快速的验证和运行。DevOps团队将需要管理和扩展微服务框架,诸如Kubernetes之类的编排工具,获得赢得他们青睐。
其次,您可预期DevOps的工作方式会从开发、运维和安全延伸到DB团队(数据库团队),QA(质量团队),甚至IT领域外的团队。
“DevOps首要做的一件事:识别摩擦点并解决它们,” 达蒂埃里夫斯表示。“对于已采用DevOps的公司来说,安全和数据是当前最大的瓶颈。”
此外,还要寻找投资回报率的衡量标准和成功指标,以谋求更好地发展。 “我相信DevOps文化的两个核心原则:自动化和度量永无止境。” CYBRIC公司的首席技术官Mike Kail表示。 “总是有机会实现自动化任务或改进已存在的自动化解决方案,而重要的衡量指标可能会随着时间的推移而改变和扩展。这个成熟过程是持续之旅,而不能看作为一个目标或一项的任务。”
数据表示:在美国,DevOps工程师的平均薪水$104,508(中位数$110,000)
数据来源:Glassdoor招聘网。
DEVOPS职位:就业前景如何?
总而言之:竞争。多家公司竞争DevOps人才。Linux基金会和技术工作站Dice进行2017年报告显示:60%的招聘经理正招聘DevOps人才。它是仅次于开发职位(73%),成为年度最受欢迎的职位。由于竞争激烈,大多数公司内部培养、教授渴望成为DevOps工程师的人去适应新的工作方式,成为至关重要。同时新的人才流失问题也成为焦点。 尽管您找到大量“ DevOps工程师”招聘广告,但现在更多的人在DevOps环境中工作而没有DevOps头衔。
在未来,DevOps团队会担任更多专家角色。“从最初的构想来看,DevOps通常被认为(有时是实施)是消除专家角色,”Red Hat技术布道师Gordon Haff说。“每个人都可以开发,也可以运维,每个人都可以随时响应。”
“但是,特别是在大型组织中,这并不总是有效的。” 他解释说:“筒仓型组织将会被分解。很难与多学科团队抗衡。但是,在安全和大型基础设施等领域始终需要专家。关键是这些领域专家如何高效地与他人沟通和提供工具与他人使用。”
尤其成熟度高的DevOps团队,他们将自定义角色和流程,以更好地解决组织的需求和业务战略。Ben Newton(Sumo Logic分析负责人)表示。“我认为,DevOps的发展趋势更加适合于现代组织,核心是确定除了开发团队/ Scrum团队所需要专业化知识,以构建、支持他们的代码。”
他希望在DevOps中增加类似可靠性工程师,安全架构师、专家 和多种多样的的迭代QA /测试工程师角色。
他补充说:“由于分析能力对今天的竞争力至关重要,因此我们也希望更多以数据科学为导向的工程师在推动发展。”