解决方案
可信应用自动化部署
使用 Chef 将应用程序部署自动化到任何平台,并具有完整的可见性
应用程序自动化部署使您的 DevOps 流程运行更顺畅
大多数 DevOps 团队的目标是拥有一个完全自动化的部署过程。但大多数仍然在他们的部署自动化系统中保留了一些手动功能。这些手动工作多次导致容易出错的部署过程。自动化应用程序部署可提高生产力并降低手动部署的风险。
即使是最复杂的环境也能实现一致的部署自动化
Chef Habitat 等自动化解决方案将应用程序与底层基础架构分离,使负责支持各种应用程序和环境的运营团队能够在整个 IT 资产中实现自动化部署。
出色的自动化应用程序部署始于出色的应用程序定义
通过在构建过程中定义自动化应用程序部署过程中的每个步骤,Chef 消除了交付复杂企业应用程序时发生的许多手动切换和故障点。编码的应用程序定义包括构建指令、配置指令、关系和应用程序依赖性。
灵活的自动化部署选项和支持
Chef Habitat 支持多种自动化部署模式。使用 Chef Habitat 构建的应用程序通过“开发”、“当前”、“发布”等“渠道”发布和推广。这些使每个渠道的自动化部署能够快速实现持续交付!
用户可以定义他们希望在供应过程中使用的更新策略。支持的部署自动化选项和模式包括:
- 自动回滚– 将系统返回到之前的状态
- 自动前滚– 重新部署先前版本的发布
- 一次– 并行升级所有实例
- 滚动– 跨组顺序升级
- 蓝绿– 维护两个相同的生产环境,以便一个可用于最终测试
- Canary – 部署到目标的子集,验证后部署到整个组
- Feature-flag – 控制向用户子集推出新功能
自动化应用程序部署的好处
手动完成的任何事情最终都会出现错误。充满错误的应用程序部署可能会导致软件无法运行或存在可能导致安全问题的漏洞。Chef 的自动化应用程序部署解决方案解决了这些挑战,并使应用程序发布团队能够:
- 在一个地方查看他们的所有应用程序部署
- 实时验证状态发布
- 轻松促进环境之间的发布
- 推动所有部署的一致性和可重复性
适用于所有应用程序和环境的一致部署自动化
Windows 和 Linux 应用程序部署自动化
Chef Habitat 提供了一种管理应用程序资产的单一方法,包括 Linux、Windows 和其他应用程序。指令在平台本机代码(例如 Powershell、Bash)中定义,但与平台无关的命令和 API 打包在一起,提供了灵活性,同时降低了复杂性。此外,Chef Habitat 可以导出应用程序以在多个环境中运行而无需重构。这包括导出到 tarball、Docker 或直接导出到容器注册表(Azure Container Registry、Amazon Elastic Container Registry 或 Docker Hub)的能力。
自定义、传统和 COTS 应用程序自动化
Chef 可以轻松部署几乎任何应用程序,只需编写最少的脚本。无论您是从源代码构建应用程序还是部署供应商提供的二进制文件,Chef Habitat 都可以提供帮助!对于内部开发的应用程序,Chef 提供了一个受支持的工件库,其中包括常见的应用程序依赖项(如 .NET、jdk 或 gcc)以及实用程序(如 Maven、Gradle 或 NuGet)。对于遗留和 COTS 应用程序,将编译的应用程序与依赖项和部署说明捆绑在一起,以获得最大的部署灵活性。
物理基础设施部署自动化
Chef Habitat 使用轻量级代理,使其能够将应用程序部署到几乎任何裸机环境。应用程序与其依赖项捆绑在一起,消除了它们对操作系统提供的库的依赖,甚至允许将遗留应用程序部署到现代、受支持的平台上。此外,基础设施配置和审计可以通过类似的机制按用户定义的时间间隔自动运行,确保运行这些应用程序的系统得到持续强化和审计。
虚拟基础架构部署自动化
使用 Chef Habitat 将代码部署到虚拟基础架构的过程在功能上与部署到物理基础架构相同。Chef 提供与 VMware 等虚拟化平台和 Hashicorp Terraform 等多平台供应和管理工具的多种集成,以进一步简化虚拟化环境的管理。
容器部署自动化
Chef Habitat 具有多个容器生态系统集成功能,可帮助编排这些工作负载。特别是,Chef Habitat 应用程序可以配置为在将更改提交到版本控制时自动构建新版本,并且在成功构建后,导出到所需的容器格式并发布到组织的容器注册表,而无需任何手动步骤。
公有云资源部署自动化
Chef 支持与公共云的多种集成,旨在帮助客户大规模部署到云中。其中包括支持将工件导出到AWS、Azure和 GCP提供的容器注册表和 Kubernetes 服务的集成。此外,Chef 提供用于配置云管理服务(如存储桶和网络设备)的资源。