Live Webinar - Cybersecurity Career Advancement & Protecting Organizations

closeClose

Chef Essentials Workshop – Official Chef Training

Course Details
Code: CHEF-CON-MAN-BP
Tuition (USD): $1,950.00 • Classroom (2 days)
$1,950.00 • Virtual (2 days)

Get started with Chef by taking Chef Essentials. It’s a two-day instructor-led course that covers all the basics. You’ll learn what it means to turn infrastructure into code so that you can automate the configuration, deployment and management of your servers. You’ll also learn about Chef architecture and the set of tools included in the Chef Development Kit (ChefDK). Finally, we’ll show you how to test your infrastructure code so that you can deploy with confidence. Each of the core units includes hands-on exercises that will give you confidence in your new skills. At the end of the course, you’ll come away with a repo and the skills to start automating your own infrastructure.

Skills Gained

  • Use Chef Resources to define the state of your system
  • Write and use Chef recipes and cookbooks
  • Automate testing of cookbooks
  • Manage multiple nodes with Chef Server
  • Create Organizations
  • Bootstrap nodes
  • Assign Roles to nodes
  • Deploy nodes to environments
  • Enable Chef’s search features with your automation
  • Create acceptance and production environments
  • Utlize hosted Chef capabilities and the public Chef supermarket

Who Can Benefit

  • IT Managers and Leaders
  • Developers and Application Teams
  • System Administrators
  • IT Operations Staff
  • Release Engineers
  • Configuration Managers
  • Anyone involved with IT infrastructure
  • ScrumMasters
  • Software Managers and Team Leads

Prerequisites

Attendees should bring a wifi-enabled laptop to the workshop. The following operating systems have been tested as workstation systems with the hands on exercises

  • Ubuntu 10.04, 12.04
  • Mac OS X 10.7.3+
  • Windows 7

Course Details

Chef Introduction

  • Overview and expectations for the class
  • The Chef Lab System Architecture

Using Chef Resources

  • Using Chef to install packages on your virtual workstation
  • Using the chef-client command
  • Creating a basic Chef recipe file
  • Defining Chef Resources
  • Test and repair

Building Cookbooks

  • Modify a recipe
  • Collaboration and version control
  • Generating a Chef cookbook
  • Defining a Chef recipe that sets up a web server

Chef client

  • Locally applying multiple cookbooks' recipes with chef-client
  • Applying a run list
  • Including a recipe from within another recipe.

Testing Cookbooks

  • Using Test Kitchen to verify your recipes converge on a virtual instance
  • Reading the ServerSpec documentation
  • Writing and execute tests
  • Where do tests live?

Details About a System

  • Managing large numbers of servers
  • Capturing details about a system
  • Using the node object within a recipe
  • Using Ruby's string interpolation
  • Updating the version of a cookbook

Desired State and Data

  • Cleaner recipes
  • When to use a template resource
  • Creating a template file
  • Using ERB tags to display node data in a template
  • Defininge a template resource

Local Workstation Installation

  • Installing ChefDK on your laptop
  • Executing commands to ensure everything is installed
  • Installing a local editor like Atom

The Chef Server

  • Connecting to a Chef Server
  • Managing Additional systems
  • Managing User traffic
  • Uploading cookbooks to a Chef Server
  • Bootstrapping a node
  • Managing a node via a Chef Server
  • Hosted Chef

Community Cookbooks

  • Find cookbooks on the Chef supermarket
  • Create a wrapper cookbook
  • Example: load balancer
  • Amazon EC2 instances
  • Replace the existing default values
  • Upload a cookbook to Chef Server
  • Bootstrap a new node that runs the cookbook

Managing Multiple Nodes

  • Managing user traffic
  • Bootstrapping and updating the run_list
  • Running chef-client on a node
  • Appending values to an attribute within a recipe
  • Versioning cookbooks and uploading to Chef Server

Roles

  • Assigning, defining, and configuring
  • The 'knife' role
  • Verifying roles
  • Roles for everyone

Search

  • Update a Cookbook to Dynamically Use Nodes with the Web Role
  • Describe the query syntax used in search
  • Build a search into your recipe code
  • Create a Ruby Array and Ruby Hash
  • Update the myhaproxy wrapper cookbook

Environments

  • Keeping your infrastructure current
  • Creating a production environment
  • Creating an acceptance environment
  • Deploying a node to an environment
  • Updating a search query to be more exact

Course wrap and further resources

  • Beyond essentials
  • Valuable reading
  • Events and online resources
  • Customizing Chef