
为什么DevOps实施常常失败(以及如何解决)
本文最初发表于 DevOps.com。内容已更新并修订。
与"区块链"、"大数据"和"数字颠覆"类似,"DevOps"这个术语是当前在大企业IT部门中流行的又一流行语。
许多人(理所当然地)认识到加快软件开发周期的必要性;需要一个更精确的流程,该流程与业务目标紧密关联,并能实现开发与运维团队之间更清晰的工作流程和协作。DevOps本质上是一种"敏捷"开发模式,它已成熟完善,能够满足现代企业不断变化、快速发展的需求。 对安全专家而言,这堪称绝佳举措:我们能将安全防护更早地融入流程,从而降低缺陷修复成本,并避免未来潜在的灾难性后果。
问题在于,真正成功实施DevOps的企业寥寥无几。若缺乏全公司范围内的正确支持、维护和理解,它很快就会变成无底洞……您懂的,就是那种不提战争的项目。
那么问题出在哪里呢?这是一场有意义的讨论,我认为有几种方法可以推进DevOps实践,它们将显著提升流程的顺畅度。有效的DevOps计划远不止于添置几款新潮工具、设立花哨头衔或召开团队会议。 过程未必总是一帆风顺,但花时间修复失败的策略(或从一开始就正确实施),从长远来看会少走很多弯路。最终,这将带来更高质量、更安全的软件。
让我们来分析一下:
解开“敏捷”围裙带。
存在一种普遍误解,认为企业必须在敏捷与DevOps之间二选一,并强制选择其中一种路径且永不回头。
事实上,当将两者视为统一整体来实施时,开发流程才能发挥最佳效能。DevOps并非对敏捷开发的重新发明,而是对其的延伸拓展。 当人们期待流程要么完全遵循敏捷,要么彻底背离敏捷时,整个体系往往就会分崩离析。
敏捷开发倡导跨职能团队协作,从项目初期就将设计师、测试人员和开发人员汇聚一堂,并承诺在整个项目周期中保持开放的沟通渠道。其目标在于终结孤岛式交付模式,减少重复工作。 这两点同样是DevOps流程的优势。但DevOps更进一步,将系统、安全和运维融入其中,提供强大的端到端专业知识,其终极目标是为客户提供完整、可运行的软件交付。
在向更侧重DevOps的流程转型过程中,不可避免会出现各种问题,此时孤岛式开发风险可能再度浮现。通常,原始敏捷团队能够协同工作,而安全与运维扩展仍需逐步融入体系。但关于如何整合这些扩展、它们应承担何种职责以及共同追求哪些目标,各方都尚未形成明确共识。
DevOps的实施离不开明确的目标设定、跨职能的入职培训以及与所有相关方的直接沟通。当然,适应期需要谨慎的变更管理,但让所有人员都理解DevOps功能带来的改进,这本身就是成功的一半。
越来越多的DevOps实践(谢天谢地)开始重视安全流程中的成熟安全方法,消除了这一环节的神秘感,并弥合了安全团队与其他团队之间的鸿沟。 正如我之前所言,要让开发人员从一开始就具备安全编程能力,我们还有很长的路要走。但成功实施DevOps方法为在开发团队内部建立安全能力奠定了坚实基础。
自动化并非万能(而且它也不是最安全的)。
DevOps方法论的另一特征在于对软件开发流程的自动化程度提升。持续集成与持续交付(CI/CD)原则是该理念的基石,正如您所料想,其高度依赖各类工具。
工具确实非常出色,它们能前所未有地加速软件交付流程,并轻松管理代码仓库、测试、维护及存储等环节。
机器人或许终将取代我们所有的工作,甚至某天将我们囚禁起来,但它们显然尚未达到那个境界。对工具和自动化的过度依赖,为错误敞开了巨大的窗口。扫描和测试可能无法覆盖所有环节,代码可能未经充分验证,这最终将引发巨大的质量问题(更不用说安全隐患了)。 攻击者只需找到一个后门就能窃取数据,而放弃人工参与质量与安全检查,其后果将不堪设想。
“黄金比例”在于确保人与工具之间保持平衡。工具应作为团队的助手,您应信任它们来实现项目目标。您应该:
- 请预留充足时间,以便员工能够熟悉所选的DevOps工具链。
- 专注于高效协作(以及工具如何支持这一点)
- 消除流程中的所有漏洞,无论这些漏洞源于技能、知识还是工具。
简而言之,不要简单地升级设备就指望一切顺利。
DevOps 并非口号,而是一种文化。你是否在构建属于自己的文化?
变更管理在最佳情况下也充满挑战。对未知的恐惧可能阻碍最优秀的团队成员拓展技能、开阔视野。
仅凭一句"让我们实践DevOps",或是让运维团队搬动办公桌,并不能神奇地实现流程成功落地。 许多人会感到困惑,资深成员更会心生不满。明确传达期望至关重要,而"坚持自我"同样不可或缺。DevOps既是文化变革也是开发方法论,团队必须将跨职能协作的思维方式融入日常实践。
卓越的DevOps文化是什么样子的?
- 个人能够将专业知识融入流程,而不仅仅是管理者。
- 团队之间开放、诚实且相互尊重的沟通
- 每位人员在开发过程中都承担着对建筑质量与安全总体目标的责任。
- 所有成员都一致认同企业中DevOps的定义、发展路线图以及各岗位职责的具体内容、实施方式及意义。
多年来,我一直强调在开发团队中建立积极的安全文化至关重要,而DevOps也不例外。
正确的工具、正确的知识和正确的支持对于实施成熟的安全流程、观察发现的安全漏洞数量下降以及让团队认识到保护我们数据的重要性至关重要。 在DevOps实践中,您需要为积极变革奠定文化基础:确保每位成员都清楚自身职责、价值定位与预期目标,同时理解整体项目目标及流程中的每个环节。
若您已掌握这些要点,那么现在让我们转换视角,聚焦安全维度,将DevSecOps打造为实现卓越软件的终极方案。
首席执行官、主席和联合创始人

