OpsWorks is a configuration management service, which automates your system’s configuration using code.
- Operating System configuration
- Application configuration
- Package/Software installation configuration
AWS OpsWorks
OpsWorks provides three solutions.
- OpsWorks Stacks
- Define, group, provision, deploy, and operate your applications in AWS by using Chef in local mode.
- OpsWorks for Chef Automate
- Create Chef servers that include Chef Automate premium features, and use the Chef DK or any Chef tooling to manage them.
- Use this option if you already familiar with Chef.
- OpsWorks for Puppet Enterprise
- Create Puppet servers that include Puppet Enterprise features.
- Inspect, deliver, update, monitor, and secure your infrastructure.
Stacks
OpsWorks models your application as a stack of resources with layers, and it requires IAM permissions to interact with other AWS resources.
- CloudFormation (low-level) << OpsWorks << Elastic Beanstalk (high-level)
- A stack is made up of multiple layers
- Each layer is configured using Chef recipes.
Supported Platforms
- Chef 12 Stack: Linux and Windows
- Chef 11 Stack: Linux only
OpsWorks Components
Stacks
- A unit of managed infrastructure – a container for AWS resources
Layers
- Layers define tiers within a stack; e.g. application layer, database layer.
- A layer is a blueprint for a set of EC2 instances. It specifies the instance’s settings, associated resources, installed packages, profiles, and security groups.
- Layers depend on Chef recipes to handle tasks.
Instances
- EC2 instances are associated with a layer.
- 24/7 instances are started manually and run until stopped.
- Time-based instances are based on a specified schedule.
- Load-based instances are based on specified load metrics.
Apps
- Applications are deployed to layers from the source code repository or S3.
- The deployment happens on a layer using recipes.
Recipes (Cookbooks)
- Actual deployment instructions and come from a repository.
- Setup -> Configure -> Deploy/Undeploy -> Shutdown