With the recent explosion in the virtualization and container technologies, one is often left disoriented. Questions like “should I use virtual machines or containers?”, “which technology should I use”, and “can I migrate from one to another later?” are just some of those that will need answering.
Packer is a tool for creating machine and container images for multiple platforms from a single source configuration.
Have a look at the supported platforms:
- Amazon EC2 (AMI). Both EBS-backed and instance-store AMIs within EC2, optionally distributed to multiple regions.
- DigitalOcean. Snapshots for DigitalOcean that can be used to start a pre-configured DigitalOcean instance of any size.
- Docker. Snapshots for Docker that can be used to start a pre-configured Docker instance.
- Google Compute Engine. Snapshots for Google Compute Engine that can be used to start a pre-configured Google Compute Engine instance.
- OpenStack. Images for OpenStack that can be used to start pre-configured OpenStack servers.
- Parallels (PVM). Exported virtual machines for Parallels, including virtual machine metadata such as RAM, CPUs, etc. These virtual machines are portable and can be started on any platform Parallels runs on.
- QEMU. Images for KVM or Xen that can be used to start pre-configured KVM or Xen instances.
- VirtualBox (OVF). Exported virtual machines for VirtualBox, including virtual machine metadata such as RAM, CPUs, etc. These virtual machines are portable and can be started on any platform VirtualBox runs on.
- VMware (VMX). Exported virtual machines for VMware that can be run within any desktop products such as Fusion, Player, or Workstation, as well as server products such as vSphere.
The only question remaining now, it seems, is “why wouldn’t you use it?”. :)