Secure Code Warrior 您的Secure Code Warrior 帮助您在整个软件开发周期中保障代码安全,并建立将网络安全置于首位的企业文化。无论您是应用安全经理、开发人员、首席信息安全官,还是其他从事安全工作的人员,我们都能协助您的企业降低不安全代码带来的风险。
预约演示首席执行官、主席和联合创始人
Pieter Danhieux是全球公认的安全专家,拥有超过12年的安全顾问经验,并在SANS担任首席讲师8年,教授如何针对和评估组织、系统和个人的安全弱点的攻击性技术。2016年,他被评为澳大利亚最酷的科技人士之一(Business Insider),被授予年度网络安全专业人士(AISA - 澳大利亚信息安全协会),并持有GSE、CISSP、GCIH、GCFA、GSEC、GPEN、GWAPT、GCIA认证。


本文最初发表于 DevOps.com。内容已更新并修订。
与"区块链"、"大数据"和"数字颠覆"类似,"DevOps"这个术语是当前在大企业IT部门中流行的又一流行语。
许多人(理所当然地)认识到加快软件开发周期的必要性;需要一个更精确的流程,该流程与业务目标紧密关联,并能实现开发与运维团队之间更清晰的工作流程和协作。DevOps本质上是一种"敏捷"开发模式,它已成熟完善,能够满足现代企业不断变化、快速发展的需求。 对安全专家而言,这堪称绝佳举措:我们能将安全防护更早地融入流程,从而降低缺陷修复成本,并避免未来潜在的灾难性后果。
问题在于,真正成功实施DevOps的企业寥寥无几。若缺乏全公司范围内的正确支持、维护和理解,它很快就会变成无底洞……您懂的,就是那种不提战争的项目。
那么问题出在哪里呢?这是一场有意义的讨论,我认为有几种方法可以推进DevOps实践,它们将显著提升流程的顺畅度。有效的DevOps计划远不止于添置几款新潮工具、设立花哨头衔或召开团队会议。 过程未必总是一帆风顺,但花时间修复失败的策略(或从一开始就正确实施),从长远来看会少走很多弯路。最终,这将带来更高质量、更安全的软件。
让我们来分析一下:
解开“敏捷”围裙带。
存在一种普遍误解,认为企业必须在敏捷与DevOps之间二选一,并强制选择其中一种路径且永不回头。
事实上,当将两者视为统一整体来实施时,开发流程才能发挥最佳效能。DevOps并非对敏捷开发的重新发明,而是对其的延伸拓展。 当人们期待流程要么完全遵循敏捷,要么彻底背离敏捷时,整个体系往往就会分崩离析。
敏捷开发倡导跨职能团队协作,从项目初期就将设计师、测试人员和开发人员汇聚一堂,并承诺在整个项目周期中保持开放的沟通渠道。其目标在于终结孤岛式交付模式,减少重复工作。 这两点同样是DevOps流程的优势。但DevOps更进一步,将系统、安全和运维融入其中,提供强大的端到端专业知识,其终极目标是为客户提供完整、可运行的软件交付。
在向更侧重DevOps的流程转型过程中,不可避免会出现各种问题,此时孤岛式开发风险可能再度浮现。通常,原始敏捷团队能够协同工作,而安全与运维扩展仍需逐步融入体系。但关于如何整合这些扩展、它们应承担何种职责以及共同追求哪些目标,各方都尚未形成明确共识。
DevOps的实施离不开明确的目标设定、跨职能的入职培训以及与所有相关方的直接沟通。当然,适应期需要谨慎的变更管理,但让所有人员都理解DevOps功能带来的改进,这本身就是成功的一半。
越来越多的DevOps实践(谢天谢地)开始重视安全流程中的成熟安全方法,消除了这一环节的神秘感,并弥合了安全团队与其他团队之间的鸿沟。 正如我之前所言,要让开发人员从一开始就具备安全编程能力,我们还有很长的路要走。但成功实施DevOps方法为在开发团队内部建立安全能力奠定了坚实基础。
自动化并非万能(而且它也不是最安全的)。
DevOps方法论的另一特征在于对软件开发流程的自动化程度提升。持续集成与持续交付(CI/CD)原则是该理念的基石,正如您所料想,其高度依赖各类工具。
工具确实非常出色,它们能前所未有地加速软件交付流程,并轻松管理代码仓库、测试、维护及存储等环节。
机器人或许终将取代我们所有的工作,甚至某天将我们囚禁起来,但它们显然尚未达到那个境界。对工具和自动化的过度依赖,为错误敞开了巨大的窗口。扫描和测试可能无法覆盖所有环节,代码可能未经充分验证,这最终将引发巨大的质量问题(更不用说安全隐患了)。 攻击者只需找到一个后门就能窃取数据,而放弃人工参与质量与安全检查,其后果将不堪设想。
“黄金比例”在于确保人与工具之间保持平衡。工具应作为团队的助手,您应信任它们来实现项目目标。您应该:
- 请预留充足时间,以便员工能够熟悉所选的DevOps工具链。
- 专注于高效协作(以及工具如何支持这一点)
- 消除流程中的所有漏洞,无论这些漏洞源于技能、知识还是工具。
简而言之,不要简单地升级设备就指望一切顺利。
DevOps 并非口号,而是一种文化。你是否在构建属于自己的文化?
变更管理在最佳情况下也充满挑战。对未知的恐惧可能阻碍最优秀的团队成员拓展技能、开阔视野。
仅凭一句"让我们实践DevOps",或是让运维团队搬动办公桌,并不能神奇地实现流程成功落地。 许多人会感到困惑,资深成员更会心生不满。明确传达期望至关重要,而"坚持自我"同样不可或缺。DevOps既是文化变革也是开发方法论,团队必须将跨职能协作的思维方式融入日常实践。
卓越的DevOps文化是什么样子的?
- 个人能够将专业知识融入流程,而不仅仅是管理者。
- 团队之间开放、诚实且相互尊重的沟通
- 每位人员在开发过程中都承担着对建筑质量与安全总体目标的责任。
- 所有成员都一致认同企业中DevOps的定义、发展路线图以及各岗位职责的具体内容、实施方式及意义。
多年来,我一直强调在开发团队中建立积极的安全文化至关重要,而DevOps也不例外。
正确的工具、正确的知识和正确的支持对于实施成熟的安全流程、观察发现的安全漏洞数量下降以及让团队认识到保护我们数据的重要性至关重要。 在DevOps实践中,您需要为积极变革奠定文化基础:确保每位成员都清楚自身职责、价值定位与预期目标,同时理解整体项目目标及流程中的每个环节。
若您已掌握这些要点,那么现在让我们转换视角,聚焦安全维度,将DevSecOps打造为实现卓越软件的终极方案。

