Virtual Machines and the Continuous Delivery Value Chain

The ease with which one can get a (virtual) machine up and running these days is quite simply staggering. As someone who started out in IT operations, where to provide a machine was an expensive and time consuming process, not forgetting the complexity involved in getting the new machine connected into the existing IT infrastructure (Novell et al), the latest breed of virtualization tools are a revelation.

I’ve spent a few months now working with the Oracle (Sun) Virtualbox type-2 Hypervisor as part of an investigation into the Vagrant platform. The latter of these two technologies allows virtual machines to be provisioned with only two commands – see up and running. The ability to have a large number of machines at ones disposal (for development, testing, automation, source/build, or whatever) is something that feeds the continuous delivery value chain, which I illustrate below:

Cont-X Delivery Pipeline2

The necessity to have automatic tests at every step of the chain requires machines that can be efficiently deployed to run these tests. Vagrant, with Virtualbox (or indeed any supported Hypervisor) allows any number of machines to be deployed (and destroyed – just as important to efficiently manage resources, especially where 3rd party providers are being used) “as code” as part of a continuous delivery build process.

I’ve also hooked virtual machines deployed in this manner into both Chef and Puppet scripts without any real problems. The real power of all of this lies in the ability to code the (test) machines themselves, as well as the test tools that run on these machines, along with the test assets (scripts, etc.) in an easily repeatable way so that there is no excuse not to run tests.

As you can see from the diagram above, testing, and confidence that tests are running, is essential to the continuous delivery value chain – and experience has shown that only by having evidence of testing across the early links in the chain will you convince anyone that deployment to live can actually become an automatic (not manual) step – the nirvana of continuous deployment.

CAP Project Services are a consulting business who specialize in “Enabling Continuous Delivery” within organizations by focusing on the business change involved in adopting DevOps, IaaS, virtualization and the like (for more information check out their website here). As a Director of this business its important to know enough about the technology (such as Vagrant) to help our clients understand the associated change impact. Vagrant, along with Chef and/or Puppet, looks a strong technology mix that could radically change the provisioning of machines within organizations and thus have a big impact on those organizations.

Addendum: There looks like a bright future for Vagrant so this may be a technology that can be built upon with some level of confidence….


About craigpearson004

"Enabling Continuous Delivery" - Creative Agile Partners ( provides support to organisations transforming their way of working and looking to be "world class" in everything they do....
This entry was posted in Uncategorized and tagged , , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s