AWSDOP-C02
On this page
Beginner-friendly overview

OpsWorks

OpsWorks is AWS's configuration management service built on Chef and Puppet. It automates server configuration — installing software, managing packages, deploying application code, and maintaining consistent state across a fleet of servers — using recipes and manifests written in Chef or Puppet's domain languages.

What Configuration Management Solves

Provisioning a server is only the beginning. Keeping it configured correctly over time is the ongoing challenge: installing the right version of Node.js, keeping Nginx config files in sync across all web servers, ensuring the deployment user has the right permissions. Without automation, these tasks drift — servers gradually diverge from each other and from their intended state.

OpsWorks runs Chef or Puppet on your EC2 instances continuously, detecting and correcting drift. If someone manually changes a config file on one server, OpsWorks restores it on the next run.

OpsWorks Variants

OpsWorks Stacks — AWS's original offering. You define a stack of layers (a web server layer, a database layer, a load balancer layer) and instances within each layer. OpsWorks runs Chef recipes at specific lifecycle events (setup, configure, deploy, undeploy, shutdown).

OpsWorks for Chef Automate — a fully managed Chef Automate server. AWS handles the Chef server infrastructure; you manage your cookbooks and nodes.

OpsWorks for Puppet Enterprise — same idea, but for Puppet Enterprise.

OpsWorks in the Modern Context

OpsWorks is a mature service that predates most modern infrastructure-as-code tooling. New projects today typically use CloudFormation, CDK, or Terraform for infrastructure, and Docker/ECS/Lambda to sidestep OS-level configuration management entirely. OpsWorks is most relevant for teams with existing Chef or Puppet investments who want AWS to manage the configuration management server itself.