TOC
作者 Matheus Paes Pereira、Garima Bajpai 和 Moïse Kameni
开源技术越来越受欢迎,尤其是在航空、银行、医疗保健、能源和国防等监管严格的行业.由于采用了现代软件进行交付实践,它在一定程度上是处于发展大趋势的前面,这些实践能够以快速可靠的方式实现增量软件发布.开源工具的重大进步有助于大规模采用持续交付.
随着组织开始从采用持续交付中获得巨大收益,很明显的一件事情是开源工具已经成为了新常态的一件事.如果我们专注于高度监管的行业,那么减少采用开源技术的障碍会具有令人信服的优势.然而,这些行业对于安全性、可靠性以及合规性都有着独特的要求,这就使得采用新技术具有一定的挑战性.在这些环境中采用开源技术的时候,组织还需要考虑几个注意事项.
采用开源技术
在高度监管的环境中采用开源技术可以带来许多好处,比如持续合规以遵守不断变化的法规、成本优化、灵活性和获得大量开发人员社区的支持。通过本博客,我们提出了一些关键考虑因素和示例,以简化开源工具和技术的采用,为高度监管的领域提供持续交付的支持。
持续的合规性
高度监管的行业对法规合规有严格要求,确保在这些环境中使用的开源技术符合这些要求至关重要。组织应该仔细评估软件是否符合行业法规和标准,并确保已获得任何必要的认证或批准。
策略即代码工具,如Open Policy Agent(OPA,发音为”oh-pa”),是Cloud Native Computing Foundation(CNCF)的孵化项目之一,可以促进持续合规性。它是一种声明式的方式,为微服务、Kubernetes、持续交付/持续集成(CI/CD)管道、API网关等实现策略的统一方法。
安全
确保开源工具已经得到适当的安全保护,并且已经识别和解决了任何漏洞。组织应该定期进行安全评估和渗透测试,并制定漏洞管理计划。例如,Pyrsia(发音为”pir-see-ah”)是一个分散式包网络,通过创建一个保护开源构建和分发的系统,来保护开源依赖软件供应链的安全。这是加速多种不同语言的供应链安全的关键。
风险
在监管行业中自动化软件开发可能需要进行初始的尽职调查。其中最重要的考虑因素之一是在交付增量功能的同时不断降低风险。采用一个架构良好的平台,可以提供自动化同时实现所有控制,可以节省大量的时间和精力。
Tekton 是一个最相关的开源工具,它是一个提供自动化软件交付管道的开源项目。Tekton 允许在构建、测试和部署应用程序时保持一致和可重复性。
Tekton 已被各种监管行业的公司采用,以自动化其软件开发流程并提高效率。例如,在金融服务行业的 PicPay 和 Nubank 中,Tekton 自动化了银行、投资和P2P交易系统的软件更新的测试和部署,确保软件是可靠的且符合安全要求。了解更多信息,请参阅”Tekton 如何帮助 Nubank 扩展规模”和”为什么以及在哪里开始一个平台工程团队”。
采用开源的策略
以下是一些想采用开源技术的高度监管组织的建议.
最佳实践
开源软件可以提供比专有软件更灵活的功能,但组织应确保这些工具可以轻松集成和定制,以满足组织的特定需求。确保评估开源质量指标。开源安全基金会(OpenSSF)的最佳实践标记是自由/开源软件(FLOSS)项目展示其遵循最佳实践的一种方式。
可信供应链
请确保采用来自可信生态系统的开源工具和技术,有一个识别和跟踪软件中存在的开源组件的流程非常重要。此外,该流程应能够处理与组织整体业务实践相一致的开源义务。可以在openssf找到一些指南。
执行技巧
毫无疑问,采用开源方案所需的关键技能和能力的建设对于成功的实施至关重要。虽然开源是免费和开放的,但是在维护、采用和大规模运营方面需要付出大量的努力。这些关键技能可以通过从业者社区或内部合作来获得。在 CI/CD 领域,许多开源工具都有强大的社区支持,同时还有像 CD 基金会这样的组织,为连续交付的整个开源社区提供大量支持。
互操作性和标准化
CI/CD 从业者有很多工具可供使用,但通常情况下,我们今天所谓的 “pipeline” 明天可能就不会再被称为这个名称了,大多数这些工具都存在于开源领域中。考虑采用松散耦合的架构组件,避免任何供应商锁定:CDF Interoperability SIG 已经在 CD 生态系统内实现互操作性方面做了很多工作,他们的工作成果之一是 CDEvents 项目-一个用于标准化在 CI/CD 流程中使用的事件的项目。此外,CDF 互操作性特别兴趣小组(SIG) 还创建了一份文件,收集了 CI/CD 工具和技术使用的基本术语,以便于建立共享词汇,为人类的沟通和协作做出贡献,并最终将其集成到 CDEvents 中。
自动化
自动化可以通过为工程师提供快速反馈循环来提高速度并降低风险。想想如何进行基础设施的规划和自动化合规流程。 GitOps 是一种实践,可以使组织以自动化和声明性方式处理其基础设施。
消耗
在高度监管的组织中,构建软件通常不是核心活动,幸运的是市场上有很多解决方案来解决各种业务挑战。
通过确保您使用的开源软件具有软件材料清单 (SBOMs) 来保持合规性。 SBOMs为所有软件资产提供透明度,并是保障软件供应链的重要工具。
保持开源心态
在组织内部推广开源社区,以评估工具是否满足组织的需求,同时为开源项目做出贡献,以影响工具的路线图。
开源可以是一种有效的方式,通过依靠出色的现有技术并从中创新,同时保持合规性并得到大型社区的支持,以提供与私有解决方案相同的价值。为什么要从头开始,当你可以借助伟大的现有技术并从中创新呢?
从哪里开始?
Linux 基金会拥有各种各样的社区,它们都致力于推动开源的使用,并且为各种受监管行业作出贡献,例如 LF Energy 和 [LF Networking])(https://lfnetworking.org/),你可以关注这些社区并且找到你可以加入的方式.
英文原文出处
最后
本文结合 chatGPT 翻译而来.
微信公众号
扫描下面的二维码关注我们的微信公众号,第一时间查看最新内容。同时也可以关注我的Github,看看我都在了解什么技术,在页面底部可以找到我的Github。
![wechat-qrcode](/img/qrcode_for_sikekafeidou.jpg)