What is DevOps?

DevOps combines Development (coding) with Operations (IT infrastructure).

DevOps software helps developers and operations (IT staff) to collaborate to maintain and deploy fleets of servers and to push out code changes to beta/testing environments and production environments.

Chef and Puppet are two preeminent programs in the DevOps space that teams use to manage their many servers simultaneously — without having to log into each one manually.

So you may be wondering...

Do I need to know how to code to do DevOps?

Essentially, no. To start, however, you do need a firm grasp of Linux systems administration. For example, having completed LPIC 1 (Linux Professional Institute Certification Level 1) would do.

This means being able to:
  • Work at the Linux command line
  • Perform easy maintenance tasks: help users, add users to a larger system, backup and restore, shutdown and reboot, and
  • Install and configure a workstation (including X) and connect it to a LAN, or a standalone PC to the Internet

Read more about LPIC 1 at

What else do I need to know to begin working with Chef or Puppet?

Chef "recipes" are written with Ruby. You really don't need Ruby to begin working with Chef, although it could help.

Puppet uses its own Domain Scripting Language (DSL). So you use the Puppet DSL to write 'classes', and configure and deploy your Linux (and Windows*) systems.

* This is not an endorsement of the proprietary Microsoft Windows Operating System or any other Microsoft Product. Go open-source!

As a system administrator getting started with either Chef or Puppet, your starting point is LPIC 1. If you know how to manually create users and groups, set passwords and permissions, rotate logs, etc. in Linux, then you will be able to grok how Chef and Puppet allow you to automate these processes.

I've got Linux down. Now what?

Try one of these training courses:

Also, try learning some Ruby to help cook up Chef 'Recipes':