What is Chef and how does it configure systems? Robin introduces the background you should be familiar with before taking this course.
- [Instructor] Before we jump in, I wanted to mention what I expect you to know coming into this class so that you can get the most out of what we're going to cover. This is an intermediate-level course. I'm going to attempt to break down all the core concepts we'll cover as we progress through the content. This course does assume some familiarity with programming principles, scripting, and command-line editing. I'll assume that you know how to get around the Bash shell. I'll be moving into and out of directories, copying folders around, and also renaming files and editing them.
If you're not familiar with Bash shell scripting, then I recommend the course by Scott Simpson, Learning Bash Scripting. I'll also expect you to understand the basics of configuration management and DevOps principles. In this class, we're going to be describing our infrastructure as code, and so I'll hope that you understand what this process involves. If not, go ahead and check out DevOps Foundations by Ernest Mueller and James Wickett, and visit chef.io to get started learning about configuration management and where Chef fits into the big picture.
I'll also expect that you understand how to edit files using a command-line interface. This will involve using a tool like Vim, Emacs, or nano. Later on in the course, I'll be editing files with Sublime Text, but you're welcome to use an equivalent editor like Atom or Visual Studio Code. If you're getting started with these tools, feel free to use VimTutor. VimTutor is built into Vim and you can get started immediately if you install the package.
Learning Sublime Text 3 is a great course by Kevin Yank if you've never used a text editor. In addition to this, I'm going to assume some basic familiarity with Chef. If you're new to the ecosystem, feel free to visit my introductory course, Learning Chef. You can also visit learn.chef.io for some online interactive tutorials that'll familiarize you with the basics. It's also great to be familiar with Basic Ruby and object-oriented programming techniques.
However, understand that you do not need to know Ruby to get started with Chef. As you progress through Chef more deeply though, learning Ruby becomes a huge asset. If you're interested in upping your skills, check out Ruby Essential Training by Kevin Skoglund or visit tryruby.org. Finally, this class is going to focus on a LAMP stack deployment. So I will expect you to know what these components are used for. For this purpose, you can check out Wikipedia's LAMP stack page.
Also, there's a great LAMP stack tutorial on ibm.com that can teach you about what goes into a typical LAMP stack deployment.
This intermediate-level course provides insights into the Chef architecture through practical examples and demos, including the deployment of a PHP application on top of a LAMP stack. Instructor Robin Beck walks through recipe development and the various prebuilt cookbooks available from the Chef community Supermarket, and reviews best practices for building wrapper cookbooks that allow you to access recipes from different cookbooks. He also shows how to work more efficiently with knife commands for managing clients, cookbooks, and data.
- Building a setup recipe
- Using cookbooks to organize recipes
- Using community recipes
- Uploading cookbooks
- Using the database cookbook
- Adding PHP to the mix
- Searching with knife
- Testing cookbooks with Kitchen