你好,欢迎您来到福建信息主管(CIO)网! 设为首页|加入收藏|会员中心
您现在的位置:>> 新闻资讯 >>
CIO应避免在企业环境中犯这6个DevOps错误
作者:CIO.com睿观 来源:CIOCDO 发布时间:2024年10月17日 点击数:

在复杂的企业环境中,DevOpsDevelopmentOperations的组合词,过程、方法与系统的统称。用于促进开发-应用程序/软件工程、技术运营和质量保障-QA部门之间的沟通、协作与整合。)的成功可能难以捉摸。以下是 IT 领导者经常出错的地方,以及如何重回正轨。

图源:Gorodenkoff / Shutterstock


你可能会感到惊讶,但DevOps几乎已经有20年的历史了。由开发社区希望在部署应用程序时拥有更多能力和控制力的愿望所驱动,DevOps2011年随着Gartner(高德纳,Gartner Group公司成立于1979年,它是第一家信息技术研究和分析的公司。它为有需要的技术用户来提供专门的服务。Gartner已经成为了一家独立的咨询公司,Gartner公司的服务主要是迎合中型公司的需要,它希望使自己的业务覆盖到IT行业的所有领域,从而让自己成为每一位用户的一站式信息技术服务公司。)的积极展望在企业中获得了发展动力,2015年,扩展Scaled Agile Framework/SAFe规模化敏捷框架,是一种面向大型企业的敏捷开发框架,旨在协调多个团队和部门的协同工作,以实现高效的软件开发和交付。SAFe框架由Dean Leffingwell创建,汲取了敏捷开发、精益产品开发和系统思考的精华,适用于在大型企业内部扩展敏捷,跨越多个团队,提升产品开发和交付效率。)DevOps纳入其中。在此期间,AWS(亚马逊云科技-连续12年被Gartner评为“全球云计算领导者”。为全球客户提供以云服务器、云存储、数据库、机器学习为主的基础设施和云解决方案,助您发展出海业务和企业在本地上云。)的史无前例的增长也促使首席信息官们更多地了解初创公司如何在云上进行创新和高效率运作。

那时,我是一位以开发为中心的首席信息官,在一家受监管的财富100强企业中工作,该企业对其数据中心基础设施和部署实践有着严格的控制。我对自动化部署的前景感到兴奋——可缓和开发团队和IT运营团队之间的紧张关系。但DevOps当时在我看来过于以开发为中心,我的第一篇文章质疑了谁拥有DevOps,以及DevOps是如何在实践上发生重大转变的。

DevOps从那时起已经发生了显著变化——以至于没有一种放之四海而皆准的成功方法。许多首席信息官远离日常的DevOps运营,对应该优先考虑哪些实践缺乏全面的视角,并且可能会被初创公司、供应商或专业服务组织在过于简化的环境中实施DevOps的方式所误导,而这与在复杂、受监管的企业中所需的方式不同。

多云架构、从大型机到云的应用程序组合、董事会加速AI和数字化成果的压力——今天的首席信息官们面临着一系列可能影响他们DevOps策略的挑战。以下是首席信息官们在实施DevOps时仍然犯的六个常见错误,以及重新思考你的方法的建议。

一、采用IT项目心态而非组织文化转型心态

DevOps需要开发和运营之间的文化对齐,以改善客户体验、推动业务敏捷性并提高运营弹性。但是,通过采用工具优先的实施方法,许多首席信息官忽视了文化转型的重要性。

“首席信息官可能错误地将DevOps视为狭窄的 IT 实施,而没有优先考虑在整个组织中进行必要的文化转变,以实现协作、自动化和持续改进,”Infosys(印孚瑟斯技术有限公司,印度软件公司,也是印度历史上第一家在美国上市的公司。)现代化实践的副总裁兼全球负责人Naresh Duddu(纳雷什·杜杜)表示,“他们还可能忽视将DevOps实践与端到端价值交付、客户洞察、安全考虑、基础设施可扩展性和在企业层面扩展DevOps的能力的重要性。”

在合规性、运营和治理方面也是如此。

