So you've heard about DevOps and you're wondering how to get started. If you're ambitious you can learn a programming language. If you're not ready to bite off quite that much, you could get familiar with a configuration management tool such as Puppet or Chef. I'm going to offer another option: learn to work with a software version control system.
Version control systems are like the file servers of the software development world -- but so much more. In addition to being a repository for software source code, version control systems can hold configuration data for infrastructure such as routers, firewalls, switches and Apache Web servers. They can also hold configurations for monitoring systems such as Nagios.
Maintaining your configuration data in a version control system provides an element of change control; want to know when that firewall rule was introduced or when an Apache vhost was added? A version control system can help you track these things. Initially, populating a version control system may be a manual process. But over time some scripting can automate much of the work.
Version control systems have their own lingo: pull requests, merges, branches, commits and diffs; learn what these mean and how to use them. For example, the "diffing" feature lets you quickly view changes to tracked files. Additionally, version control systems can be the epicenter of a continuous integration system.
Becoming proficient with a version control system will give you an entrée to the developer world and help you get familiar with the terms and tools developers use. You'll be a step closer to obtaining meaningful value from a DevOps model -- and that's the goal, right?
Version control systems have been around for years, but in my opinion Git gets the most attention these days, perhaps because Git was originally created by Linus Torvalds. Git is quickly growing in popularity due in part to the powerful collaboration functionality of GitHub. Many developers and DevOps folks now list their public GitHub profiles on their resumes and blogs.
Of course, if your company happens to be using Subversion, Mercurial, Microsoft's Team Foundation Server or something else, the concepts remain largely the same. "Git" involved and start doing DevOps.
Don't miss "The DevOps Pay Raise: Quantifying Your Value To Move Up The Ladder" at Interop Las Vegas. This session will look at look at how you can use tools such as Chef, Puppet, Sensu and Logstash to quantify your value to your company. Register here.Dan Tesch is an IT Director at a Chicago-area marketing firm. He's also a member of the Interop Advisory Board. Dan's technology experience began in the late 1980s in the publishing industry, and now includes networking, virtualization, storage and security. View Full Bio