【.com快速翻译】在急于利用云原生应用程序开发和Kubernetes等工具之后,DevOps团队现在需要思考更多。在许多情况下,DevOps采用了Jenkins等早期的持续集成/持续部署(CI/CD)管道工具,现在正试图将它们适应以前不适合的云原生场景。云原生将开发人员拉到与基础架构相关的操作中。当前的CD工具无法帮助恢复开发人员在切换到微服务架构之前所拥有的应用程序级上下文,这增加了部署后应用软件的开发工作流程和可观察性。复杂。DevOps团队在管理应用程序软件策略方面也面临着新的挑战,尤其是在受到严格监管的行业中,因为他们调整流程以在云原生环境中建立信任和安全性。与此同时,DevOps需要重新评估自动化方法和策略以消除人为错误,因为云和Kubernetes部署面临着非常繁琐的手动工作。以下是DevOps需要仔细考虑的三个方面的策略(宜早不宜迟),为云原生2.0的未来做准备,以便更有效地利用云原生环境。1.具有更强互操作性和可组合性的CI/CD鉴于可用选项的范围不断扩大,选择和实施CI/CD工具在云原生2.0环境中变得更受关注,但这也是一个战略挑战。一些工具在开发管道的早期提供优势,其他工具在开发管道的后期提供优势。从CI到CD再到发布自动化(RA),DevOps团队需要检查潜在的工具以及如何将它们拼凑在一起以组装一个优雅和谐的管道。不幸的是,正如许多DevOps团队所知,这说起来容易做起来难。一些端到端的解决方案还会引入锁定和其他不良方面,而一些同类最佳的零碎解决方案可能效果不佳。我希望并预测在不久的将来会有更大的互操作性。作为CloudNative2.0的一部分,CI、CD、RA,甚至面向治理和合规的解决方案都是完全即插即用的。到那时,DevOps可以针对特定需求选择最合适的解决方案,然后它就会发挥作用。现在,当我们等待这种即插即用愿景的到来时,可组合性是DevOps在未来解决方案中应该寻找的一个重要方面。管道组件轻松交互的能力简化了无数的使用场景以及关键的安全性和合规性问题。跨云原生管道实施策略驱动的约束需要具有广泛可组合性的DevOps工具链。幸运的是,许多CI/CD系统在这方面做得很好:使扩展和插件成为可能,从而使跨管道的可组合性成为现实。2.利用应用策略管理策略必须适用于整个应用程序开发和部署生命周期,以确保遵守重要的安全和治理规则。不要跳过任何可能引入漏洞的步骤。对于在云原生环境中工作的DevOps团队来说,Kubernetes及其替代品的高度复杂性使得实施这些策略变得越来越困难。作为一种策略,DevOps应该利用此类工具和框架来:1)使开发人员免受Kubernetes复杂性的影响,以及2)保护他们免受风险。例如,如果您将构建映像部署到Docker存储库(如DockerHub),它包含用于检测和报告漏洞和其他安全故障的工具。内部源代码扫描可以识别合并请求中的漏洞。工具还应该支持跨团队协作和关键知识共享。从结构上讲,将DevSecOps嵌入开发团队是有意义的,将安全作为常规流程的一部分来处理。借助相邻的DevSecOps和工具来应对生成Kubernetes对象和维护环境等挑战,开发人员可以专注于代码和解决业务问题。这就是他们想要做的,这就是他们的目的。还应该使用具有强大应用程序框架的工具来定义和执行DevSecOps控制的策略,自动禁止危险活动和错误。有了适当的应用程序策略管理框架,如果开发人员错误地尝试部署受污染的图像,他们将无法部署。此类框架可以强制执行安全策略和资源限制、启用或禁用安全扫描、管理是否标记或忽略CVE,以及控制团队对跨云原生环境的Kubernetes和服务的访问。3.平衡自动化和审计应用程序开发中的人为错误会降低生产力。通常更大的担忧是增加的安全性和合规性风险。自动化和审计之间有一个有趣的关系:自动化减少了人为错误,而审计允许人们解决由自动化引起的错误。有点令人惊讶的是,云原生环境将人们带回了非常手动的流程,使得新的自动化对开发人员的生产力变得更加重要。例如,带有Helm图表和YAML文件的原始Kubernetes需要大量脚本编写和手动部署工作。(根据我自己对Kubernetes的使用,我认为如果每次我在编写YAML文件时出错,我都会在罐子里放一美元,我会填满几个罐子。)提取开发人员不关心的Kubernetes细节自动化很受欢迎。自动化最适合可产生预期结果的可重复任务,例如扫描安全问题、检查代码是否使用安全且经过验证的库等。有效的自动化不是一劳永逸的自动化——它需要监督和维护。例如,自动化系统可能会标记实际上无害的CVE,需要人为判断来完善系统。完全有可能将不可信的不良流程自动化,这最终只会导致更多问题。正确的策略是首先开发值得信赖的手动系统,然后根据需要将其自动化。通过利用可组合的CI/CD解决方案和谨慎的策略来自动化安全和简化的应用程序开发,DevOps可以最大限度地减少云原生环境的挑战,同时使开发人员能够提高创造力和生产力。原标题:CloudNative2.0:3DevOpsStrategiestoConsiderNow,作者:HenrikRosendahl
