Getting Started with Chef 11 Linux Stacks - AWS OpsWorks

Getting Started with Chef 11 Linux Stacks


AWS OpsWorks Stacks is no longer accepting new customers. Existing customers will be able to use the OpsWorks console, API, CLI, and CloudFormation resources as normal until May 26, 2024, at which time they will be discontinued. To prepare for this transition, we recommend you transition your stacks to AWS Systems Manager as soon as possible. For more information, see AWS OpsWorks Stacks End of Life FAQs and Migrating your AWS OpsWorks Stacks applications to AWS Systems Manager Application Manager.


This section describes how to get started with Linux stacks using Chef 11. For information about getting started with Chef 12 Linux stacks, see Getting Started: Linux. For information about getting started with Chef 12 Windows stacks, see Getting Started: Windows.

Cloud-based applications usually require a group of related resources—application servers, database servers, and so on—that must be created and managed collectively. This collection of instances is called a stack. A simple application stack might look something like the following.

The basic architecture consists of the following:

  • A load balancer to distribute incoming traffic from users evenly across the application servers.

  • A set of application server instances, as many as needed to handle the traffic.

  • A database server to provide the application servers with a back-end data store.

In addition, you typically need a way to distribute applications to the application servers, monitor the stack, and so on.

AWS OpsWorks Stacks provides a simple and straightforward way to create and manage stacks and their associated applications and resources. This chapter introduces the basics of AWS OpsWorks Stacks—along with some of its more sophisticated features—by walking you through the process of creating the application server stack in the diagram. It uses an incremental development model that AWS OpsWorks Stacks makes easy to follow: Set up a basic stack and, once it's working correctly, add components until you arrive at a full-featured implementation.