DevOps Zone is brought to you in partnership with:

Patrick Debois has been working on closing the gap between development and operations for many years. In 2009 he organized the first conference and since then the world is stuck with the term 'devops'. Always seeking for opportunities to optimize the global IT instead of local optimizations. Patrick is a DZone MVB and is not an employee of DZone and has posted 39 posts at DZone. You can read more from them at their website. View Full User Profile

Continuous Integration for the World

  • submit to reddit

In 2008 at Agile Toronto, I did a session on Agile Infrastructure. This is where I met Andrew Shafer (working at Reductive Labs). There wasn't that much attention for it back then, we were still figuring out the impact and ideas. Now 3 years later, I was keen on doing a follow-up at the big Agile2011 conference in Utah.

I had the pleasure to co-present with the illustrious Julian Simpson (aka Build Doctor).

The talk was based on showing off a few of the tools that are currently used in the devops space and pointing out the similarities between the release process of code and the release process of servers:

Thanks to the concept of infrastructure as code and virtualization, we can define and build our infrastructure based on textfiles. Those files can be version-controlled and tested like regular code. The artefact (ami, image), can then be deployed on an infrastructure. The following image gives you an overview on the similarities.

Some people have asked for an overview on how all these tools relate to each-other. Therefore I started with the following overview to make understandable. I'd love to hear your comments on it.

Demo of veewee creating Just Enough Operating System

Demo of vagrant spinning up an ubuntu box

Demo of chef on vagrant spinning up an apache webserver


Demo of cucumber-nagios testing the deployment of the webserver

Demo of mccloud for doing vagrant-alike deployment on ec2

Published at DZone with permission of Patrick Debois, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)


Ash Mughal replied on Thu, 2012/01/26 - 2:53am

I love the diagrams. They do a good job showing how "infrastructure as code" is very analogous to "code as code". It's been an eye opener coming from Ops to see how much of a software developer an Ops person needs to become to be successful with "infrastructure as code". As I was processing your code diagram I made column headers (source, compile, package, integration, deploy) and found for the integration header you could put "runlist" as the analogy for Chef as it is a grouping of recipes (and more) for a larger purpose (an integration). I think a role would be a package, because in itself it is not a complete thing, but it is a grouping of other things.

advanced java

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.