“为了成功实施DevOps,首席信息官需要专注于培养一种强调工作流的文化,将DevOps实践与现有的ITIL(Information Technology Infrastructure Library,信息技术基础架构库。是一个IT服务管理的最佳实践框架,旨在帮助组织优化IT服务流程,提高服务质量和效率,降低运营成本,增强业务对齐和风险管理。或其他治理框架相结合,以确保在敏捷性的同时实现合规性,”ServiceNow(于2004年6月在加利福尼亚州注册为GlideSoft,Inc.,后重新注册到特拉华州并更名,是一家领先的基于云的服务提供商,可实现企业IT运营的自动化。ServiceNow的服务包括一套建立在专有平台上的应用程序,可自动化工作流程并集成相关业务流程。ServiceNow专注于通过自动化和标准化业务流程以及在全球企业中整合IT来转变企业IT。)ITOMIT运营管理。负责管理组织内的信息技术需求,监督 IT 基础架构和资源的供应、容量、性能和可用性,例如计算、网络和应用资源。它的职责是在 IT 资源交付过程中执行日常任务,提升质量和效率,打造积极的最终用户体验。ITOM 是ITSM/IT服务管理的一门子学科,专注于服务生命周期的运营方面。在 ITSM 模型中,ITOM 专注于最终用户通常看不到的后台服务管理。ITOM 团队主要监督网络基础架构管理、服务台运营、服务器和设备管理三个任务。对于所有这三个领域,ITOM 都建立了相应的流程,帮助 IT 部门在其整个生命周期内部署、实施和支持服务。这包括建立用于修复问题的标准实践,旨在帮助减少中断和宕机,改善用户体验。成功的 ITOM 计划的目标是改善工作流程,提高可用性,并实现最佳服务表现。)产品副总裁Gabby Menachem(加比·梅纳赫姆)表示。

AND Digital是一家总部位于英国的技术咨询公司,专注于加速价值、提供咨询、产品策略、平台、数据、人工智能、体验设计、软件工程、移动应用开发等服务。公司致力于帮助客户解决复杂的业务挑战,通过其团队的专业服务、技术专长和人才发展技能,为客户提供卓越的解决方案。其团队由经验丰富的专家组成,他们在各自的领域具有深厚的专业知识,能够与客户的高层领导紧密合作,交付卓越的产品、平台和功能。)的首席技术官Rick Boyce(里克·博伊斯)强调了对DevOps采取典型的IT项目心态可能会削弱首席信息官实现业务目标的能力。

“当DevOps被视为只是另一个 IT 流程或单个团队的责任时,组织会看到产品周期变慢,并且开发与业务目标之间缺乏一致性,”他说,“通过培养协作和共同责任的文化,公司可以加快上市时间、提高产品质量,并增强对不断变化的市场条件的适应能力。

建议:询问领导者他们对敏捷、DevOps和产品管理等关键实践的理解,以及核心原则、方法和工具的差异。首席信息官可以通过参考人们的意见并为平衡创新和运营弹性制定组织愿景来对齐文化,这是DevOps文化的核心。

二、在没有足够运营支持的情况下追求持续交付

一些开发了先进的CI/CD(Continuous Integration持续集成/Continuous Delivery持续交付,属于DevOps的概念,指将传统开发过程中的代码构建、测试、部署以及基础设施配置等一系列流程的人工干预转变为自动化。使用CI/CD,代码经由开发人员更改后,可进行自动化测试并完成交付和部署。恰当的CI/CD管道可使计算机停机时间最小化,从而更快发布代码。)管道的DevOps团队迅速进入持续部署,在快速部署计划中频繁将代码更改推送到生产环境中。但持续部署并不总是适合你的业务,利益相关者并不总是理解实施强大的持续测试的成本,并且最终用户并不总是容忍在高峰使用期间频繁的应用程序部署。

CIO们还必须考虑DevOps团队是否具有必要的安全、可观测性、AIops(人工智能运维。是将人工智能和机器学习技术应用于IT运维领域的新兴概念。它通过自动化、智能化的方式,精准地监控和分析IT系统中产生的大量数据,以减少手动操作并提高运维效率。)和其他学科知识,以确保强大的部署达到预期的服务水平目标。

“并非所有DevOps团队都具备作为一个整体正确自动化集成和交付所需的相同纪律和文化,”IBM(国际商业机器公司或万国商业机器公司,总公司在纽约州阿蒙克市。IT公司-国际商业机器公司。1911年托马斯·约翰·沃森创立于美国,是全球最大的信息技术和业务解决方案公司,拥有全球雇员 31万多人,业务遍及160多个国家和地区。)的应用现代化和IT自动化副总裁Vikram Murali(维克拉姆·穆拉里)说,“首席信息官们需要确保他们的行为、工具链和标准设置使他们的团队建立成功的DevOps实践。我们经常看到团队为了速度而牺牲质量,并由于CI/CD而采取捷径将代码部署到生产环境中。”

