Robin discusses the prerequisites and what topics are covered, including tooling in the Chef development kit (ChefDK) used for developing and testing Chef recipes and cookbooks.
- [Instructor] The Learning Chef course is designed to provide an overview of the Chef platform, especially the tooling and the Chef development kit used for developing and testing Chef recipes and cookbooks. This introductory course will familiarize you with the context of configuration management that Chef fits within and provide you with an understanding of the core components of the platform. You should know that this class is intended to be an overview. I'll expect you to be familiar with concepts like provisioning application or database servers, working with Cloud instances and virtual machines, the fundamentals of DevOps, Linux system administration, such as installing packages, configuring them, and managing services, and also basic protocols like SSH, TCP, networking principles, and some basic HTML.
In this class, we'll be talking about using Chef to automate the process of building, deploying, and managing your infrastructure. You should know this can be done with virtually any platform whether it's Unix-based, Linux-based, Solaris, or Windows. This class is going to focus on the Linux architecture behind managing a CentOS system. While the principles will still hold for any other architecture, I do expect you to have a basic understanding of working your way around the Bash terminal, such as opening, editing files, and saving them.
I'll also expect you to be familiar with running command line tools. Chef, in and of itself, does use the Ruby language to express solutions to common problems, but I want you to be aware that a deep understanding of Ruby is not required to learn Chef. I do not expect you to have any previous Ruby experience to take this course. I want you to know that learning Chef is like learning a language though, be it a programming language or a spoken language. We'll learn the basics very fast, but you'll have to keep practicing until you become fluent.
A great way to learn Chef is to use Chef.
- Configuration management
- Using Chef
- Installing the Chef development kit (ChefDK)
- Provisioning a CentOS instance
- Using recipes and the Apache cookbook
- Working with nodes and node objects
- Using templates and embedded Ruby
- Hosting a Chef server
- Provisioning nodes with AWS
- Testing deployments with Kitchen
- Exploring the Chef Supermarket
- Resolving dependencies with Berkshelf
- Working with server roles, environments, and data bags