The Chef configuration management course will provide attendees with an understanding of the principles of DevOps and shows students how to use OpsCode Chef as a tool to manage computing infrastructure.

Chef can run in client/server mode, or in a standalone configuration named "chef-solo". In client/server mode, the Chef client sends various attributes about the node to the Chef server. Chef recipes can query these attributes and use the resulting data to help configure the node.

In this Chef configuration management attendees will learn how to:

  • Create recipes and cookbooks for standard infrastructure management
  • Use the OpsCode Chef infrastructure to manage nodes
  • Use the ‘Ohai’ tool to understand the facts captured by Chef.
  • Use the ‘knife’ tool to interact with the Chef server and bootstrap nodes.
  • Use TestKitchen to test Chef cookbooks.
  • Use Foodcritic and Rubocop to check cookbooks for common problems.

Our Chef infrastructure configuration management course continues to be in high demand. The topics covered in the course are:

  • Introduction to DevOps
  • Basic Chef Concepts
  • Chef Single-server installation
  • A little bit of Ruby
  • Recipes and cookbooks
  • Testing with TestKitchen
  • Identifying common problems with FoodCritic and RuboCop
  • The Hosted Chef Server
  • Chef Multi-Server installation
  • Understanding the roles and environments

Web Age OpsCode Chef Training can be delivered in traditional classroom style format. Web Age OpsCode Chef Training course can also be delivered in a synchronous instructor led format.

This course will provide students with an understanding of the principles of DevOps, and show students how to use OpsCode Chef as a tool to manage computing infrastructure.

Objectives

In this training, attendees will learn how to:

  • Create recipes and cookbooks for standard infrastructure management
  • Use the OpsCode Chef infrastructure to manage nodes
  • Use the ‘Ohai’ tool to understand the facts captured by Chef.
  • Use the ‘knife’ tool to interact with the Chef server and bootstrap nodes.
  • Use TestKitchen to test Chef cookbooks.
  • Use Foodcritic and Rubocop to check cookbooks for common problems.

Note: Internet access is required from the course location.

Duration

2 days

Outline for Infrastructure / Configuration Management Using Chef Training

Section 1: Introduction t DevOps

  • What is DevOps?
  • Technology for DevOps

Section 2: Basic Chef Concepts

  • What is Chef?
  • Architecture
  • Workstation
  • Server
  • Nodes
  • Recipes
  • Cookbooks

Section 3: Chef Single-Server Installation

  • Installing Chef Server
  • Installing the Chef SDK

Section 4: A little bit of Ruby

  • Basic Syntax
  • Variables
  • Strings
  • Embedding Ruby in Strings
  • Lists and hashes
  • Conditional processing
  • Defining and Using Methods

Section 5: Recipes and Cookbooks

  • Ohai
  • Cookbooks
  • Recipes and the Recipe DSL
  • Resources
  • Attributes
  • Popular cookbooks

Section 6: Testing with TestKitchen

  • Creating a Test
  • Running the test
  • Available providers

Section 7: Identifying common problems with Foodcritic and Rubocop

  • Using Foodcritic
  • Using Rubocop

Section 8: The Hosted Chef Server

  • Wh is OpsCode?
  • The Chef Server
  • Service Tiers
  • The Chef community

Section 9: Chef Multi-Server Installation

  • Installing the Chef Server
  • Installing the Chef Manage
  • Installing the Chef SDK
  • Create Organizations
  • Setting up the Workstation
  • Bootstrapping the Nodes
  • Using the Knife tool

Section 10: Understanding the Roles and Environments

  • Create and use Roles
  • Create and use Environments

Labs

Lab 1: Chef single-server installation

Lab 2: Ruby Basics

Lab 3: Explore Chef basics

Lab 4: Creating cookbooks and utilizing various resources

Lab 5: Using commonly used cookbooks from Chef Supermarket and modify attributes

Lab 6: Testing with TestKitchen

Lab 7: Identifying common problems with Foodcritic and Rubocop

Lab 8: Using Hosted Chef

Lab 9: Chef multi-server installation

Lab 10: Managing Nodes, roles, and environments