Workday(是一家基于云的财务管理和人力资本管理软件供应商,成立于2005年,总部位于美国加利福尼亚州普莱森顿。‌公司的目标市场包括跨国企业和敏感性公司,提供全球统一的云计算服务,使企业能够实现实时数据管理和全球员工的同时在线办公。其产品和服务主要包括财务管理、人力资本管理和分析应用程序,服务于公司、教育机构和政府机构。其系统以多租户的SaaS服务形式提供,这种模式使Workday在市场上具有先发优势。公司的客户可以同时在线办公,数据录入和修改,管理层可以依靠实时数据做出决策。)的首席技术官Jim Stratton(吉姆·斯特拉顿)简洁地解释了他的组织为什么遵循每周部署时间表:“为了在不破坏任何东西的情况下继续发展我们的平台,我们需要测试一切。”

CrowdStrike(是一家提供网络安全产品和服务以阻止违规行为的公司。它提供跨端点、云工作负载、身份和数据、威胁情报、托管安全服务、IT运营管理、威胁搜索、零信任身份保护和日志管理的云交付保护。CrowdStrike为全球客户提供服务,致力于帮助客户发现攻击即将到来时的征兆,并在漏洞出现前采取措施。公司成立于2011年,总部位于美国德克萨斯州奥斯汀市。)最近因为一次失败的部署影响了850万台微软WindowsMicrosoft Windows是美国微软公司以图形用户界面为基础研发的操作系统,主要运用于计算机、智能手机等设备。共有普通版本、服务器版本/Windows Server、手机版本/Windows Phone等、嵌入式版本/Windows CE等各子系列,是全球应用最广泛的操作系统之一。)电脑,导致全球近1万个航班取消,并产生了重大的财务影响而成为新闻。这场危机应该给所有授权DevOps团队在没有足够测试、撤销、监控和其他运营最佳实践的情况下加速持续交付的首席信息官一个警告。

根据State of DevOps Report 2023/《2023年DevOps状况报告》,只有18%的组织通过按需部署、变更失败率为5%并在一小时内从任何失败的部署中恢复过来实现了卓越表现。高绩效者(31%)每天部署一次到每周部署一次,报告变更失败率为10%,并在一天内从失败的部署中恢复过来。请记住这些现实中的基准。

建议:首席信息官应该采取一种风险知情的方法,在制定特定应用的持续部署策略之前了解业务、客户和员工的影响。被批准进行频繁、持续部署的应用程序应该有强大的持续测试、增强的可观测性和金丝雀发布策略,以将风险降至最低。

三、忽视最终用户和开发人员的体验

许多DevOps实践专注于自动化,如CI/CD和基础设施即代码。首席信息官可能错误地在改善用户体验、增加与业务利益相关者的一致性以及促进积极的开发人员体验的实践上投资不足。

一个例子是DevOps团队如何使用功能标志,这可以通过使产品经理能够测试特性和用户体验变体来推动敏捷实验。功能标志还可以帮助DevOps团队通过基于性能影响控制功能并自动向利益相关者通报部署情况来减少失败的恐惧。

但是太多的DevOps团队仅使用功能标志来控制用户对新功能的访问,LaunchDarkly(是一家产品测试和优化企业,成立于2014年,总部位于美国。‌该公司专注于帮助企业优化其产品代码,更好地控制产品特性,从而提高产品质量和用户体验。)的首席产品官Claire Vo(克莱尔·沃)说。“它们是DevOps中的多功能工具,可以实现更安全的部署、促进 A/B 测试并增强运营弹性。

DevOps角色和职责——尤其是当将基础设施自动化、测试和安全功能“左移”给开发人员时——也可能是一个问题。在某些情况下,将太多的责任放在开发人员的肩上会降低他们的生产力,并要求他们发展不切实际的专业知识水平。

