github.com/phobos182/packer@v0.2.3-0.20130819023704-c84d2aeffc68/website/source/intro/use-cases.html.markdown (about)

     1  ---
     2  layout: "intro"
     3  page_title: "Use Cases"
     4  prev_url: "/intro/why.html"
     5  next_url: "/intro/platforms.html"
     6  next_title: "Supported Platforms"
     7  ---
     8  
     9  # Use Cases
    10  
    11  By now you should know what Packer does and what the benefits of image
    12  creation are. In this section, we'll enumerate _some_ of the use cases
    13  for Packer. Note that this is not an exhaustive list by any means. There are
    14  definitely use cases for Packer not listed here. This list is just meant
    15  to give you an idea of how Packer may improve your processes.
    16  
    17  ### Continuous Delivery
    18  
    19  Packer is lightweight, portable, and command-line driven. This makes it the
    20  perfect tool to put in the middle of your continuous delivery pipeline. Packer
    21  can be used to generate new machine images for multiple platforms on every
    22  change to Chef/Puppet.
    23  
    24  As part of this pipeline, the newly created images can then be launched and
    25  tested, verifying the infrastructure changes work. If the tests pass, you can
    26  be confident that that image will work when deployed. This brings a new level
    27  of stability and testability to infrastructure changes.
    28  
    29  ### Dev/Prod Parity
    30  
    31  Packer helps [keep development, staging, and production as similar as possible](http://www.12factor.net/dev-prod-parity).
    32  Packer can be used to generate images for multiple platforms at the same time.
    33  So if you use AWS for production and VMware (perhaps with [Vagrant](http://www.vagrantup.com))
    34  for development, you can generate both an AMI and a VMware machine using
    35  Packer at the same time from the same template.
    36  
    37  Mix this in with the continous delivery use case above, and you have a pretty
    38  slick system for consistent work environments from development all the
    39  way through to production.
    40  
    41  ### Appliance/Demo Creation
    42  
    43  Since Packer creates consistent images for multiple platforms in parallel,
    44  it is perfect for creating [appliances](http://en.wikipedia.org/wiki/Software_appliance)
    45  and disposable product demos. As your software changes, you can automatically
    46  create appliances with the software pre-installed. Potential users can then
    47  get started with your software by deploying it to the environment of their
    48  choice.
    49  
    50  Packaging up software with complex requirements has never been so easy.
    51  Or enjoyable, if you ask me.