Channels ▼


Other Voices: IT Automation Without Version Control

Jake Sorofman works for rPath, a provider of automated application deployment tools. You can contact Jake at [email protected]

The late, great Jim Croce shared a few truisms most of us can easily recite:

You don't tug on Superman's cape
You don't spit into the wind
You don't pull the mask off the old Lone Ranger
And you never -- ever -- automate IT without version control

Okay, maybe that's just how I remember it. But the point is clear (to me, at least): Failing to version control IT systems is right up there with the all-time ill-advised ideas against which Croce so famously advocates. So burn that on your brain along with the rest of the verse.

The notion that IT would continue to deploy and manage software and configurations without version control is somewhat perplexing. In the world of application development, version control is pretty much taken for granted.

In a recent post, Theo Schlossnagle puts it bluntly:

Version control systems are nothing new to the world of software development. I'll take the time now to unapologetically call you an idiot if you don't already have all your code and configurations in a version control system."

Why? Because version control enables velocity and change -- it enables innovation. It allows development projects to safely consume change. Something broke with the latest build? Roll it back. Or find the difference between the builds and bisect until you home in on the offending culprit. Change is a welcomed part of the process.

Without version control, developers would be tentative -- no, debilitated. They'd be paralyzed with fear of change and unable to move at the pace of business like so many enterprise IT organizations today.

The good news is that, for the most part, IT knows they have this problem, but it's too difficult to reproduce systems across release lifecycle phases. To understand what versions of software are deployed. To understand current patch levels. To roll back changes and troubleshoot system outages.

The bad news is that IT also knows that the problem is only getting worse. As virtualization and cloud computing take hold, IT will see geometric growth in the number of systems that need to be managed. The answer, of course, is automation. Adding resources to address system scale is not part of our "new normal."

But, automation can make the wrong things happen -- faster. I think Glenn O'Donnell at Forrester puts it best:

"Fast and flawed and you fail. Prompt and precise and you prevail."

What IT needs is a way to model systems so they're deeply understood and a version control foundation to manage them over time. Once this is in place, system provisioning and change becomes fast, predictable, transparent -- and reversible.

Automation that isn't model-driven and version controlled? As Croce may or may not have said, it's like tugging on Superman's cape. And you don't mess around with Jim.

So what do you think? Am I on the right path? Leave me a comment -- or two.

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.