OpsWorks is an implementation of the Chef configuration management.
AWS OpsWorks
OpsWorks creates 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)
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