企业DevOps:大规模DevOps成功的5个关键
尝过之后DevOps的好处在美国,企业自然会寻求扩大其采用范围。然而,当团队试图扩展DevOps工作时,适用于小规模用例的工具和流程往往不够用。您必须支持所有不同的团队、工具集、应用程序、流程、工作流、发布周期和管道——包括遗留和云原生。否则,您可能会以随意的自动化竖井或混合而告终DevOps工具和流程,在质量、安全性、速度以及最终的成功方面都有很大的不同。
成功是至关重要的,因为软件现在几乎是所有业务流程的基础和便利。DevOps以其迭代的、协作的方式进行应用程序开发和交付,处于这个新价值链的中心。大规模实施需要正确的结构、流程和工具。
在这本电子书中,我们将概述在您的组织中有效扩展DevOps的五个关键原则。
- 端到端的DevOps集中管理
- 从一开始就安全
- 未来证明与云原生
- Pipelines-as-Code
- 放眼全球,立足本地
企业DevOps成功的五个关键原则
作为企业DevOps的先驱和领导者,JFrog知道如何在组织中有效地扩展DevOps。超过5800人客户包括许多世界上最大的企业,在所有垂直领域,我们对大规模DevOps有所了解。
我们与这些大型组织合作,因为他们拥抱DevOps——现在是云原生现代化——频繁和大规模地交付高质量的软件。以下是我们的客户在企业中扩展DevOps时付诸实践的五个关键原则。
1 -集中管理端到端的DevOps流程及其输出
端到端的中心DevOps的平台应该包括二进制文件的管理,容器图片,CI / CD管道,安全性和遵从性,软件分发到跨越运行时环境、边缘和“事物”的最后一英里部署。目前,许多CI / CD工具允许您管理自动化过程或其结果(构建和二进制文件),但不能同时管理两者,也不支持所有类型的二进制文件和技术。
有一个DevOps平台来支持这个中心是很重要的世界杯2022赛程时间表 从一个解开始。统一的体验为你的整体提供了清晰的可见性和单一的真相来源SDLC软件资产。这加快了软件交付,提高了代码质量、安全性和治理,并允许您对依赖项下载、存储库、部署、构建、管道和发布采取行动并触发自动化流程。
通过从单一的端到端DevOps解决方案管理交付过程、交付资产和输出,而不必在不同的工具之间进行“上下文切换”,您将能够:
- 确保一致性和可追溯性在软件生命周期中的所有工件中,当它们流经从开发到生产的管道时。
- 拥有一个通用的资料库和唯一的真相来源对于不同类型的二进制文件、容器映像、环境、进程、点工具等。
- 管理安全性和遵从性跨所有工具、过程、工件和存储库,包括第三方的,以确保整个组织的治理。
- 获得对整个管道和组织的完全可见性.不再有筒仓式流程或雪花式配置。
2 -从一开始就安全-内置DevSecOps和“左移”功能
企业DevOps必须在整个软件生命周期(从开发到部署再到生产)中纳入安全性和合规性检查。60%到80%的应用程序代码是由第三方开源组件组成的。通过重用生态系统中可用的现有组件,将OSS依赖项作为应用程序的一部分,大大加快了开发人员实现价值的时间和生产力。然而,这些依赖项通常包含安全漏洞或,许可合规问题,或其他治理风险。
如今的企业必须应对软件空前的增长。他们正在生产越来越多的工件和应用程序——都使用OSS组件。此外,不断采用microservices-based由于无数的连接服务,以及每个容器映像可以包含数十个带有数百个OSS依赖关系的层,云原生应用程序进一步扩大了攻击面。
由于越来越快地修补这些漏洞的迫切需求,试图领先于坏人一步,而且每200名开发人员中典型的企业只有一名安全分析师,这种情况变得更加复杂。
试图在软件开发生命周期的末尾附加安全测试会造成瓶颈并降低交付速度。因为安全测试和扫描是一件痛苦的事情,它们往往会被推到流程的末尾,成为瓶颈。
解决方案?
- 安全性和合规性必须是一流的公民,默认启用,作为您所选择的DevOps平台不可分割的一部分。没有更多的工具/上下文切换,或者记得运行测试或启动扫描。
- 安全性必须是通用的,这意味着它支持所有类型的二进制文件,包括容器映像等云原生构件,并且在整个构件生命周期和CI/CD管道中紧密集成。
- 深度递归、扫描从应用层到操作系统(OS)层,所有依赖项(包括容器映像)都需要。当心那些不能自动扫描和识别到OS级的粒度依赖树的工具,而无需开发人员进行繁重的工作。
- 扫描必须是连续的和自动化的(在DB级别),跨越所有存储库和生产实例,而不仅仅是由管道触发。为什么?许多依赖关系可能已经存在于“系统”中,并且跨现有的应用程序/构建。db级扫描可确保您对新披露的漏洞发出警报,并可以修补它们——即使是在旧应用程序或可重用包中,这些应用程序或包不属于当前“活动”CI/CD交付管道的一部分。除了db级扫描之外,作为CI/CD自动化的另一个验证阶段,您应该能够触发安全扫描和安全门。
- 启用“左移位”。您的应用程序安全解决方案必须与您的IDE集成,以便您可以在开发应用程序的过程中尽早识别并修补漏洞。越早发现这些漏洞,修复它们的成本就越低——而不是等到代码准备好构建,更不用说发布到生产环境了。
- 设置安全和遵从性策略的治理规则,根据软件开发阶段和您公司的情况,可以灵活地调整实施范围和后续行动DevSecOps推广计划。根据您的团队、应用程序、用例、DevSecOps成熟度和风险,您的策略可能或多或少严格。
云原生的未来证明:现代化势在必行
当您现代化您的应用程序以利用现代云原生模式和技术(如Kubernetes)时,请记住您仍然需要能够更新您的遗留应用程序-并且不是所有的应用程序都是容器化的微服务(目前)。
企业DevOps平台应该同时支持云原生应用程序和遗留应用程序,这样您就可以管理这两种应用程序的整个生命周期。这包括他们的二进制文件、CI/CD进程、安全扫描等等,而无需切换到单独的工具。
同样,你的DevOps平台必须是混合的多重云,这样您既可以使用它,也可以使用它来管理跨本地、私有和公共云、多云和边缘基础设施混合环境的交付管道。
4 -管道即代码
将管道定义为代码的能力提高了开发人员的生产力,并有助于扩展DevOps工作。您可以在源代码控制中存储管道定义,这使得它们可共享(因此您可以与您的团队协作)、可版本化、可重用、可审计和可再现。
这消除了开发人员之间的冗余工作(因此团队不需要重新发明轮子来创建他们的CI/CD自动化),并且还允许您在整个组织中标准化和使用经过审查的自动化过程。
此外,它还使您的团队能够像产品一样不断地发展您的交付管道——在每个后续版本中强化、改进和增强您的流程。
让我们更详细地看看管道即代码的好处和一些最佳实践:
- 跨团队重用和标准化:管道即代码让你建模和定义构建块,DevOps团队需要在整个组织中标准化他们的工作流和流程。这有两个主要好处:
-
- 通过重用和共享自动化构建块(包括对象、流程、秘密、资源、配置、策略、安全测试、条件执行等)来提高速度和开发人员的工作效率。2022世界杯阿根廷预选赛赛程
- 通过标准化已批准的、强化的、在整个组织中一致的过程来改进质量和治理。这些努力消除了雪花配置、自动化竖井、不同的流程和易出错的脚本,这些脚本可能会引入漂移和质量问题。
- 在管道代码中使用参数。请记住,为了允许不同的团队利用相同的Pipeline-as-code,这些构建块应该被参数化,以便每个团队都可以动态地调用他们适当的输入(例如秘密、资源、环境配置参数等……)2022世界杯阿根廷预选赛赛程
- 使用声明式自动化。管道即代码构建块最好是声明性的,这样它们可以更容易地定义和扩展,避免“意大利面条”、容易出错的脚本或繁重的工作。声明式管道也更适合于Kubernetes等原生云环境。
- 现代化遗留工作流。由于大型组织可能有许多遗留脚本和技术债务,您需要一个灵活的DevOps平台来继承遗留的CI/CD技术(例如旧的构建工具)和自定义脚本(例如您的Perl/Bash自动化)。这些也需要在你的Pipeline-as-Code脚本中得到支持,使用调用外部系统或自定义代码的标准步骤或集成。通过这种方式,这些遗留脚本可以由现代CI/CD解决方案触发和编排,以实现端到端自动化,直到您有时间重构或现代化它们。
- 授权DevOps平台团队在组织中扩展DevOps的采用,并在认证流程、升级门、安全性和合规性检查等方面保持一致。
5 -全球化思维,本地化行动,平台团队
系统级思维是DevOps的一个关键原则。这意味着系统地、全面地思考你的整个DevOps生态系统和软件交付实践——包括你的团队、文化、价值流、流程以及技术和架构选择。
要在企业中扩展DevOps,您需要考虑组织范围内的流程和工具,同时允许灵活性、敏捷性和自由选择,以增强开发人员的能力,并实现团队的自主性和速度。你的DevOps平台必须允许你“全局思考,局部行动”。例如,对于特定的用例,您应该能够实施不同的安全策略,或者集成特定的最佳点工具。
这种方法减少了漂移,并防止你最终得到雪花般的工作流或配置,同时还确保遵从性和灵活性,以支持DevOps生态系统中的任何工具或流程——无论是遗留应用程序交付还是云原生应用程序交付。这就是DevOps平台团队的用武之地!
应用程序交付对于当今组织的竞争优势至关重要。随着部署频率的增长和规模的扩大,许多企业意识到继续使用针对不同团队的特别/竖井解决方案来管理交付是不切实际的。
DevOps平台团队(也称为平台运维或交付服务)负责选择工具和交付基础设施,为所有内部团队启用DevOps即服务——使用共享工具、标准化流程和一致的治理。他们开发、强化和验证团队可以从中央回购中使用的自动化构建块。随着新需求的出现,它们还进一步增强了这些过程。因此,它们通过以下方式帮助提高速度、生产力、可靠性和TCO:
- 利用管道即代码来扩展和加速DevOps在组织中的采用,同时确保治理、遵从性和可审计性。
- 管理自助服务节点拉取和秘密旋转的目录,使开发人员能够以一种安全的方式提供具有一致配置的环境。
- 支持对“认证”包的共享存储库的集中访问,供开发人员使用。平台团队加强并保护OSS依赖项,并认证它们与组织的治理政策.这消除了重复工作,并支持围绕共享的、安全的工件的重用和标准化。
- 以集中的方式管理管道和软件分发到最后一英里部署的团队/阶段之间的二进制文件共享,以优化吞吐量、网络利用率,并确保安全性和治理。
- 以集中的方式管理访问控制(RBAC),以确保遵从性和可审计性——能够将访问级别限定在所有批准的组件上,包括存储库、工件、工具、管道流程、批准、环境等等。
的JFrog平台是一个端到端的DevOps解决方案,世界上一些最大的组织使用它来加快应用程序的交付,同时提高质量和安全性。该平台帮助您简化、保护和扩展您的SDLC端到端,涵盖二进制文件管理、容器映像、CI/CD、应用程序安全性和分布.
开始您的免费云试用亲自去看看JFrog平台!