本文最初发表于 DevOps.com。内容已更新并修订。
与"区块链"、"大数据"和"数字颠覆"类似,"DevOps"这个术语是当前在大企业IT部门中流行的又一流行语。
许多人(理所当然地)认识到加快软件开发周期的必要性;需要一个更精确的流程,该流程与业务目标紧密关联,并能实现开发与运维团队之间更清晰的工作流程和协作。DevOps本质上是一种"敏捷"开发模式,它已成熟完善,能够满足现代企业不断变化、快速发展的需求。 对安全专家而言,这堪称绝佳举措:我们能将安全防护更早地融入流程,从而降低缺陷修复成本,并避免未来潜在的灾难性后果。
问题在于,真正成功实施DevOps的企业寥寥无几。若缺乏全公司范围内的正确支持、维护和理解,它很快就会变成无底洞……您懂的,就是那种不提战争的项目。
那么问题出在哪里呢?这是一场有意义的讨论,我认为有几种方法可以推进DevOps实践,它们将显著提升流程的顺畅度。有效的DevOps计划远不止于添置几款新潮工具、设立花哨头衔或召开团队会议。 过程未必总是一帆风顺,但花时间修复失败的策略(或从一开始就正确实施),从长远来看会少走很多弯路。最终,这将带来更高质量、更安全的软件。
让我们来分析一下:
解开“敏捷”围裙带。
存在一种普遍误解,认为企业必须在敏捷与DevOps之间二选一,并强制选择其中一种路径且永不回头。
事实上,当将两者视为统一整体来实施时,开发流程才能发挥最佳效能。DevOps并非对敏捷开发的重新发明,而是对其的延伸拓展。 当人们期待流程要么完全遵循敏捷,要么彻底背离敏捷时,整个体系往往就会分崩离析。
敏捷开发倡导跨职能团队协作,从项目初期就将设计师、测试人员和开发人员汇聚一堂,并承诺在整个项目周期中保持开放的沟通渠道。其目标在于终结孤岛式交付模式,减少重复工作。 这两点同样是DevOps流程的优势。但DevOps更进一步,将系统、安全和运维融入其中,提供强大的端到端专业知识,其终极目标是为客户提供完整、可运行的软件交付。
在向更侧重DevOps的流程转型过程中,不可避免会出现各种问题,此时孤岛式开发风险可能再度浮现。通常,原始敏捷团队能够协同工作,而安全与运维扩展仍需逐步融入体系。但关于如何整合这些扩展、它们应承担何种职责以及共同追求哪些目标,各方都尚未形成明确共识。
DevOps的实施离不开明确的目标设定、跨职能的入职培训以及与所有相关方的直接沟通。当然,适应期需要谨慎的变更管理,但让所有人员都理解DevOps功能带来的改进,这本身就是成功的一半。
越来越多的DevOps实践(谢天谢地)开始重视安全流程中的成熟安全方法,消除了这一环节的神秘感,并弥合了安全团队与其他团队之间的鸿沟。 正如我之前所言,要让开发人员从一开始就具备安全编程能力,我们还有很长的路要走。但成功实施DevOps方法为在开发团队内部建立安全能力奠定了坚实基础。
自动化并非万能(而且它也不是最安全的)。
DevOps方法论的另一特征在于对软件开发流程的自动化程度提升。持续集成与持续交付(CI/CD)原则是该理念的基石,正如您所料想,其高度依赖各类工具。
工具确实非常出色,它们能前所未有地加速软件交付流程,并轻松管理代码仓库、测试、维护及存储等环节。
机器人或许终将取代我们所有的工作,甚至某天将我们囚禁起来,但它们显然尚未达到那个境界。对工具和自动化的过度依赖,为错误敞开了巨大的窗口。扫描和测试可能无法覆盖所有环节,代码可能未经充分验证,这最终将引发巨大的质量问题(更不用说安全隐患了)。 攻击者只需找到一个后门就能窃取数据,而放弃人工参与质量与安全检查,其后果将不堪设想。
“黄金比例”在于确保人与工具之间保持平衡。工具应作为团队的助手,您应信任它们来实现项目目标。您应该:
- 请预留充足时间,以便员工能够熟悉所选的DevOps工具链。
- 专注于高效协作(以及工具如何支持这一点)
- 消除流程中的所有漏洞,无论这些漏洞源于技能、知识还是工具。
简而言之,不要简单地升级设备就指望一切顺利。
DevOps 并非口号,而是一种文化。你是否在构建属于自己的文化?
变更管理在最佳情况下也充满挑战。对未知的恐惧可能阻碍最优秀的团队成员拓展技能、开阔视野。
仅凭一句"让我们实践DevOps",或是让运维团队搬动办公桌,并不能神奇地实现流程成功落地。 许多人会感到困惑,资深成员更会心生不满。明确传达期望至关重要,而"坚持自我"同样不可或缺。DevOps既是文化变革也是开发方法论,团队必须将跨职能协作的思维方式融入日常实践。
卓越的DevOps文化是什么样子的?
- 个人能够将专业知识融入流程,而不仅仅是管理者。
- 团队之间开放、诚实且相互尊重的沟通
- 每位人员在开发过程中都承担着对建筑质量与安全总体目标的责任。
- 所有成员都一致认同企业中DevOps的定义、发展路线图以及各岗位职责的具体内容、实施方式及意义。
多年来,我一直强调在开发团队中建立积极的安全文化至关重要,而DevOps也不例外。
正确的工具、正确的知识和正确的支持对于实施成熟的安全流程、观察发现的安全漏洞数量下降以及让团队认识到保护我们数据的重要性至关重要。 在DevOps实践中,您需要为积极变革奠定文化基础:确保每位成员都清楚自身职责、价值定位与预期目标,同时理解整体项目目标及流程中的每个环节。
若您已掌握这些要点,那么现在让我们转换视角,聚焦安全维度,将DevSecOps打造为实现卓越软件的终极方案。

