Getting Started With Chef
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 lesson 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 lesson 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 lesson |
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 |
GitHub - Chef Code
The code used in the lesson can be found here on GitHub:
https://github.com/cloudacademy/chef-intro
If you have thoughts or suggestions for this lesson, please contact Cloud Academy at support@cloudacademy.com.