Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Continuous Integration for the World

DZone's Guide to

Continuous Integration for the World

· Agile Zone ·
Free Resource

You've been hearing a lot about agile software development, get started with the eBook: Agile Product Development from 321 Gang

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

Download the free agile tools checklist from 321 Gang. This guide will help you choose the right agile tools to position your team for success. 

Topics:

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}