Make sure this course is right for you.
Get unbiased reviews and personalized recommendations.
Who should attend
- IT Managers and Leaders
- Developers and Application Teams
- System Administrators
- IT Operations Staff
- Release Engineers
- Configuration Managers
- Anyone involved with IT infrastructure
- Software Managers and Team Leads
About the course
Get started with Chef by taking official Chef automation training. This two-day instructor-led course that covers all the basics. You’ll learn what it means to turn infrastructure into code so that you can automate the configuration, deployment, and management of your servers. You’ll also learn about Chef architecture and the set of tools included in the Chef Development Kit (ChefDK). Finally, we’ll show you how to test your infrastructure code so that you can deploy with confidence. Each of the core units includes hands-on exercises that will give you confidence in your new skills. At the end of the course, you’ll come away with a repo and the skills to start automating your own infrastructure.
In this Chef Automation Training Course, You Will Learn How To:
- Use Chef Resources to define the state of your system
- Write and use Chef recipes and cookbooks
- Automate testing of cookbooks
- Manage multiple nodes with Chef Server
- Create Organizations
- Bootstrap nodes
- Assign Roles to nodes
- Deploy nodes to environments
- Enable Chef’s search features with your automation
- Create acceptance and production environments
Chef Introduction Overview and expectations for the class The Chef Lab System Architecture Group lab: Pre-built workstation
Using Chef Resources Using Chef to install packages on your virtual workstation Using the chef-client command Creating a basic Chef recipe file Defining Chef Resources Test and repair Lab: The 'file' resource
Building Cookbooks Modify a recipe Collaboration and version control Generating a Chef cookbook Defining a Chef recipe that sets up a web server Group exercise: Version Control
Lab: Set up Git
Lab: Setting up web servers
Chef client Locally applying multiple cookbooks' recipes with chef-client Applying a run list Including a recipe from within another recipe Lab: Update the apache Cookbook
Testing Cookbooks Using Test Kitchen to verify your recipes converge on a virtual instance Reading the ServerSpec documentation Writing and execute tests Where do tests live? Group exercise: Test configuration
Lab: Converge the kitchen
Lab: Commit your work
Lab: Testing Apache
- Details About a System Managing large numbers of servers Capturing details about a system Using the node object within a recipe Using Ruby's string interpolation Updating the version of a cookbook Lab: Update the Cookbook version
Lab: Node Details in the Webserver
Lab: Commit your work
Desired State and Data Cleaner recipes When to use a template resource Creating a template file Using ERB tags to display node data in a template Defining a template resource Using kitchen test on the "apache" cookbook Using chef-clientto apply the "apache" cookbook's "default" recipe Updating the "apache" cookbook's version for this patch= Committing the changes Lab: Update the version
Local Workstation Installation Installing ChefDK on your laptop Executing commands to ensure everything is installed Installing a local editor like Atom Lab: You will run the following commands and report their versions: $chef, $chef-client, $knife, $ohai, $berks, $kitchen, $foodcritic, $rubocop
The Chef Server Connecting to a Chef Server Managing Additional systems Managing User traffic Uploading cookbooks to a Chef Server Bootstrapping a node Managing a node via a Chef Server Hosted Chef Lab: Uploading cookbooks and managing cookbook dependencies
Community Cookbooks Find cookbooks on the Chef supermarket Create a wrapper cookbook Example: load balancer Amazon EC2 instances Replace the existing default values Upload a cookbook to Chef Server Bootstrap a new node that runs the cookbook Discussion: Can your teams benefit from the supermarket?
Managing Multiple Nodes Managing user traffic Bootstrapping and updating the run_list Running chef-client on a node Appending values to an attribute within a recipe Versioning cookbooks and uploading to Chef Server Lab: Another new node
Lab: Test and update the load balancer
Lab: Run $berks install
Lab: Converging the cookbook
Roles Assigning, defining, and configuring The 'knife' role Verifying roles Roles for everyone Lab: Define a web role
Search Update a Cookbook to Dynamically Use Nodes with the Web Role Describe the query syntax used in search Build a search into your recipe code Create a Ruby Array and Ruby Hash Update the myhaproxy wrapper cookbook Lab: Updating, load balancing, uploading and running the new search-capable cookbook
- Keeping your infrastructure current
- Creating a production environment
- Creating an acceptance environment
- Deploying a node to an environment
- Updating a search query to be more exact
Lab: Set new nodes to production
Lab: Acceptance environment
Lab: Create a new environment file
- Course wrap and further resources
- Beyond essentials
- Valuable reading
- Events and online resources
- Customizing Chef
ASPE’s Gonçalo Veiga is an experienced data analysis instructor that has the ability to impart technical skills and knowledge to people no matter their technical background. Gonçalo has a BS in Applied Psychology with a specialization in Clinical Psychology by the Instituto Superior de Psicologia...
Christian Melendez has been in the industry for almost 15 years. In 2013, Christian made the switch from developing software to managing infrastructure on the cloud. His employer at the time was having too many issues and spending too much money while releasing software, and he was able to use hi...
Robert Carr was a Principal Software Engineer at both Cloudscaling, an Openstack services company, and also at Dell/EMC. Robert has been working in Cloud-based software development for nearly 10 years using Git, Jenkins, Python, Chef, Google Cloud Platform (GCP) and AWS to deliver CI/CD best-prac...
Videos and materials
Because of COVID-19, many providers are cancelling or postponing in-person programs or providing online participation options.
We are happy to help you find a suitable online alternative.