'Chef' is an open-source (and enterprise) automation platform created by Opscode that configures and manages your infrastructure (local or cloud). It is generally used to speed up application deployment, create a continuous delivery pipeline, and monitor infrastructure. By converting infrastructure to code, Chef makes infrastructure configuration versionable, testable, and repeatable.
This competency area includes writing templates, Chef deployment, writing Recipes for allocating or defining a resource, installing a package, creating a file, and setting up Chef, among others.
- Templates and Usage - Understanding Templates, which are files that are written in embedded Ruby (.erb), and can be used and reused in Chef recipes to dynamically update with values. An understanding of writing templates, for example, executing a particular command on the node 5 times, etc. are included in this competency.
- Chef deployment - Understanding Chef deployment, which includes the following: Chef can be deployed in four different ways: no-server single node (cookbooks in nodes), chef service on cloud platforms such as AWS, self-hosted chef server, and subscribing to enterprise chef.
- Writing different Recipes - Writing Recipes, such as a Recipe for allocating or defining a resource, installing a package, creating a file, or setting an environment variable.
- Setting up Chef - Setting up Chef for a cluster of 5 nodes, which includes (but not limited to), setting up a workstation, chef-server, and chef clients, linking each component, writing and uploading cookbooks with recipes and thereby configuring the cluster.