This document discusses deploying fully automated, highly available Django application stacks using Chef. Chef is an infrastructure automation tool that allows users to define infrastructure as code. It enables deploying and managing multi-tier Django application stacks across servers through recipes, which are collections of resources that define what software and configuration should exist on nodes. Chef recipes can be extended with Ruby code and configured dynamically based on node attributes and data from searches. Cookbooks package recipes for reuse across environments. Roles are used to describe nodes and assign recipes and attributes. Data bags store arbitrary configuration data.