博客

为什么 DevOps 落地往往以失败告终(以及如何解决)

January 1, 2020
Pieter Danhieux
木制艺术家手部模型,直立摆放在模糊的黑白素描前。

本文最初发布于 DevOps.com。现已进行更新和修改。

就像“区块链”、“大数据”和“数字颠覆”一样,“DevOps”是目前大型组织 IT 部门中随处可见的又一个流行词。

许多人(正确地)认识到需要更快的软件开发生命周期;需要一种与业务目标紧密结合的更精确的流程,从而实现开发团队与运维团队之间更清晰的工作流和协作。DevOps 本质上是“敏捷”开发的成熟版,已准备好应对现代企业不断创新和快速部署的需求。对于安全专业人员来说,这是一项了不起的举措:我们可以更早地将安全性注入流程,从而降低修复漏洞的成本,并避免未来可能出现的灾难。

问题在于,很少有公司能真正成功实施 DevOps。如果没有整个业务层面的正确支持、培育和理解,它很快就会变成一个华而不实的摆设……也就是那种“避而不谈”的项目。

那么,问题出在哪里?这是一个有趣的讨论,我认为有几种 DevOps 的切入方式可以让后续工作更加顺畅。一个有效的项目不仅仅是引入一些花哨的新工具、新头衔和团队会议。这并不总是容易的,但花时间修复错误的策略(或从一开始就以正确的方式实施)从长远来看会减少很多痛苦。最终,它将带来更高质量和更安全的软件。

让我们深入剖析一下:

摆脱对“敏捷”的过度依赖。

有一种误解认为组织必须在敏捷或 DevOps 之间做出选择,一旦选定一条路径就不能回头。

事实是,当两者被视为一个整体来考虑和实施时,开发流程的效果最好。DevOps 不是对敏捷开发的重塑;相反,它是敏捷的延伸。当人们期望流程 完全像 敏捷,或者 完全不同于 敏捷时,往往就会出问题。

敏捷支持跨职能团队的原则,从一开始就将设计师、测试人员和开发人员聚集在一起,并承诺在整个项目中保持开放的沟通渠道。其目的是停止孤岛式交付并减少重复劳动,这两点也是 DevOps 流程的优势。然而,DevOps 更进一步,将系统、安全和运维引入其中,提供稳健的端到端技能组合,其最终目标是向客户交付完整、功能完备的软件。

在转向以 DevOps 为中心的流程时,不可避免地会出现痛点,此时孤岛式开发的风险可能会再次出现。您经常会遇到这种情况:原有的敏捷团队在一起工作,而新加入的安全和运维人员仍在摸索如何融入;没人确定该如何接纳他们,他们应该做什么,以及他们的总体目标是什么。

如果没有明确的目标、跨职能的入职培训以及与各方的直接沟通,DevOps 就无法发挥作用。当然,这需要一个调整期来进行细致的变革管理,但让每个人都对 DevOps 功能带来的改进达成共识,就已经成功了一半。

令人欣慰的是,DevOps 越来越强调将安全最佳实践作为流程的一部分,这不仅揭开了安全工作的神秘面纱,还弥合了安全团队与其他团队之间的鸿沟。正如我之前所说,我们在赋能开发人员从一开始就进行安全编码方面还有很长的路要走,但成功实施 DevOps 方法论是开发团队构建安全技能的绝佳基础。

自动化并非万能(而且它并非最安全)。

DevOps 方法论的另一个特征是在一定程度上实现软件开发流程的自动化。持续集成和持续交付 (CI/CD) 原则是这一概念的基石,正如您可能猜到的那样,它非常依赖工具。

工具确实非常棒。它们可以为软件交付流程带来前所未有的速度,以相对轻松的方式管理代码库、测试、维护和存储要素。

然而,虽然机器人总有一天可能会取代我们的工作并将我们囚禁起来,但它们目前还远未达到那种程度。过度依赖工具和自动化会为错误留下巨大的空间。扫描和测试可能无法发现所有问题,代码可能未经检查,这会在未来带来巨大的质量(更不用说安全)问题。攻击者只需要一个后门即可窃取数据,而忽视质量和安全控制中的人为因素可能会导致灾难性的后果。

