DevOps is the only way it has ever made sense

Mon, Feb 22, 2010 09:24 PM
DevOps is the label being given to the way we have always done things. This is not the first time this has happened. As it says on my About Me page,

Brian Moon has been working with the LAMP platform since before it was called LAMP.

At some point, not sure when, someone came up with LAMP. I started working on what is now considered LAMP in 1996. I have seen lots of acronyms come and some go. We started using "Remote Scripting" after hearing Terry Chay talk about it at OSCON. The next OSCON, AJAX was all the rage. Technically, we never used AJAX. The X stands for XML. We didn't use XML. What made sense for us was to send back javascript arrays and objects that the javascript interpreter could deal with easily. We wrote a PHP function called to_javascript that converted a PHP array into a javascript array. Sound familiar? Yeah, two years later, JSON was all the rage.

We also have seen the same thing with how we run our development process.  We always considered our team to be an agile development team. That is agile with little a. Nowadays, "Agile" with the big A is usually all about how you develop software and not about actually delivering the software. So, I am always perplexed when people ask me if we use "Agile" development. Are they talking little a or big A?

Today I came across the term DevOps on twitter (there is no Wikipedia page yet). We have always had an integrated development and operations team. I could be writing code in the morning and configuring servers in the afternoon. Developers all have some level of responsibility over managing their development environment. They updated their Apache configurations from SVN and make changes as needed for their applications. The development environments are simulated as close as possible to production. Developers roll code to the production servers. It is their responsibility to make sure it works on production. They also roll it when it is ready rather than letting it sit around for days. This means if there is an unforeseen issue, the code is fresh on their minds and the problem can quickly be solved. We have done things this way since 1998. We are not the only ones. The great guys at Flickr gave a great talk last year at Velocity about their DevOps environment. People were amazed at how their teams worked together.

One of the huge benefits of being a DevOps team is that we can utilize the full stack in our application. If we can use the load balancers, Apache or our proxy servers to do something that offloads our application servers, we plan for that in the development cycle. It is a forethought instead of an afterthought. I see lots of PHP developers that do everything in code. Their web servers and hardware are just there to run their code. Don't waste those resources. They can do lots of things for you.

One cool thing about this is that I now have a label to use when people ask us about our team. I can now say we are an agile DevOps team. They can then go look that up and see what it means. Maybe it will lead to less explanation of how we work too. And if we are lucky, maybe we can find people to hire that have been in a similar environment.

So, I welcome all the new people into the "DevOps movement". Adopt the ideas and avoid any rules that books, blogs, "experts" may want to come up with. The first time I see someone list themselves as a DevOps management specialist, I will die a little on the inside. It is not a set of rules, it is a way of thinking, even a way of life. If the process prevents you from doing something, you are using it wrong, IMO.
Gravatar for Chuck Burgess

Chuck Burgess Says:

My previous development job was like that -- the development team _was_ the operations team. There was no "handoff" to someone else. I miss that aspect of the software lifecycle.

Gravatar for Stephen Nelson-Smith

Stephen Nelson-Smith Says:

If this article raised your interest, and you're based in or around London, don't miss our first London Devops meetup:

Gravatar for James Turnbull

James Turnbull Says:

Totally agree! The coalescence around the term "DevOps" is more an attempt to get a message out than anyone claiming they've created a "new" message. I've been playing in this space for a long time now too (1997/1998 seems about right to me) and built a number of cross-domain, cross-functional teams because "DevOps" ... as opposed to other segregated models ... just works.

Gravatar for Nick Anderson

Nick Anderson Says:

I just had a conversation (more me ranting) with Matt Simmons about this whole DevOps thing. It's not that I disagree with the sentiments. I think it was the wooosh of hype that hit me hard and I didn't like it. I mean this isn't a new movement, its a new term. Cfengine has been around for quite a while, puppet etc ... These things seem to just naturally come about from need and pain. I do wish we could skip the hype I don't think the crazy running around throwing a new term about that seems to mean different things to different people really helps us get places.

I think about the stone age when computers had to be installed with disks, and how that didn't scale. Network based installs came about and imaging and automated installation (kickstart) competed. We run into problems that don't scale and we figure out a way to make them scale.

Gravatar for Brian Moon

Brian Moon Says:

Nick, I think you are focusing too much on automated system administration. That is not _all_ devops is about. It is about a more fluid cooperation and understanding between development and operations.

Nothing is new. Old things are just used in new ways.

Add A Comment

Your Name:

Your Email:

Your URL:

Your Comment: