Your browser is very old. Please use a recent version of Firefox, or Google Chrome as they have the best support for modern web standards.

Introduction to Chef


Price: $197

Approximate Completion Time: 3 days

Student has 2 years from purchase to earn a certificate

This class is an introduction on automation using the Chef configuration tool. Students will learn how to install and configure Chef for a single Ubuntu server, the core fundamentals of Chef, automating common system administration tasks in Chef, and how to control the state of the machine with Chef. The basics of the Ruby programming language will be taught.


Linux, IT professionals, programmers who wants to expand their skills in server automation.

  • Systems Administrators and Engineers
  • Automation Engineers
  • Developers who manage servers
  • Technical Solutions Architects

Course Objective:

Students will become familiar with core fundamentals of Chef, including:

  • Understanding DevOps terms and tools like Chef, Puppet, & Ansible
  • Identifying Chef, Recipes, Resources, and Chef tools such as Knife & Inspect
  • Discussing & performing Ruby examples
  • Installing & setting up Ruby & Chef with RVM
  • Writing Recipes to control how Chef & Knife automates a single server
  • Discussion on using Chef to manage packages, users, and settings
  • Managing configuration files with Attributes, Guards, & Templates
  • Writing a custom Resource with Chef's DSL (Domain Specific Language)
  • Troubleshooting Chef Recipes


Strong Linux system administration skills and Bash shell scripting is required. Programming experience is not required, but is recommended, especially in one of the popular scripting languages (Ruby, Python, PHP, etc). A basic introduction to the Ruby programming language will be taught in section 2. Two installations of Linux are required for this course. One should be a server setup with a static IP; the other should be a desktop host with root permissions to install packages. Ubuntu 16.04 and higher is highly recommended.

Table of Contents:

Chapter 1: Overview of Chef

  • Lecture 1: What is DevOps?
  • Lecture 2: What is Chef?
  • Lecture 3: How is DevOps Useful?
  • Lecture 4: Infrastructure as Code
  • Lecture 5: Comparison of Chef to other DevOps Tools
  • Lecture 6: Chef & DevOps Resources

Chapter 2: Ruby

  • Lecture 1: Introduction to Ruby
  • Lecture 2: Quick Note on Lab Videos
  • Lab 1: Installing RVM & Ruby
  • Lab 2: Simple Ruby Examples
  • Lecture 3: Ruby In Depth
  • Lecture 4: Ruby In Depth Part 2
  • Lab 3: Ruby Blocks
  • Lab 4: Ruby If Branching
  • Lab 5: More Ruby Examples
  • Lab 6: Ruby DSL
  • Lecture: Overview & Outro

Chapter 3: Setting up Chef

  • Lecture 1: The Ruby Gem System
  • Lab 1: Installing Bundler
  • Lab 2: Installing Chef & Knife
  • Lab 3: Downloading 3rd Party Recipes with Knife
  • Lecture: Overview & Outro

Chapter 4: Writing your first recipe

  • Lecture 1: Knife & Our Chef Application
  • Lecture 2: The Execute Resource
  • Lab 1: Connecting to the Remote Server with Knife
  • Lab 2: Using Knife to Remotely Install and Update the Recipe
  • Lab 3: Testing the Recipe
  • Lecture 3: Automating apt-get
  • Lab 4: Automating apt-get
  • Lecture: Overview & Outro

Chapter 5: Common System Administration tasks in recipes - Part 1

  • Lecture 1: Package & User Resources
  • Lab 1: Automate Installing Software
  • Lab 2: User Creation & Setup
  • Lecture 2: Attributes & Node Files
  • Lab 3: Set Default Passwords with Attributes
  • Lab 4: Set Individual Server Attributes with the Node file
  • Lecture: Overview & Outro

Chapter 6: Common System Administration tasks in recipes - Part 2

  • Lecture 1: Template Resources
  • Lab 1: Use Templates to Configure a Web Server
  • Lab 2: Using Attributes with the Template
  • Lab 3: Automate Downloading and Updating a Website
  • Lecture 2: Guards
  • Lab 4: Setup the Firewall with Guards
  • Lecture: Overview & Outro

Chapter 7: Modualize the Recipe

  • Lecture 1: Branching the Recipe
  • Lab 1: Modularize Recipe Code for Different Operaing Systems
  • Lab 2: Combine Branching and Attributes to Control Recipe Flow
  • Lecture 2: Chef Logging
  • Lecture 3: Custom Resources
  • Lab 3: Creating a Custom Resource
  • Lecture: Overview & Outro

Chapter 8: Cumulative final: A Chef Managed Nginx Server

  • Lecture 1: Review
  • Lab 1: Addendium
  • Lab 2: The Test Mode
  • Lab 3: Nginx
  • Lab 4: Final Demonstration

Train Anywhere!

Train at Home

Train at Work

Train by Phone (Watch Video Only)

Satisfaction Guaranteed!

60 Days 100% Satisfaction Guaranteed Refund Policy

2 Years Access to the Course and Updates from Purchase

PDF Certificate on Completion

Privacy Policy & Terms of Service

Enterprise Ready!

Register as a Vendor

Employee Management Tools

Pay Securely with Stripe

Order Form

Please Login First to Buy Login

Or Sign-up Sign Up

Order Form

Please Login First to Buy Login

Or Sign-up Sign Up