应用程序发布自动化 (ARA) - 也称为应用程序发布编排 - 是当代 DevOps 团队在软件开发生命周期中实践 CI/CD 的主要要求。持续集成和持续交付 (CI/CD) 允许企业在生产中快速向软件应用程序推出新功能,或者在几乎没有停机时间的情况下应用安全补丁。
应用程序发布自动化 (ARA) 允许敏捷软件开发团队使用版本控制实用程序跨工作站协作编程。软件的 Web 服务器配置可以标准化,以跨公共云硬件供应商部署在容器中。应用程序发布自动化 (ARA) 通过更好的代码测试和安全性加快了软件开发过程。
应用程序发布自动化的关键组件
应用程序发布自动化 (ARA) 平台在整个软件开发生命周期中可用的集成支持数量不同;大多数需要安装在桌面工作站上。以下是 ARA 平台的几个关键组件:
- 软件编程团队的版本控制
- 发布计划
- 版本控制
- 基于沙盒的代码测试
- 工件管理
- 仪表板分析
ARA 平台需要 网络监控 集成以进行预定部署,例如 Web 服务器的安全补丁。应用程序发布编排 (ARO) 现在通常基于 Docker 容器虚拟化、全映像磁盘打印、Git 版本控制、用于命令行的 Puppet 脚本和 用于 Web 服务器虚拟化的Kubernetes 。此架构支持企业级 Web 流量。
应用程序发布自动化的好处
敏捷性和速度:软件编程团队通过采用应用程序发布自动化 (ARA) 从敏捷性和上市速度中受益。版本控制有助于团队在为启动应用程序编程或在生产中维护现有 Web/移动应用程序时进行协调。自动化代码测试和沙盒环境是大多数 ARA 平台的标准配置,作为对 DevOps 团队最佳实践的支持。
简单、可靠的更新:在滚动升级中安排实时软件应用程序更新或版本发布对于保证 100% 正常运行时间非常重要。无需离线即可更新基于容器的应用程序。ARA 软件可用于管理整个软件开发过程。这包括使用为 Kubernetes 容器预先部署的代码制作完整的 Web 服务器堆栈软件的磁盘映像打印。
应用程序发布自动化工具
VMware的 vRealize Code Stream 实用程序主要与 Microsoft 的 Visual Studio 套件竞争 ARA 领域的市场份额。许多 DevOps 团队使用基于 IDE 平台和开源命令行实用程序的混合方法。Jenkins、Puppet、TravisCI、Ansible 和 Spinnaker 是一些最受欢迎的。大多数 DevOps 团队通过 GitHub 或 GitLab 运行 ARA 工作流。
所有主要的公共云主机(AWS、Microsoft Azure、Google、IBM、Oracle、HP 等)都拥有可用于企业软件开发和生命周期管理的专有 ARA 平台。这些平台包括与自动化 Web 服务器配置、代码测试、计划部署和调试实用程序集成的 IDE。所有公共云主机现在都提供原生 Kubernetes 支持。VMware 和 RackSpace 等公司也有适用于 AWS EC2 的 ARA PaaS 工具。