### Li Yudong

# 我们为什么需要 DevSecOps 和制品仓库？

Helen Beal 在 Nexus 用户大会上发表的关于构建 DevSecOps 的建议

Helen Beal 曾经在一次讨论什么是 DevSecOps 工程师的会议上发言。令她惊讶的是，在与会人员中，许多人都没有将安全机制引入 DevOps。在与人们讨论之后，她将大家的问题总结为三类：安全机制会制造额外的隔阂；组织中的人很难理解 DevOps，因此安全机制可能会造成更多困惑；可能没有为安全机制预留空间。

当然，Helen 不同意这些观点。她在技术领域从业近20年，专注于软件开发生命周期，对于 DevOps 和DevSecOps 有一些自己的理解。她自称为 Ranger4 的 「DevOpsologist」，因为她帮助那里的组织实现 DevOps。她在世界各地分享知识，并且她将参加我们在 2018 年的 Nexus User Conference ，讨论工具仓库及其在 DevSecOps 工具链中的角色。

从高层次来看，Helen 为 DevSecOps 提出了一些重要建议：

- 确保安全是每一个人的职责
- 认识到安全人员的匹配限制。平均而言，人员比例为 100 名开发人员 : 10 名运维人员 : 1名安全人员
- 尽早移交产品进行测试和验证。缺乏足够的安全人员会造成一定的约束，移交并自动执行任务可以减少瓶颈并提前解决问题。
- 积极主动地降低风险
- 培养安全文化

Helen 花了一些时间阐述如何培养安全文化，组织在维护系统和人员行为安全时可以采用的一些关键原则和行动。

行为安全使个人和团队能够以安全的方式行事。为了培养行为安全，她建议：

- 让人们意识到，失败是一个学习机会
- 确保团队之间有共同的责任和目标
- 不要吝啬花时间做实验
- 使用可协作的平台来分享学习经验和最佳实践
- 对实验的过程进行回顾，并确保有后续

她提到了几个真实的例子，例如 Esty，LEGO 还有 P&G 的「失败奖励」以及 Spotify 用来展示和追踪失败的「失败墙」。

系统安全能够保障你的基础设施安全，她关于培养系统安全的建议包括：

- 用持续集成进行构建
- 使用部署自动化来驱动一致性和可审计性，并允许即时重新部署上一个已知的可用版本
- 用 ChatOps 来归类问题和事件
- 使用应用程序性能管理以提早发现问题并警告
- 降低出现问题波及范围，例如使用功能开关，金丝雀测试，蓝／绿环境和微服务
- 将产品需求与服务台相结合
- 养成使用混沌工程来找到失败原因的习惯

在讲述 DevSecOps 案例并说明如何灌输安全文化后，她将话题转向如何使用制品仓库。 毕竟，这是一个 Nexus 会议，制品仓库是 Nexus 的特色。

她引用了 Manfred Moser 的话：「开发软件中没有制品仓库和制造业中没有仓库是一样的。」你不会奢望在没有仓库的情况下开办工厂，软件开发也一样。制品仓库保存了你每次构建的结果，并且确保你拥有可用的构建。

制品仓库位于 DevOps 工具链的集成阶段，尽管其在构思阶段可被用来表示你想使用的工具是可用状态。

如果没有开源策略，你就不应该使用制品仓库。制品仓库会自动执行你的开源策略，这样就不会像 35％ 的组织一样有开源策略但忽略它。

Helen 利用 Nexus Lifecycle 来告诉开发人员如何更好地使用制品，降低风险，并协助运维和安全部门确保使用了正确的软件。

最重要的是，如果你还没有用上 DevSecOps ，那你应该尽早启用。这是未来的趋势，它已经渡过了发展期成为了一个成熟的概念，也有成熟的工具来帮助你。这会花一些时间，但一定是值得的。

如果对 Helen 的整篇演讲感兴趣，可以在 此处 免费观看。

######
“我们为什么需要 DevSecOps 和制品仓库？” 更新于：April 28, 2019
原文作者：Derek Weeks

改善此页

- Tags:
- security
- devops
- Related entries:
- Jenkins 的重要安全更新
- 在安全防火墙内通过 WebHook 触发构建
- 春季安全清查