What this book covers
Chapter 1, Chef Infrastructure, helps you to get started with Chef. It explains some key concepts, such as cookbooks, roles, and environments, and shows you how to use some basic tools like the Chef development kit (ChefDK), such as Git, knife, chef shell, Vagrant, and Berkshelf.
Chapter 2, Evaluating and Troubleshooting Cookbooks and Chef Runs, is all about getting your cookbooks right. It covers logging and debugging as well as the why run mode, and shows you how to develop your cookbooks totally test driven.
Chapter 3, Chef Language and Style, covers additional Chef concepts, such as attributes, templates, libraries, and even Light Weight Resource Providers. It shows you how to use plain old Ruby inside your recipes and ends with writing your own Ohai and knife plugins.
Chapter 4, Writing Better Cookbooks, shows you how to make your cookbooks more flexible. It covers ways to override attributes, use data bags and search, and to make your cookbooks idempotent. Writing cross-platform cookbooks is covered as well.
Chapter 5, Working with Files and Packages, covers powerful techniques to manage configuration files, and install and manage software packages. It shows you how to install software from source and how to manage whole directory trees.
Chapter 6, Users and Applications, shows you how to manage user accounts, securing SSH and configuring sudo. Then, it walks you through installing complete applications, such as nginx, MySQL, WordPress, Ruby on Rails, and Varnish. It ends by showing you how to manage your own OS X workstation with Chef.
Chapter 7, Servers and Cloud Infrastructure, deals with networking and applications spanning multiple servers. You'll learn how to create your whole infrastructure using Chef provisioning. Then it shows you how to set up high-availability services and load-balancers, and how to monitor your whole infrastructure with Nagios. Finally, it'll show you how to manage your Amazon EC2 Cloud with Chef.