Ruby, and most of them contain simple configuration
patterns that get enforced through the Chef client.
Cookbooks are uploaded from the workstation to Chef
Infra Server.
Chef Infra Server acts as the main hub for all the
configuration information. Chef Infra Client, which is
installed on each managed device, connects to Chef Infra
Server to retrieve the configuration data that will be
enforced on the managed client device. After each Chef
Infra Client run finishes, the run data is uploaded to Chef
Infra Server for troubleshooting and historical purposes.
The actual managed device configuration work is done as
much as possible through Chef Infra Client on the
managed device; offloading these tasks from Infra Server
makes the Chef solution more scalable. Infra Server also
indexes all the infrastructure data, including
environments, nodes, and roles, making them available
for searching. The Chef management console is a web-
based interface through which users can manage nodes,
cookbooks and recipes, policies, roles, and so on.
Cookbooks are the fundamental building blocks for
configuration and policy distribution with Chef. A
cookbook defines a scenario and contains everything
needed to support that scenario: recipes that specify the
resources to use, templates, attribute values, tests,
metadata, file distributions, and custom resources and
libraries. A large set of resources to support the most
common infrastructure automation requirements comes
built in with Chef Infra Client. As Chef is written in Ruby,
additional resources and capabilities can easily be
created, if necessary.
A Chef node is any device that has the Chef Infra Client
software installed, which means it is managed by Chef