请点击下方链接下载该资源的PDF文件。
Secure Code Warrior 您的Secure Code Warrior 帮助您在整个软件开发周期中保障代码安全,并建立将网络安全置于首位的企业文化。无论您是应用安全经理、开发人员、首席信息安全官,还是其他从事安全工作的人员,我们都能协助您的企业降低不安全代码带来的风险。
查看报告预约演示首席执行官、主席和联合创始人
Pieter Danhieux是全球公认的安全专家,拥有超过12年的安全顾问经验,并在SANS担任首席讲师8年,教授如何针对和评估组织、系统和个人的安全弱点的攻击性技术。2016年,他被评为澳大利亚最酷的科技人士之一(Business Insider),被授予年度网络安全专业人士(AISA - 澳大利亚信息安全协会),并持有GSE、CISSP、GCIH、GCFA、GSEC、GPEN、GWAPT、GCIA认证。
本文最初发表于 DevOps.com。内容已更新并修订。
与"区块链"、"大数据"和"数字颠覆"类似,"DevOps"这个术语是当前在大企业IT部门中流行的又一流行语。
许多人(理所当然地)认识到加快软件开发周期的必要性;需要一个更精确的流程,该流程与业务目标紧密关联,并能实现开发与运维团队之间更清晰的工作流程和协作。DevOps本质上是一种"敏捷"开发模式,它已成熟完善,能够满足现代企业不断变化、快速发展的需求。 对安全专家而言,这堪称绝佳举措:我们能将安全防护更早地融入流程,从而降低缺陷修复成本,并避免未来潜在的灾难性后果。
问题在于,真正成功实施DevOps的企业寥寥无几。若缺乏全公司范围内的正确支持、维护和理解,它很快就会变成无底洞……您懂的,就是那种不提战争的项目。
那么问题出在哪里呢?这是一场有意义的讨论,我认为有几种方法可以推进DevOps实践,它们将显著提升流程的顺畅度。有效的DevOps计划远不止于添置几款新潮工具、设立花哨头衔或召开团队会议。 过程未必总是一帆风顺,但花时间修复失败的策略(或从一开始就正确实施),从长远来看会少走很多弯路。最终,这将带来更高质量、更安全的软件。
让我们来分析一下:
解开“敏捷”围裙带。
存在一种普遍误解,认为企业必须在敏捷与DevOps之间二选一,并强制选择其中一种路径且永不回头。
事实上,当将两者视为统一整体来实施时,开发流程才能发挥最佳效能。DevOps并非对敏捷开发的重新发明,而是对其的延伸拓展。 当人们期待流程要么完全遵循敏捷,要么彻底背离敏捷时,整个体系往往就会分崩离析。
敏捷开发倡导跨职能团队协作,从项目初期就将设计师、测试人员和开发人员汇聚一堂,并承诺在整个项目周期中保持开放的沟通渠道。其目标在于终结孤岛式交付模式,减少重复工作。 这两点同样是DevOps流程的优势。但DevOps更进一步,将系统、安全和运维融入其中,提供强大的端到端专业知识,其终极目标是为客户提供完整、可运行的软件交付。
在向更侧重DevOps的流程转型过程中,不可避免会出现各种问题,此时孤岛式开发风险可能再度浮现。通常,原始敏捷团队能够协同工作,而安全与运维扩展仍需逐步融入体系。但关于如何整合这些扩展、它们应承担何种职责以及共同追求哪些目标,各方都尚未形成明确共识。
DevOps的实施离不开明确的目标设定、跨职能的入职培训以及与所有相关方的直接沟通。当然,适应期需要谨慎的变更管理,但让所有人员都理解DevOps功能带来的改进,这本身就是成功的一半。
越来越多的DevOps实践(谢天谢地)开始重视安全流程中的成熟安全方法,消除了这一环节的神秘感,并弥合了安全团队与其他团队之间的鸿沟。 正如我之前所言,要让开发人员从一开始就具备安全编程能力,我们还有很长的路要走。但成功实施DevOps方法为在开发团队内部建立安全能力奠定了坚实基础。
自动化并非万能(而且它也不是最安全的)。
DevOps方法论的另一特征在于对软件开发流程的自动化程度提升。持续集成与持续交付(CI/CD)原则是该理念的基石,正如您所料想,其高度依赖各类工具。
工具确实非常出色,它们能前所未有地加速软件交付流程,并轻松管理代码仓库、测试、维护及存储等环节。
机器人或许终将取代我们所有的工作,甚至某天将我们囚禁起来,但它们显然尚未达到那个境界。对工具和自动化的过度依赖,为错误敞开了巨大的窗口。扫描和测试可能无法覆盖所有环节,代码可能未经充分验证,这最终将引发巨大的质量问题(更不用说安全隐患了)。 攻击者只需找到一个后门就能窃取数据,而放弃人工参与质量与安全检查,其后果将不堪设想。
“黄金比例”在于确保人与工具之间保持平衡。工具应作为团队的助手,您应信任它们来实现项目目标。您应该:
- 请预留充足时间,以便员工能够熟悉所选的DevOps工具链。
- 专注于高效协作(以及工具如何支持这一点)
- 消除流程中的所有漏洞,无论这些漏洞源于技能、知识还是工具。
简而言之,不要简单地升级设备就指望一切顺利。
DevOps 并非口号,而是一种文化。你是否在构建属于自己的文化?
变更管理在最佳情况下也充满挑战。对未知的恐惧可能阻碍最优秀的团队成员拓展技能、开阔视野。
仅凭一句"让我们实践DevOps",或是让运维团队搬动办公桌,并不能神奇地实现流程成功落地。 许多人会感到困惑,资深成员更会心生不满。明确传达期望至关重要,而"坚持自我"同样不可或缺。DevOps既是文化变革也是开发方法论,团队必须将跨职能协作的思维方式融入日常实践。
卓越的DevOps文化是什么样子的?
- 个人能够将专业知识融入流程,而不仅仅是管理者。
- 团队之间开放、诚实且相互尊重的沟通
- 每位人员在开发过程中都承担着对建筑质量与安全总体目标的责任。
- 所有成员都一致认同企业中DevOps的定义、发展路线图以及各岗位职责的具体内容、实施方式及意义。
多年来,我一直强调在开发团队中建立积极的安全文化至关重要,而DevOps也不例外。
正确的工具、正确的知识和正确的支持对于实施成熟的安全流程、观察发现的安全漏洞数量下降以及让团队认识到保护我们数据的重要性至关重要。 在DevOps实践中,您需要为积极变革奠定文化基础:确保每位成员都清楚自身职责、价值定位与预期目标,同时理解整体项目目标及流程中的每个环节。
若您已掌握这些要点,那么现在让我们转换视角,聚焦安全维度,将DevSecOps打造为实现卓越软件的终极方案。




%20(1).avif)
.avif)