“折中方案”是确保您在人员 和 工具之间取得平衡。工具应作为您信任的团队的助手,以实现项目目标。您应该:

  • 分配足够的时间让人员熟悉所选的 DevOps 工具链
  • 专注于有效的协作(以及工具如何支持协作)
  • 解决流程中的任何差距,无论是技能/知识差距还是工具方面的差距。

简而言之,不要只是盲目地“堆砌工具”并寄希望于一切顺利。

DevOps 不仅仅是一个流行词,更是一种文化。你正在培养属于你们的文化吗?

变革管理在任何时候都是一项艰巨的任务。对未知的恐惧会阻碍即使是最优秀的团队成员提升技能、拓宽视野。

要知道,仅仅喊出“我们要搞 DevOps”并让运维团队搬个工位,并不能凭空实现成功的流程。这只会让许多人感到困惑,甚至让资深员工心生不满。明确沟通预期至关重要,同时更要“言行一致”。DevOps 不仅是一种开发方法论,更是一场文化运动,团队应当践行跨职能协作的思维方式。

优秀的 DevOps 文化是什么样的?

  • 每个人都被赋予权力,能够为流程贡献专业见解,而不只是听从领导
  • 团队之间保持开放、坦诚且相互尊重的沟通
  • 每个人都对将质量与安全融入开发流程这一整体目标负责
  • 每个人对业务中 DevOps 的定义、路线图以及各自角色的职责、目标和意义达成共识。

多年来,我一直强调在开发团队中建立积极安全文化的重要性,DevOps 也不例外。

合适的工具、知识和支持对于实现安全最佳实践至关重要,这不仅能减少漏洞发现,还能让团队意识到保护数据的重要性。在 DevOps 中,你必须为积极的变革打好文化基础:确保每个人都理解自己的角色、价值、预期,以及项目的整体目标和流程步骤。

做到了吗?很好。现在,让我们更进一步,强化安全维度,将 DevSecOps 作为实现卓越软件的终极方案。

标语

在 AI 驱动的开发成果发布前实现有效治理

评估 AI 辅助风险,在提交代码时强制执行安全编码策略,并加速整个软件开发生命周期的安全交付。

预约演示
资源库

探索更多博客

获取有关安全编码、人工智能治理和软件风险管理的专家内容。

浏览全部
案例研究
筛选标签
这是 div 块中的一段文本。

Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

了解更多
案例研究
筛选标签
这是 div 块中的一段文本。

Security as culture: How Blue Prism cultivates world-class secure developers

Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed

了解更多
案例研究
筛选标签
这是 div 块中的一段文本。

统一的安全文化:Sage 如何打造其安全倡导者项目

了解 Sage 如何通过灵活且以关系为导向的方法提升安全性,成功培养了 200 多名安全倡导者,并实现了显著的风险降低。

了解更多
博客
筛选标签
这是 div 块中的一段文本。

2026年网络安全意识月:理解人工智能安全对企业防御至关重要

目前,大多数顶级人工智能公司已公开呼吁全球放缓人工智能的发展速度,以便安全防护措施能够跟上步伐。然而事实是,严重的安全问题已经显现。随着人工智能实施带来的经济成本和风险不断累积,无数安全领导者和高管团队正处于紧迫的境地。

了解更多
博客
筛选标签
这是 div 块中的一段文本。

赋能要素 8:打造项目品牌

成功的安全编码项目不仅需要优质的内容。赋能要素 8 展示了如何通过品牌化将参与过程转变为一种令人向往、以地位为驱动的体验。

了解更多
博客
筛选标签
这是 div 块中的一段文本。

每一位员工现在都处于 AI 网络安全的最前线

企业技术格局正以一种鲜有人预料到的速度发生剧变,直到为时已晚。我们已正式跨越了从人工编写代码和基础辅助编程,进入“智能体开发生命周期”(ADLC)的时代。虽然自主 AI 智能体有望在多个职能领域实现前所未有的效率,但它们也带来了全新的安全和监管风险。

了解更多

在产品发布前确保 AI 驱动的开发安全

洞察开发风险,执行安全策略,并在整个软件开发生命周期中预防漏洞。

预约演示
未找到相关项目。