“首席信息官和首席技术官必须避免‘左移’的陷阱,”Coder(是一家专注于提供基于云计算的开发工具套件的科技初创企业。其主要产品和服务包括开发工具套件,旨在帮助开发者在云端高效地创建和管理开发环境。的首席执行官Rob Whiteley(罗布・怀特利)说,“虽然DevOpsDevSecOps(是“开发、安全和运营”的缩写。它是一种文化取向、自动化方法和平台设计方法,将安全性作为整个 IT 生命周期的共同责任。DevOps是一组过程、方法与系统的统称,用于促进开发、技术运营和质量保障部门之间的沟通、协作与整合;而DevSecOps强调的是应用和基础架构的安全防护。可以驱动巨大的自动化和时间节省,但它们通常会对开发人员造成负担。在软件开发生命周期中更早地转移运营会增加认知负荷并降低开发人员生产力。”

建议:首席信息官们应该提出问题并促进讨论,并促进关于DevOps实践如何影响人们(包括客户、最终用户、员工和开发人员)的讨论。首席信息官们还应该就角色和职责发表意见,并监督管理定义治理模型,以避免个人负担过重或出现责任差距。

四、在没有标准的情况下授权团队选择工具

授权团队选择他们的平台、工具和技术可以帮助推动更好的结果——但这种做法也有注意事项。

“允许团队选择工具并不意味着每个团队都可以自由选择他们想要的任何工具。引入没有任何限制的技术会增加技术债务和脆弱性,”Google Cloud(谷歌云,为谷歌推出的云服务器平台,云服务器的出现原是为了减少小公司或者个人在配置硬件上的潜在成本。)DORA(DevOps Research and Assessment,是谷歌在2018年收购的一个研究小组,旨在通过数据驱动的洞察力帮助组织实现高DevOps和组织绩效。其研究重点在于通过分析和研究DevOps实践,为软件开发、部署、交付、安全性、文化和组织变革等多个方面提供最佳实践,以实现更高效、更快速、更安全的软件交付和运维。)研究项目表示,该项目旨在授权团队选择工具。

开发DevOps标准的一种方法是建立平台工程纪律,以创建可复用、可配置、自助服务的组件。据2024 State of DevOps Report: The Evolution of Platform Engineering/2024DevOps现状报告:平台工程的演变》,78%的受访者在拥有至少成立了三年的平台工程团队的组织中工作。平台工程对开发人员带来的最大好处包括提高生产力、更好的软件质量、减少部署的前置时间和更稳定的应用程序。

平台工程是创建标准和强化关键原则的一种方法。这些帮助团队避免过分关注技术,忽视业务目标,或者通过构建难以支持的能力引入“DevOps债务”。

“虽然自动化是DevOps的一个关键组成部分,但它并非万能良药,”Lukas Gentele(卢卡斯·根泰勒)说,他是Loft(公司专注于解决Kubernetes多租户和开发人员体验方面的挑战。‌)的联合创始人兼首席执行官,并补充说它可能会在未来导致更严重的问题,“自动化可以迅速在部署速度和频率上显示出改进,但如果底层架构不是设计为支持可扩展的多租户环境,它可能会导致运营难题和成本增加。

建议:首席信息官必须与他们的DevOps团队在自组织创新实践、新技术实验、建立平台和创建标准之间取得平衡。除了平台工程之外,首席信息官还应该考虑企业架构师和交付领导者在他们组织中的角色,以及当在DevOps平台和方法上出现问题时他们应该如何协作。

五、期望团队会定义适当的风险策略

虽然团队可以学习DevSecOps原则,首席信息官们可以选择IT风险管理框架,但许多组织人手不足,无法审查团队在“左移”时如何优先考虑主动风险缓解并实施强大的安全措施。

许多首席信息官认为保护他们组织的应用程序仅仅涉及管理一个检测到的漏洞的汇总列表,”Apiiro(是一家专注于DevSecOps平台的企业,旨在将安全开发生命周期从手动和定期的状态转变为自动化且基于风险的“开发人员优先”方法‌。)的首席产品官Moti Gindi(莫蒂·金迪)说。

在敏捷开发团队的积压事项中检测漏洞并确定修复的优先级是被动的,并且仅解决已知的漏洞和潜在的软件供应链问题。

LeanTaaS是一家位于硅谷的医疗软件公司,专注于通过数据挖掘和机器学习进行预测分析,并运用云端解决方案改善医疗机构服务水平和提升医疗资源利用率。公司的产品iQueue利用专有算法,将可用资产与需要它们的患者和临床医生进行匹配,考虑了数百个现实世界中的操作限制,并通过比较预期绩效与实际绩效来自我完善,从而改善患者的流通效率和员工满意度,同时减少等待时间和运营成本。)的安全和合规总监Bill Murphy(比尔·墨菲)表示,DevOps团队可能对数据安全关注不够,“数据安全漏洞的后果远远超出了通知受影响方。它们严重损害了组织的声誉,导致因客户续签的减少和获取新客户的下降而失去商业机会。”

一个新关注的领域是开发团队如何使用AI代码生成和copilot(是微软在Windows 11中加入的AI助手,该AI助手是一个集成了在操作系统中的侧边栏工具,可以帮助用户完成各种任务。)。“人工智能补充了开发人员和工程师的工作,释放了创新、系统设计和架构的时间,”Sonar是一家提供代码质量管理解决方案的公司,其旗舰产品是 SonarQube,这是一个开源的代码分析平台,用于持续分析和评估项目源代码的质量。SonarQube 能够检测项目中的重复代码、潜在的 bug、代码规范问题、安全性漏洞等问题,并通过 web 用户界面展示出来。它支持 25 种以上编程语言的代码扫描和分析,包括 Java、Python、C#、JavaScript、Go 和 C++ 等,涵盖了编程语言的静态扫描规则,能够与代码编辑器、CI/CD 平台以及源代码管理/SCM集成。)的首席信息官Andrea Malagodi(安德里亚·马拉戈迪)说。“我预计首席信息官们将让团队专注于强大的设计、良好的架构模式、严格的代码测试以及对代码的批判性分析,以确保它符合质量和安全标准。”

建议:首席信息官应该要求产品经理和交付领导者定义他们的路线图,展示在新能力、技术债务和风险缓解方面的优先级。即使自动化、持续测试和增强的可观测性实践使DevOps团队能够增加部署频率,组织也应该定义一个发布管理策略,并定期审查每个团队如何优先考虑和解决风险。

六、未能定义首席信息官在DevOps中的角色

首席信息官出错的最后一个领域是当他们仅在系统中断、部署失败、利益相关者愤怒或安全漏洞等重大问题出现后才介入DevOps

“对于首席信息官来说,关于DevOps的讨论似乎深入到了细节,所以他们将其委托给开发部门中低两到三个级别的人,”Copado(是一家提供DevOps解决方案的公司,专注于帮助企业通过自动化和持续改进的方法来提高软件开发和部署的效率。)的高级副总裁David Brooks(大卫・布鲁克斯)说,“DevOps是关于更快、更可靠地为企业交付价值,是数字化转型努力的核心。”

鉴于DevOps已经成熟了超过15年,首席信息官们应该期望他们的团队成员有不同的愿景和实施方法。领导数字化转型的首席信息官应该积极参与定义DevOps文化,明确他们将如何定期与团队协作,并促进与业务需求一致的实践。

作者:Isaac Sacolick(艾萨克·萨科利克)


Isaac Sacolick(艾萨克·萨科利克),数字化转型学习公司StarCIO的总裁,指导领导者采用所需的实践,以领导其组织的转型变革。他是《Digital Trailblazer(数字开拓者)》和亚马逊畅销书《Driving Digital(驱动数字)》的作者,讲述了敏捷规划、开发、数据科学、产品管理和其他数字化转型最佳实践。Sacolik是公认的顶级社交首席信息官,也是数字转型的影响者,在InfoWorldCIO.com、他的博客socialAgiletransformation以及其他网站上发表了900多篇文章。本文中表达的观点是Isaac Sacolick(艾萨克·萨科利克)的观点,不一定代表IDG通信公司,其母公司,子公司或附属的公司的观点。

译者:宝蓝

【睿观:DevOps虽已历经多年发展,但许多企业在实施过程中仍会犯下一些常见的错误。 这些错误往往源于对DevOps的误解、不恰当的工具选择,以及忽视组织文化和人员因素。

首先,许多企业将DevOps视为一个IT项目,而非组织文化转型。 他们过分关注工具的引入,而忽视了文化变革的重要性。这种做法往往导致DevOps无法深入人心,难以发挥其应有的作用。

其次,一些企业在没有充分准备的情况下,盲目追求持续交付。 他们忽视了持续交付需要强大的测试、监控和回滚机制,以及具备相应技能的团队。这可能导致部署失败,给企业带来损失。

此外,企业还容易忽视最终用户和开发人员的体验。 过度强调自动化,而忽略了人因因素,可能导致开发人员负担过重,用户体验不佳。

第四,企业在工具选择上缺乏统一的标准,导致技术债务增加。 虽然授权团队选择工具有一定好处,但缺乏统一的标准会增加系统复杂性,降低维护效率。

第五,企业往往忽视了DevOps中的安全问题。 他们将安全视为事后的补救措施,而不是开发过程中的内建要素。

最后,企业高层,尤其是CIO,往往没有充分参与到DevOps的实施过程中。 他们将DevOps视为开发团队的事务,而忽视了自身的领导作用。

为了避免这些错误,企业应采取以下措施:

  • 将DevOps视为文化转型,而非IT项目。 强调协作、沟通和持续改进。

  • 逐步推进持续交付,并确保有足够的准备。 强调质量,而非速度。

  • 关注用户体验和开发人员体验。 避免过度自动化,平衡效率与人的因素。

  • 建立统一的工具标准,并采用平台工程的方法。

  • 将安全融入DevOps的整个生命周期。

  • CIO应积极参与DevOps,提供领导力和支持。

总之,DevOps的成功不仅取决于技术的应用,更取决于组织文化的变革和领导层的支持。 企业应根据自身特点,制定适合的DevOps实施策略,并持续改进。】