Book Image

Chef Essentials

By : John Ewart
Book Image

Chef Essentials

By: John Ewart

Overview of this book

<p>Chef is a configuration management tool that turns IT infrastructure into code. Chef provides tools to manage systems at scale. With this book, you will learn how to use the same tools that companies such as Facebook, Riot Games, and Ancestry.com use to manage and scale their infrastructure.</p> <p>This book takes you on a comprehensive tour of Chef's functionality, ranging from its core features to advanced development. You will be brought up to speed with what's new in Chef and how to set up your own Chef infrastructure for individuals, or small or large teams. Once you have the core components, you will get to grips with bootstrapping hosts to then develop and apply cookbooks. If you want to fully leverage Chef, this book will show you advanced recipes to help you handle new types of data providers and resources. By the end of this book, you will be confident in how to manage your infrastructure, scale using the cloud, and extend the built-in functionality of Chef itself.</p>
Table of Contents (15 chapters)
Chef Essentials
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Deploying software with Chef


There are numerous benefits to deploying your software using Chef; the primary benefit is automation—the chef-client can be run periodically, and it can execute fully-automated deployments whenever changes are made to the source code repository. Additionally, Chef stores all your configuration data, so you can avoid storing sensitive secrets and hard-coding URLs or other dynamic data in your configuration. For example, if you have an application with a database pool, and you add a new database host to your pool, Chef can use a simple search to populate the list of hosts to include in the connection pool so that it is always up to date with your infrastructure.

However, deploying software with Chef does require some coordination between your application and Chef. You will need to maintain recipes required for deploying your application, and you will also want to use Chef as the authoritative source for your configuration data, which involves writing configuration...