December 18, 2010

Day 18 - DevOps

This article was written by Brandon Burton

This article is part one of a two-part series exploring what DevOps is, what it means for systems administrators (in all his/her many forms), where it has come since my post earlier this year, and where you should be looking if you want to be involved.

Part one focuses on what DevOps and what it means for the Systems Administrator.

DevOps

DevOps is really just a label for a rallying point around a variety of trends (primarily lead by Web Operations) that have begun to coalesce over the last couple of years. These trends, ideas, and tools have existed in various forms and have been adopted to various extents for many years, but have seen a huge coming together in the last two years. Early voices in this area include John Allspaw's talk at Velocity 2009 and Patrick Debois's coining of the 'DevOps' term, and is covered well by a writeup by John M. Willis

CAMS

The principles that DevOps is about are best summarized as CAMS, the four pillars of DevOps. CAMS is:

Culture

People and process first. If you don't have culture, all automation attempts will be fruitless.

Automation

This is one of the places you start once you understand your culture. At this point, the tools can start to stitch together an automation fabric for DevOps. Tools for release management, provisioning, configuration management, systems integration, monitoring and control, and orchestration become important pieces in building a DevOps fabric.

Measurement

If you can't measure, you can't improve. A successful DevOps implementation will measure everything it can as often as it can: performance metrics, process metrics, and even people metrics.

Sharing

Sharing is the feedback part of the CAMS cycle. Creating a culture where people share ideas and problems is critical. Another interesting motivation in the DevOps movement is the way sharing DevOps success stories helps others. First, it attracts talent, and second, there is a belief that by exposing ideas you can create a great open feedback that in the end helps them improve.

Why it's important

DevOps is important because it represents a shift in the way we are thinking about and practicing operations and how we are interact with developers -- and beyond to other groups within businesses.

DevOps is important because it is about helping, it's about an attitude that says, "I'm going to make a difference, I'm going to cooperate and communicate, and I'm going to understand that in the business of delivering great software, we're all in it together."

For the Systems Administrator

Don't let any potential hype or the the fact that the discussion seems focused on things like the cloud, nosql, or agile deter you. DevOps represents the things that Systems Administrators love and advocate.

It's about planning for failure, choosing good tools, creating and using good lines of communications. Half of DevOps is operations, and operations is systems administrators. DevOps advocates ensuring systems administrators are involved in the design process and architectural decisions. It's about promoting operations as a provider of value and not as a cost center.

I think that as systems administrators we can see the value in these things being given a voice and DevOps represents an opportunity to be a part of an ongoing conversation and see the values, tools, and practices we believe in reach a wider audience and wider adoption.

Where to go from here?

In part 2, I'll explore past and future events, how and where to learn, and how to get more involved.

Further reading:

No comments :