趋势与观点 | 使用COBIT最大限度地发挥DevOps的优势
1969年美国国家航空和航天局(NASA)阿波罗11号任务期间,当时运行的飞行软件包含大约14.5万行代码,由麻省理工学院(MIT)Draper实验室的软件工程部于20世纪60年代开发,其目的是将宇航员安全带到月球并返回地球。快进到2022年,支持谷歌服务的软件基于20亿行代码,得到了全球25,000名谷歌工程师的支持。谷歌的服务每天被数十亿人使用,并且正在快速发展,满足其极其多样化的客户群不断变化的需求。
这一对比展示了软件如何从用于解决特定问题的目标代码转变为进化、适应和不断改进的平台。
软件开发过程也发生了变化,这是很自然的。最初,程序员没有系统的开发活动方法,这意味着他们是唯一能够调试或维护自己编写的程序的人员。20世纪七八十年代创建了软件工程方法,如结构化编程、系统开发方法和结构化系统分析与设计,以开发可重复的过程,使程序员更容易协作,更有效地继续以前程序员的工作。这个时代的软件开发方法统称为瀑布模型。这些软件开发模型并不灵活,因为这些开发模型从头到尾遵循一条线性路径。20世纪90年代和21世纪,软件工程师为软件开发创建了更灵活的模型,如Agile和DevOps。这些模型旨在根据最终用户不断变化的需求快速开发和维护软件。
如果采用得当,Agile和DevOps实践可以改善客观的软件开发指标,如部署频率、变更准备时间、变更失败率和平均恢复时间(MTTR)。IT审计师和治理专业人士可以在确保以正确的方式采用此类领先实践以充分实现潜在利益方面发挥重要作用。COBIT®可用于轻松理解Agile和DevOps实践,并确定应实施哪些控制措施。
如果采用得当,Agile和DevOps实践可以改善客观的软件开发指标,如部署频率、变更准备时间、变更失败率和平均恢复时间(MTTR)。
了解Agile
由14名程序员组成的团队于2001年发布了《敏捷软件开发宣言》。该宣言指出:
我们正在探索更好的开发软件的方法,我们这样做,也帮助其他人这样做。这种工作方法重视:
-
个人和互动多于流程和工具
-
工作软件,而不是全面的文档
-
客户协作多于合同谈判
-
响应变化而不是遵循计划
也就是说,虽然后者有价值,但前者的价值往往更高。
《敏捷宣言》已经得到了全世界的认可和接受。最近的一项研究表明,软件开发团队中敏捷采用从2020年的37%增加到2021年的86%。根据该研究,受访者认为,采用敏捷原则带来了许多好处,包括加速软件交付和增强满足客户需求。然而,尽管有这些好处,该研究也表明,许多组织在成功采用敏捷原则方面仍然面临挑战,例如流程和实践的不一致、文化冲突、组织对变革的普遍抵制、缺乏技能和经验、缺乏领导参与、以及管理层支持和赞助不足。
DevOps 与 Agile
DevOps代表了IT文化的一种变化,通过在面向系统的设计方法的背景下采用和发展敏捷实践实现快速IT服务交付。DevOps涉及到改变、建立和培育一种文化和环境,在这种文化和环境中,规划、开发、编码、构建、测试、发布、部署、运维和监测设计为能够快速、频繁和更可靠地执行(图1)。
图1 – DevOps生命周期
来源: Devopedia, "DevOps," Version 8, 15 February 2022, https://devopedia.org/devops. Reprinted with permission.
根据2021年的一项研究,DevOps已成为组织间软件开发和维护的一种流行方法。结果表明,83%的IT决策者报告他们的组织正在实施DevOps实践,但结果也表明,绝大多数组织在其DevOps实践中无法达到高水平的成熟度,因此无法获得DevOps的全部好处。
COBIT 与 DevOps
多年来,诸如COBIT这样的最佳实践框架已经开发出来并予以推广,以帮助理解、设计和实现企业IT (EGIT)的治理过程。
COBIT核心模型
对于IT审计专业人士来说,COBIT资源(如COBIT®焦点领域:使用COBIT®2019的DevOps出版物)可用于规划和执行IT审计,包括对采用DevOps的团队的审计。与DevOps相关的关键方面包括:
-
DevOps利益相关者的利益——了解谁是企业的潜在利益相关者,DevOps如何使他们每个人受益,以及应该牢记哪些考虑因素是很重要的。IT审计师可能认为只有程序员和系统管理员是利益相关者;然而,其他可能的利益相关者包括架构委员会、安全官员、项目经理和服务经理。通过了解每个利益相关者可能从DevOps中得到哪些利益,IT审计师可以执行符合他们关注的审计。
-
DevOps的关键方面——文化、自动化、精益、测量和共享(CALMS)框架用于评估组织是否准备采用DevOps流程,以及组织在DevOps转型中的进展情况。这也可以映射到COBIT概念,这对IT审计师很有帮助。IT审计师可能比CALMS更熟悉COBIT。
-
DevOps持续活动——许多IT审计师熟悉审计传统的软件开发生命周期,但也有必要了解在DevOps模型中持续执行的其他活动,并制定相应的审计计划处理此类活动。
-
治理和管理目标——使用COBIT治理和管理实践规划和执行审计可能非常有效。与DevOps相关的COBIT治理和管理实践包括:
o APO01托管I&T管理框架
o APO11质量管理
o BAI02管理需求定义
o BAI03管理解决方案识别和构建
o BAI07管理IT变更接受和过渡
o BAI08管理知识
o BAI10配置管理
o BAI07管理IT变更接受和过渡
o MEA01管理的性能和一致性监控
-
组织结构——DevOps角色和职责的分配因企业而异。COBIT资源可以为DevOps过程中的利益相关者应该扮演的角色和职责提供指导。在许多组织中,流程中的不同参与者采用的角色和职责从控制角度来看并不是最适合的。IT审计师应该能够有效地与管理层沟通什么是领先的实践,以及如何确保合适的人扮演适当的角色。
-
原则、政策和程序——应更新或创建特定的原则、政策和程序(例如,业务敏捷性原则、变更管理政策、测试验收程序),支持DevOps流程的实施。IT审计师应审查现有政策、程序和标准,查看是否已更新并符合DevOps实践。
-
工具类型——IT审计师了解支持DevOps流程的工具类型很有帮助,可以在执行IT审计现场工作之前做好准备。此外,许多组织不需要使用所有可用的DevOps工具。对支持DevOps流程的所有不同工具的了解使IT审计师能够在必要时通过进一步的自动化提供改进DevOps流程的建议。
结语
跨行业部门和地区的IT审计师认为,他们所服务的组织正处于实施DevOps实践的不同阶段。IT审计界应考虑使用COBIT使自己具备有效审计DevOps流程的知识和技能,并确保DevOps能够以安全有效的方式发挥真正的潜力。
编者注:本文首次发表于2022年5月11日ISACA官网News and Trends /Industry News。尾注略。文章内容仅代表作者本人观点。
作者:Syed Salman,CISA,致力于让企业看到技术风险的好处,并通过实施领先实践找到可持续优化技术性能的方法。Salman已帮助世界各地的组织优化其技术治理、技术管理、网络安全和隐私实践带来的利益。
翻译:唐四宝(Jerry Tang),CISA, CDPSE,CZTP,ISACA微信公众号特邀通讯员。
校对:姚凯(Kevin Yao),CISA,CISM,CRISC,CGEIT,CDPSE,ISACA微信公众号特邀通讯员,关注IT安全,隐私保护和数字化。