This Introduction to Chef course is designed to familiarize students with the benefits of Chef for both systems and application design. This course will provide the fundamental knowledge participants need to speed up configuration management and application deployment using Chef.

Course Duration: 3 days
Course Objectives:
  • Understand how to build and manage a chef infrastructure
  • Design, build and deploy fully-functional Chef cookbooks and recipes
  • Guide the application of Chef in the company
Course Outline:
  • Ruby Primer (Enough to Read Chef Code)
    • Basic Syntax
    • Data Structures Used in Chef
    • Hash
    • Array
    • Blocks

 

  • Chef Refresher
    • What Chef Provides
    • Cookbooks

 

  • Local Chef Cookbook Development
    • Vagrant

 

  • Running Chef
    • Chef Server/Client
    • Chef Solo

 

  • Building a Basic Cookbook
    • Parts of a Cookbook
    • Recipes
    • Attributes
    • Templates / Files
    • Example – NTP
    • Example – Resolv

 

  • Building a More Complicated Cookbook
    • Chef Node Customization
    • Environments
    • Roles
    • Nodes
    • Data Bags (Encrypted+)
    • Using other Chef Resources
    • Using multiple Cookbooks Together
    • Dependency Management
    • Cookbook Metadata

 

  • Cookbook Patterns and Practices
    • Application vs. Library Cookbooks
    • Resources Best Practices

 

  • Building Custom Resources
    • Libraries / Definitions
    • Lightweight Resource Providers

 

  • Question and Answer Session