Heads up, there’s a new virtualization tool on the block, and it goes by the name of ‘Packer’. Coming from the same stable as VM automation tool Vagrant, this software creates machine images for different platforms which can be created based on a single configuration file. Moreover, Packer images are fully provisioned and configured for VMs and can be launched just like that.
Image creation and management for specific platforms is totally automated with Packer. So you can use the same set of instructions to create images for AWS, Virtual Box or Vagrant. There are also configuration management tools like Chef and Puppet within the tool, enabling you to install software into an image. The Machine Image formats themselves vary from platform to platform, for example AMIs for EC2 or VMDK / VMX files to VMware.
As Packer creates identical images for different platforms, there’s a high degree of portability: from executing important business stuff on AWS, to Staging / QA in private clouds like OpenStack and development on a desktop virtualization solution like VMware or VirtualBox - all manner of environments are supplied with an identical machine image.
In principle, Packer creates images for any platform. Support is available for Amazon EC2 (AMI), Digital Ocean, Docker, Google Compute Engine, OpenStack, QEMU, VirtualBox (OVF) and VMware (VMX). There’s a plug-in mechanism to extend the software to other platforms.
Packer is developed on an open source basis under the Mozilla Public License 2.0. The latest version 0.6.0 can be downloaded from www.packer.io. Development takes place on GitHub under https://github.com/mitchellh/packer. In addition to the comprehensive documentation on www.packer.io, we recommend delving into Florian Motlik’s article "Building Machines with Vagrant Packer". For further info, check out the video below, where Packer-inventor Mitchell Hashimoto presents a personal overview of the project.