AWS OpsWorks 是一项配置管理服务,可帮助您利用 Chef 配置和操作各种类型和规模的应用程序。您可以定义应用程序的架构和每个组件的规范(包括软件包安装,软件配置和存储等资源)。从常见技术如应用程序服务器和数据库的模板开始,或者自行构建完成任何可以写成脚本的任务。AWS OpsWorks 包括基于时间或负载的应用程序自动化扩展,以及随着环境的扩展而变化的动态配置。
AWS OpsWorks 支持多种架构,从简单的 Web 应用程序到高度复杂的自定义应用程序,以及任何具有脚本安装的软件。因为 AWS OpsWorks 支持 Chef recipes 和 Bash/PowerShell 脚本,您可以利用社区建立的配置,如 MongoDB 和 Elasticsearch。您可使用定义资源和软件配置的层来塑造和视觉化您的应用程序。您可对您的应用程序配置的每个方面进行控制,以匹配您的需求、流程和工具。
AWS OpsWorks 让您以这样一种格式定义您整个环境的配置,您可以像对待应用程序源代码一样维护该格式并将其版本化。您可以在新实例上复制软件配置,并对所有运行中的实例应用更改,从而始终确保配置的一致性。只需单击一下按钮,您便可以将您的应用程序从诸如 Git 和 Subversion 的源存储库部署至一个或数百个实例。
AWS OpsWorks 提供动态配置和业务流程,让您可以在生存期内高效管理您的应用程序,包括支持自动实例扩展和自愈。每个上线的新实例均可自动按规范建立,并且随系统事件而更改配置。比如,您可以在新的 Web 服务器上线时更改 Web 应用程序防火墙的配置,无需手动操作。
AWS OpsWorks 允许您使用堆栈、层和应用等概念对应用程序建模并使其可视化。OpsWorks 控制面板显示了您在所有 AWS 地区的堆栈的状态。AWS OpsWorks 使用堆栈和层名字对您的资源进行标记,不仅便于发现,而且支持监控、成本分配和权限的逻辑分组。您可以授予 AWS IAM 用户访问指定堆栈,便于管理多用户环境。
AWS OpsWorks 可帮助您在任何 Linux 或 Windows 服务器(包括现有 EC2 实例或者您自己的数据中心中运行的服务器)上自动完成多种操作任务,如软件配置、程序包安装、数据库设置以及代码部署。您可以使用一项配置管理服务来部署和操作混合架构中的应用程序。
OpsWorks 让您能够通过 layer 为应用程序建模并使其可视化,layer 还定义如何配置一组集中管理的资源。您也可以为每个 layer 定义软件配置,包括安装脚本和初始任务。将实例添加到 layer 时,所有配置步骤对您都适用。OpsWorks 发扬了各种惯例做法,但同时非常灵活,让您能够自定义环境的任何方面。AWS OpsWorks 支持可通过脚本进行安装的任何软件。由于 OpsWorks 使用 Chef 框架,所以您可以随身携带您自己的配方或利用数百种基于社区的配置。
OpsWorks 支持各种 DevOps 原则,如持续集成。您的环境中的一切均可自动化。您不但可以指定如何部署您的代码,还可以使用 Chef 配方来配置您服务器上的软件,配置 AWS API 来调用资源。这支持从您的源存储库到您的构建服务器、集成测试、生产的管道。