Why Vagrant? – Preventing Deployment Issues from Day One with a Virtual Machine

One of the traditional problems in software development is the delivery of a finished project. Atomic Object writes custom software, but we ultimately need to deliver it to our customers, which usually implies deploying it to an existing infrastructure environment, or handing it off to an operations team. Unfortunately, this hand-off process often introduces a […]

Building a Virtual Appliance – Repeatably

We were recently faced with the problem of how to ship and support a complicated piece of server software. We needed the software to be installed on a customer’s existing infrastructure and were nervous about depending on them to have experts in house. We decided to build a virtual machine “appliance” style packaging and to […]

Using Vagrant AWS with Capistrano

Vagrant 1.1 was recently released, adding support for virtualization providers other than VirtualBox. Among the providers now available is one for AWS. In switching my Vagrant workflow from VirtualBox to AWS, I ran into a problem; and in solving it, I discovered a better way to integrate Vagrant with Capistrano. 1. Vagrant Setup Vagrant 1.1 […]

Preparing Machines for Workshops with Vagrant, VirtualBox, & Puppet

Teaching a workshop involves a lot of thought and preparation. There’s research to do, content prep, slides to tweak — and you have to figure out some way of getting all the attendees started with the same setup. If you’re lucky, you’ll be presenting in a lab with machines that can be set up ahead […]

From Imperative to Declarative System Configuration with Puppet

After my impromptu presentation about configuration management with Puppet at BarCampGR a few weeks ago, several people mentioned that they had tried to use Puppet before, but couldn’t figure out how to make it do anything in the first place. I’d like to clear up some of that uncertainty if I can, so here is […]