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:
- Demo of veewee : creating a Just Enough Operating system
- Demo of Vagrant: spinning up an ubuntu box
- Demo of Chef: provisioning the box with an apache server
- Demo of Cucumber-Nagios: testing the provisioned box with jenkins and cucumber-nagios
- Demo of Mccloud: repeating the same process on ec2 instead of Virtualbox
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