Chapter 3. An Introduction to Chef

The best way to learn is to do. A lot of technical books, even ones aimed at beginners, take the form of a lengthy discursive preamble, followed by some abstract example for the reader to digest and understand. The trouble with this is it doesn’t map well onto how we learn technical skills. Learning a technical skill is like teaching a child to ride a bicycle. You can’t really teach someone the theory, and then show them a video of someone else cycling, and then expect them to just pick it up by themselves at some point in the future. A much better way is to go out there and then, with a bicycle, plonk them on, give them a push, and help them when they wobble.

Learning a technical skill or a programming language is very much about immersion. The learning process is reinforced by mistakes, by looking up documentation, by asking other more experienced people, and building up competence ourselves. So, to introduce the fundamental ideas of Chef, we’ll build some real infrastructure, which we’ll actually use later in the book. This chapter and the next are unashamedly influenced by the excellent series of books and courses by Zed Shaw found at Learn Code the Hard Way. An approach that focuses on diving in and using real examples, this has been proven to be an excellent method for building confidence and expertise in a technical subject.

The approach, as explained on the website:

“…emphasizes precision, attention to detail, and persistence by requiring ...

Get Test-Driven Infrastructure with Chef, 2nd Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.