48 lines
2.4 KiB
Markdown
48 lines
2.4 KiB
Markdown
|
---
|
||
|
layout: "docs"
|
||
|
---
|
||
|
|
||
|
# What is Packer?
|
||
|
|
||
|
Packer is a tool for creating identical machine images for multiple platforms
|
||
|
from a single source configuration. Packer is lightweight, runs on every major
|
||
|
operating system, and is highly performant, creating machine images for
|
||
|
multiple platforms in parallel.
|
||
|
|
||
|
A _machine image_ is a single static unit that contains a pre-configured operating
|
||
|
system and installed software which is used to quickly create new running machines.
|
||
|
Machine image formats change for each platform. Some examples include
|
||
|
[AMIs](http://en.wikipedia.org/wiki/Amazon_Machine_Image) for EC2,
|
||
|
VMDK/VMX files for VMware, OVF exports for VirtualBox, etc.
|
||
|
|
||
|
Historically, creating
|
||
|
these images has been a predominantly manual process. Any existing automated tools were able to
|
||
|
create only one type of image. Packer, on the other hand, is able to automatically
|
||
|
create any type of image, all from a single source configuration.
|
||
|
|
||
|
Pre-baked machine images have a lot of advantages, but we've been unable to
|
||
|
benefit from them because they have been too tedious to create and manage.
|
||
|
Packer tears down this barrier, allowing the benefits of pre-baked machine
|
||
|
images to become available to everyone. Some benefits include:
|
||
|
|
||
|
* Super fast infrastructure deployment. Packer images allow you to launch
|
||
|
completely provisioned and configured machines in seconds, rather than
|
||
|
several minutes or hours. This benefits not only production, but development as well,
|
||
|
since development virtual machines can also be launched in seconds, without waiting
|
||
|
for a typically much longer provisioning time.
|
||
|
|
||
|
* Multi-provider portability. Because Packer creates identical images for
|
||
|
multiple platforms, you can run production in AWS, staging/QA in a private
|
||
|
cloud like OpenStack, and development in desktop virtualization solutions
|
||
|
such as VMware or VirtualBox. Each environment is running an identical
|
||
|
machine image, giving ultimate portability.
|
||
|
|
||
|
* Improved stability. Packer installs and configures all the software for
|
||
|
a machine at the time the image is built. If there are bugs in these scripts,
|
||
|
they'll be caught early, rather than several minutes after a machine is launched.
|
||
|
|
||
|
* Improved testability. After a machine image is built, that machine image
|
||
|
can be quickly launched and smoke tested to verify that things appear to be
|
||
|
working. If they are, you can be confident that any other machines launched
|
||
|
from that image will function properly.
|