写点什么

敏捷环境中的 DevSecOps

  • 2022 年 2 月 15 日
  • 本文字数:1812 字

    阅读完需:约 6 分钟

敏捷环境中的DevSecOps

乍一看,DevSecOps 和敏捷似乎是不同的东西。实际上,这些方法论通常是相辅相成的。让我们一起看看为什么。


敏捷是一种方法论,旨在为团队在软件开发过程中提供灵活性。DevSecOps 则是在现有的自动化软件开发过程中加入自动化安全防范。这两种方法论都要求不同的利益相关者之间进行高水平的沟通,并将持续改进作为流程的一部分。


但是,DevSecOps 究竟是如何在敏捷环境中工作的呢?为什么敏捷中的 DevSecOps 很重要?


DevSecOps 如何在敏捷环境中工作

要了解 DevSecOps 如何在敏捷环境中工作,我们必须首先理解什么是敏捷。


敏捷通常是速度概念的同义词——即快速发布和频繁发布。然而,随着软件开发人员的速度越来越快,他们所使用的旧防范工具已经无法跟上。防范性成为了一个减速带,并且经常被绕过,以便快速发布代码。随着时间的推移,软件变得很容易发生漏洞,侵权和黑客攻击。


DevOps 是作为一种方法论被开发出来的,它使应用程序开发人员和软件发布团队能够更有效地协作,从而以更快的速度交付应用程序。DevSecOps 是 DevOps 的演进,其驱动力是在自动化的 DevOps 流程中增加自动化的安全。


尽管存在差异,但敏捷和 DevSecOps 可以被视为是相互补充的,因为它们都试图实现相同的目标:速度。


将防范作为敏捷工作流程的核心功能进行提升

DevSecOps 的主要目的是避免拖慢交付管道(pipeline)。然而,结构和构造不良的软件也有能力减缓交付速度。随着我们进入一个完全数字化的世界,忽视 DevOps 流程中的安全问题会大大降低团队保持敏捷的能力。


当敏捷过程被遵循但没有正确实施时,就会出现 "假敏捷"。这意味着,团队采用了 sprints,、standups、 scrums 和 burndown charts 等敏捷开发的形式,但所生产的软件是以一种草率的方式完成的。在不理解如何正确实施软件以避免破坏现有应用,而一味追求快速部署的组织中普遍存在假敏捷。


敏捷宣言的一个关键价值是优先考虑 "工作软件而不是全面文件"。然而,这意味着软件不仅仅是简单地执行它所需要的功能。正常工作的软件涉及软件有效和安全工作所需的一切。这意味着要考虑到的不仅仅是核心代码的特点和功能,还需要包括其他层面,如基础架构和围绕它的安全防范性。


对于团队和软件来说,要做到真正的敏捷,他们需要将 DevSecOps 纳入其工作流程。


管道(pipeline)中的自动化防范功能:敏捷工作流程的一部分

自动化是 DevSecOps 的一个宝贵功能,这是因为它能够对不断发展中的运维和安全防范评估实现持续集成、持续部署和扩展。在设计和理念上,DevOps 强调通过自动化部署强调了速度。DevSecOps 则更进一步,将安全防范协议、检查和测试自动化,以确保软件是 "世界通用的",而不仅仅是在一个样本中。


当 DevSecOps 的开发周期成为敏捷冲刺的一部分时,他们可以确保所交付的软件保持稳健,并针对潜在的漏洞进行更新。


敏捷也不仅仅是交付特性和软件的能力。它包括对来自任何来源的变化作出反应的能力,这涵盖了市场规律,恶意行为者和网络攻击等范畴


根据 IBM 的《2021 年数据泄露成本报告》,单次数据泄露产生的平均成本从 386 万美元上升到 424 万美元,增长了近 10%。DevSecOps 是通过零信任等各种方法防止网络犯罪和恶意数据劫持的措施。IBM 的报告称,与没有采用这种方法的组织相比,采用零信任方法的组织的漏洞成本减少了 176 万美元。此外,那些拥有成熟的 DevSecOps 流程的企业也能够比没有的企业平均快 77 天遏制漏洞。


有了 DevSecOps,安全防范在开发过程中就被内置到应用程序,从而更容易识别和解决漏洞。这确保了当软件及其功能被交付时,它们能保持功能质量的基线水平。


敏捷设计的目的是,通过使开发人员能够创建提供更好产品和服务的软件,帮助组织实现利润最大化。然而,一个应用程序被破坏可能会导致收入损失、客户信任度降低、增长减少和市场份额缩减。此外,一个漏洞需要转移资源来解决漏洞,并确保软件在结构上符合防范需求。


总结:DevSecOps 和敏捷可以共存

速度和防范可以共存,尤其是在 DevSecOps 和敏捷的环境中。敏捷并不意味着你的团队需要牺牲防范性,DevSecOps 也不意味着你必须牺牲速度。


DevSecOps 很重要,因为当与敏捷一起正确实施时,速度和防范性都可以大规模地实现。只有当交付的软件能够以最小的代价来适应变化时,才能实现敏捷。将开发人员、质量保证测试人员、安全防范专家和运维人员集成到一个 DevSecOps 团队中,可以构建一个有凝聚力的软件,包含更少的错误,更好的模块化和自动化。反过来,这也减少了任何更改自然带来的软件结构和架构阻力。


文章来源:https://bit.ly/3GMCFdB



用户头像

还未添加个人签名 2021.05.18 加入

还未添加个人简介

评论

发布
暂无评论
敏捷环境中的DevSecOps