Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?


Chef Overview


Chef software automates the provisioning and management of compute, networking, and storage resources, whether these resources are on site, in the cloud, or both. Chef software transforms infrastructure into code, enabling you to configure, deploy, and scale in real time, while reducing the risk of human error.

Using Chef, you can write abstract definitions of your infrastructure in Ruby and manage these definitions like you manage source code. These abstract definitions are applied to the nodes in your infrastructure by the Chef clients running on those nodes. When you bring a new node online, the Chef client running on that node needs only to determine which definitions to apply.

DISCLAIMER: Use of Chef for Junos OS software implies acceptance of the terms of the following disclaimer: Chef for Junos OS Disclaimer.

Understanding Cookbooks, Recipes, Resources, and Providers

Within the Chef framework, the abstract infrastructure definitions are contained in reusable cookbooks and recipes:

  • Cookbooks are packages that contain the recipes, files, attribute definitions, and so on that describe a portion of your infrastructure and how to deploy, configure, and manage it. For example, the apache2 cookbook maintained by Chef contains recipes for installing and configuring an Apache HTTP Server.

  • Recipes are written in Ruby and describe the installation, configuration, and management of the infrastructure elements.

  • Resources are the major building blocks of recipes. A resource is a platform-neutral representation of an element of the system and its desired state—for example, a service that should be started or a file that should be written into the file system.

  • Providers are the underlying platform-specific implementations that bring resources to their desired states. For example, a resource might specify a particular software package to be installed, without describing how it is installed. The providers associated with the resource direct the Chef client how to perform the installation on specific platforms.