Getting Started With Chef
If you were working in IT even ten years ago, then unless you were working for a large company, you probably didn’t need to think about how to manage infrastructure in a scalable way. Back then servers were often on-premises, or in some nearby co-location data center; deployments were infrequent and were kind of like a section of chain, with each link made of a different material, with no consideration of how that link fit into the chain as a whole. At any moment one or more links were bound to break, leaving the deployment is some unforeseen state, that could at best, be described as “broken.”
Luckily for all of us, tools started to evolve out of primordial ooze that was, a random collection of Perl, Python, Ruby, and VBScript, among the other, more esoteric languages. Among those tools was Chef. It not only was among the earliest to evolve, but it has continued to evolve even today.
Chef helps companies around the world manage their infrastructure, in a scalable way. What makes Chef such a useful tool is that it provides a consistent way to interact with nodes, across your entire infrastructure. It also provides a way to test the infrastructure code, which allows you to apply years of software engineering best practices to your infrastructure.
In this course you’ll learn how to use Chef to manage your servers. You’ll learn about how to create your own recipes to configure a server to meet your desired state. You’ll also learn about using community created cookbooks from the Chef Supermarket. By the end of this course you’ll have a solid foundation, to get you started working with Chef.
Getting Started With Chef: What You'll Learn
|Lecture||What you'll learn|
|Intro||What will be covered in this course|
|Overview||What is Chef and who uses it?|
|A High Level Architecture||A 30,000 foot view|
|The Anatomy of a Cookbook||How cookbooks are structured|
|The Recipe DSL||How recipes work|
|Setup||Setting up the workstation|
|Your First Recipe||Creating a recipe|
|Refactoring Your Recipe||Making the recipe cross-platform friendly|
|Deploying a Web Application||Deploying a LAMP based application|
|Setting Up The Chef Server||Preparing a Chef Server|
|Setting Up Nodes||Preparing some nodes to configure|
|Configuring The Nodes||Configuring The Nodes|
|Roles and Data Bags||Managing nodes with roles and accessing global data with data bags|
|Next Steps||How to keep learning|
The code used in the course can be found here on GitHub
If you have thoughts or suggestions for this course, please contact Cloud Academy at email@example.com.
About the Author
Ben Lambert is the Director of Engineering and was previously the lead author for DevOps and Microsoft Azure training content at Cloud Academy. His courses and learning paths covered Cloud Ecosystem technologies such as DC/OS, configuration management tools, and containers. As a software engineer, Ben’s experience includes building highly available web and mobile apps.
When he’s not building the first platform to run and measure enterprise transformation initiatives at Cloud Academy, he’s hiking, camping, or creating video games.