AWS OpsWorks is an application management service that makes it easy to deploy and operate applications of all shapes and sizes. You can define the application’s architecture and the specification of each component including package installation, software configuration and resources such as storage. Start from templates for common technologies like application servers and databases or build your own to perform any task that can be scripted. AWS OpsWorks includes automation to scale your application based on time or load and dynamic configuration to orchestrate changes as your environment scales.
AWS OpsWorks supports a wide variety of architectures, from simple web applications to highly complex custom applications, and any software that has a scripted installation. Since AWS OpsWorks supports Chef recipes and Bash scripts, you can leverage community-built configurations such as MongoDB and Elasticsearch. You start by modeling and visualizing your application with layers that define resource and software configuration. You control every aspect of your application's configuration to match your needs, processes, and tools. You can extend and adapt the built-in layers or create your own.
AWS OpsWorks lets you define configurations for your entire environment in a format that you can maintain and version just like your application source code. You can reproduce the software configuration on new instances and apply changes to all running instances, ensuring consistent configuration at any time. You can deploy your application from source repositories such as Git and Subversion to one or hundreds of instances with the click of a button.
AWS OpsWorks provides dynamic configuration and orchestration that allows you to efficiently manage your applications over their lifetime, including support for automatic instance scaling and auto healing. Each new instance that comes online is built to specification automatically and can change its configuration in response to system events. This lets you, for example, change the configuration of a web application firewall when a new web server comes online without any manual steps.
AWS OpsWorks lets you model and visualize your application using concepts such as stacks, layers and apps. The OpsWorks dashboard shows the status of your stacks across all AWS regions. AWS OpsWorks tags your resources with the stack and layer names to make discovery easier and to support logical groupings for monitoring, cost allocation, and permissions. You can grant AWS IAM users access to specific stacks, making management of multi-user environments easier.
OpsWorks lets you model and visualize your application with layers that define how to configure a set of resources that are managed together. You can also define the software configuration for each layer, including installation scripts and initialization tasks. When an instance is added to a layer, all the configuration steps are applied for you. OpsWorks promotes conventions but is flexible enough to let you customize any aspect of your environment. AWS OpsWorks supports any software that has a scripted installation. Because OpsWorks uses the Chef framework, you can bring your own recipes or leverage hundreds of community-built configurations.
OpsWorks supports DevOps principles such as continuous integration. Everything in your environment can be automated. You can specify not only how to deploy your code, but use Chef recipes to configure the software on your servers and AWS APIs to provision resources. This supports pipelines from your source repository to your build server to integration tests to production.