查看原文
其他

DevOps和DevSecOps是朝着相反的方向前进吗?

DevOps和DevSecOps是一个组织内部的两种不同的开发模式,其目的是提供敏捷开发和快速创新,它们彼此之间有什么共同之处?这两个开发模式之间的关系是什么?它们是否都体现了一种有利于软件开发协作的趋势?还是说它们代表着两个相反的方向,提供软件开发的不同模式?

追求快速创新的DevOps方法的兴起是否增加了安全风险,从而无意中产生了对DevSecOps的需求?或者,将安全融入到DevOps中只是出于将安全问题从安全从业者的单独监管中解放出来,并使其成为开发人员专业知识和经验的一部分。

下文将解密DevOps究竟是如何进化成DevSecOps的。

DevOps的出现

当初,市场对快速创新的需求导致DevOps的兴起时,这是一个由开发人员和运营人员组成的团队,负责自动化处理一些过去需手工完成的任务,例如组件选择、集成、配置、合规管理、备份流程、资产跟踪、部署和运营监控等。为了使整个流程始终保持运转,DevOps团队成为应用程序开发中全自动化的守卫者。

DevOps团队的成立很好地弥补了开发和运营之间的历史鸿沟。因为DevOps能够摆脱过去的软件开发模式,即瀑布式模型,该模型的思维非常封闭,而且开发人员和运营人员工作是割裂的,开发人员负责编写代码,运营人员负责部署和监控,从而产生众多瓶颈和积压待办的事务。

就像之前所预料的一样,整个行业需要一个能够满足快速增长的市场需求和不断缩短交付时间的开发模式,DevOps像野火一样流行起来。随着应用发布时间从几个月缩短到几周,企业级产品有时会以每两周一次的速度发布新版本,很明显开发人员无法仅仅通过手动处理方式保证开发的敏捷性。关于这个问题,一直追求的自动化运营模式便是解决方案。因此,一个新的混合术语DevOps诞生了,它将开发任务和运营过程保持自动化,并使整个生产系统朝着及早发现问题、快速响应、减少部门摩擦,逐步向着没有瓶颈的方向发展。

从DevOps到DevSecOps

如果说DevOps需要开发和运营流程的自动化和相互协作,DevSecOps更进一步要求在开发过程中采用相应安全措施,以实现持续的风险管理。它主张将安全集成到CI / CD流程中,进一步弥合安全和开发团队之间的传统差距。

这是一个很大的跨越。因为开发和运营之间的协作更为自然,但开发和安全团队一直都有明显不一样的目标。开发面向敏捷开发和快速发布,而带有审计和合规性质的安全,其无意中阻碍了开发进度。

那么DevOps该如何处理那些让它慢下来的安全团队呢?合并它们也许是最好的办法。

为什么安全团队愿意服从?因为如果你不能打败他们,那就加入他们。

因为如果没有成为DevOps的一部分,安全会失去对开发全生命周期的管控,并且无法保证他所看不到的那些内容的安全性。

因此诞生了一个名为DevSecOps的概念,它将安全融合进了DevOps团队,并将安全工具自动化和集成的责任交付给SDLC。

一旦安全掌握在专业人员手中,而不是专门编写代码的DevOps人员手中,安全人员可以更轻松地将安全责任移交给DevOps,实现双赢结果。

就其本质而言,开发人员不是安全从业者。他们负责功能开发,而不是如何管理关键资产的安全性。

正是因为理解了软件开发正以越来越快的速度朝着DevOps的方向发展,而且安全不能保持一个独立和孤立的实体。如果安全不向左移动,以便在开发早期阶段进入SDLC,那么安全将永远是敏捷开发的障碍和麻烦。

将安全能力融入DevOps

那么DevOps和DevSecOps是否正朝着相反的方向发展呢?答案是否定的。事实上,按照应用程序开发的速度,DevOps将很快无法独立存在,而DevSecOps将很快取而代之。

DevOps与DevSecOps两者并不矛盾,它们只是两代不同的开发模式而已。几年前的DevOps就是今天的DevSecOps。虽然DevSecOpS大多数人还没有采用这个术语,但很多人已经开始有自己的想法。因此,将安全作为开发工作流的一个组成部分并不是一个调整,而是一种进步。

在未来,随着DevSecOps的采用变得越来越普遍,我们将看到安全工具对开发人员越来越友好,而那些DevOps团队也会对自动化安全措施做出响应。

-The End-

相关阅读:

将安全融入DevSecOps工具链中

青藤云安全以服务器安全为核心,采用自适应安全架构,将预测、防御、监控和响应能力融为一体,构建基于主机端的安全态势感知平台,为用户提供持续的安全监控、分析和快速响应能力,帮助用户在公有云、私有云、混合云、物理机、虚拟机等多样化的业务环境下,实现安全的统一策略管理,有效预测风险,精准感知威胁,提升响应效率,全方位保护企业数字资产的安全与业务的高效开展。


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存