O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Mastering Chef the DevOps Way by School of DevOps®

Video Description

A comprehensive Chef course. Learn to write Infrastructure as a code and manage it at scale with Chef

About This Video

  • Well explained, a logical structure with a real application used as an example.

In Detail

Infrastructure as a code is one of the foundations of DevOps Aatomation toolchain. Chef is at the forefront of the IaaC revolutions and was the first tool amongst the four main configuration management tools including Puppet, Ansible and Saltstack .Chef is also the fastest configuration management system and provides a simple DSL (Domain Specific Language) to define the state of resources and does the heavy lifting of managing underlying platform specific operations by itself, providing users with a higher level of abstraction than scripts do. The use of Chef is no more limited to servers, but has also expanded to managing all type of devices including routers, embedded systems, storage and so on. With more and more organisations adopting DevOps practices, knowledge on IaaC and tools such as Chef is essential for today's generation of DevOps professionals. This skill would also help you advance your career, especially for operations, systems, networks, and DevOps engineers. It then helps you dive into the world of Chef by understanding the basics of the languages such as resources/providers, manifests, and modules, and then delves deeper into creating dynamic code with parameters, templates, defined types and so on. Once equipped with the basics, it unlocks Chef's full potential with advanced topics such as environments, hiera, r10k, puppet enterprise, rolls and design patterns and so on. This course takes you from from zero to Chef master in two weeks.

Table of Contents

  1. Chapter 1 : Infrastructure as a Code
    1. Section Introduction 00:00:54
    2. Four Approaches to Manage Infrastructures 00:05:58
    3. Scripts vs IaaC - Procedural vs Declarative Approaches 00:06:29
    4. My Story - How I got started with Puppet & Chef 00:04:28
    5. Pull Model Centralized Configuration Management 00:04:30
    6. Convergence and Idempotence 00:03:31
    7. Code vs Data - Creating Dynamic Configurations 00:02:53
    8. When to Use Chef/Puppet 00:06:23
    9. Is IaaC only about Chef/Puppet? Going beyond the configuration management 00:01:49
  2. Chapter 2 : Introduction to Chef
    1. Section Introduction 00:00:48
    2. Path to Automation 00:11:58
  3. Chapter 3 : Environment Setup
    1. Section Introduction 00:00:50
    2. Setting up Codespaces on DigitalOcean 00:05:26
    3. Setting up Codespaces with Docker from scratch 00:07:11
    4. Overview of Codespaces 00:07:28
    5. Project 00:01:35
  4. Chapter 4 : Recipes
    1. Section Introduction 00:00:45
    2. Resources and the DSL 00:06:43
    3. Creating our first Recipe 00:08:42
    4. Syntax Check, Dry Run and Applying Recipes 00:07:40
    5. Idempotence and Convergence 00:04:49
    6. Troubleshooting Techniques 00:04:05
    7. Execute Resource and Idempotence 00:05:35
    8. Solution to Exercise 00:11:28
  5. Chapter 5 : Cookbooks
    1. Cookbooks Intro 00:01:22
    2. Anatomy of a Cookbook, Generator 00:04:51
    3. App vs Cookbook, Creating App 00:06:13
    4. Creating Java Cookbooks - Defining Recipe to Install Java 00:04:48
    5. Test Kitchen - Creating an Environment to Test the Cookbook 00:09:55
    6. Run List and Convergence 00:07:03
    7. Lab 00:01:53
    8. Solutions 00:09:24
    9. Simplify Run List, Dependencies 00:05:27
    10. Managing Files 00:10:51
  6. Chapter 6 : Multi Node Setup
    1. Section Introduction 00:00:38
    2. Setting up Chef Server and Workstation 00:09:41
    3. Bootstrapping the first Node with knife 00:06:17
    4. Uploading Cookbooks and Managing Dependencies with Berkshelf 00:09:13
    5. Defining Run List for a Node with Knife 00:07:53
  7. Chapter 7 : Data Driven Cookbooks
    1. Section Introduction 00:00:41
    2. The Node Object, Attributes and Ohai 00:08:49
    3. User Defined Data, Defining the Default Attributes 00:05:23
    4. Refactoring Tomcat to use Attributes 00:08:24
    5. Supporting platform specific properties with attributes and conditionals 00:09:54
    6. Static Files vs Templates, ERB Tags 00:05:29
    7. Templatizing motd configurations 00:06:42
    8. Attribute Precedence Order 00:04:07
    9. Solution - Templatize Tomcat Config 00:06:59
  8. Chapter 8 : Customizing Community Cookbooks
    1. Section Introduction 00:00:37
    2. Chef Supermarket, Community Cookbooks Selection Criteria 00:04:07
    3. Cookbook Customising Strategies 00:04:06
    4. Creating a wrapper cookbook to setup load balancer 00:11:47
  9. Chapter 9 : Automated Deployments with Chef and Circle CI
    1. Section Introduction 00:01:05
    2. Setting up Sysfoo build with CircleCI and GitHub 00:09:46
    3. Deployment Specs and Strategy 00:04:35
    4. Writing Deployment code for Sysfoo Java Webapp 00:09:30
    5. Deploying new version of Application, Idempotence Test 00:04:19
  10. Chapter 10 : Roles
    1. Section Introduction 00:00:47
    2. Why roles? Run lists and Attribute Precedence 00:06:41
    3. Creating roles for App Servers and Load Balancer, Nested Roles 00:05:59
    4. Applying Roles 00:07:36
  11. Chapter 11 : Search
    1. Section Introduction 00:00:43
    2. Using Search with Knife 00:06:34
    3. Adding search to Recipes, Auto Configurations 00:10:08
  12. Chapter 12 : Environment
    1. Section Introduction 00:01:23
    2. The need for the Environments 00:02:54
    3. Creating Prod Environment, Cookbook versioning constraints, Configuration Profile 00:12:18