Introduction to Chef
Chef is an automation platform that transforms infrastructure into code. This is a hands-on tutorial that will cover the basics that everyone needs to know about how to use Chef for system and infrastructure management. We'll discuss the server API, the code primitives, and the tools required to successfully use Chef.
Hands-on exercises throughout the tutorial will reinforce the material discussed. The agenda will cover:
- Overview of Chef
- Set-up a local workstation with Chef and connect to a Chef server
- Create a new cookbook to manage a basic website
- Refactor the cookbook
- Tying it all together - wrapup of the work performed
- Further resources and references
Attendees should bring a wifi-enabled laptop to the workshop. The following operating systems have been tested as workstation systems with the hands on exercises:
- Ubuntu 10.04, 12.04
- Mac OS X 10.7.3+
- Windows 7+
Other platforms and platform versions may work without modification. Due to time constraints we will not be able to troubleshoot issues with unlisted platforms.
Attendees should install non-Chef required software before the workshop starts.
- SSH/SCP (OpenSSH, puTTY/WinSCP or equivalent)
- Programer's text editor (Vi/Vim, Emacs, Sublime Text 2 or equivalent)
- On Unix/Linux/OS X systems:
- C/C++ compiler, build environment (build-essential, Xcode, or platform equivalent).
Additionally, all attendees should install the Chef Client (>= 11.8.2) using one of the following options:
- Install Chef Client using Opscode's Chef Installer (easiest option for all attendees).
- Install the chef gem (best option if you're already using ruby and a ruby version manager like rvm or rbenv)