diff --git a/website/source/intro/index.html.markdown b/website/source/intro/index.html.markdown new file mode 100644 index 000000000..f35969cf9 --- /dev/null +++ b/website/source/intro/index.html.markdown @@ -0,0 +1,29 @@ +--- +layout: "intro" +page_title: "Introduction" +prev_url: "#" +next_url: "/intro/why.html" +next_title: "Why Use Packer?" +--- + +# Introduction to Packer + +Welcome to the world of Packer! This introduction guide will show you what +packer is, explain why it exists, the benefits it has to offer, and how +you can get started with it. If you're already familiar with Packer, the +[documentation](/docs) provides more of a reference for all available features. + +## 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. Packer does not replace configuration management +like Chef or Puppet. In fact, when building images, Packer is able to use tools +like Chef or Puppet to install software onto the image. + +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. diff --git a/website/source/intro/use-cases.html.markdown b/website/source/intro/use-cases.html.markdown new file mode 100644 index 000000000..261320c7e --- /dev/null +++ b/website/source/intro/use-cases.html.markdown @@ -0,0 +1,51 @@ +--- +layout: "intro" +page_title: "Use Cases" +prev_url: "/intro/why.html" +next_url: "/intro/getting-started/setup.html" +next_title: "Getting Started: Install Packer" +--- + +# Use Cases + +By now you should know what Packer does and what the benefits of image +creation are. In this section, we'll enumerate _some_ of the use cases +for Packer. Note that this is not an exhaustive list by any means. There are +definitely use cases for Packer not listed here. This list is just meant +to give you an idea of how Packer may improve your processes. + +### Continuous Delivery + +Packer is lightweight, portable, and command-line driven. This makes it the +perfect tool to put in the middle of your continuous delivery pipeline. Packer +can be used to generate new machine images for multiple platforms on every +change to Chef/Puppet. + +As part of this pipeline, the newly created images can then be launched and +tested, verifying the infrastructure changes work. If the tests pass, you can +be confident that that image will work when deployed. This brings a new level +of stability and testability to infrastructure changes. + +### Dev/Prod Parity + +Packer helps [keep development, staging, and production as similar as possible](http://www.12factor.net/dev-prod-parity). +Packer can be used to generate images for multiple platforms at the same time. +So if you use AWS for production and VMware (perhaps with [Vagrant](http://www.vagrantup.com)) +for development, you can generate both an AMI and a VMware machine using +Packer at the same time from the same template. + +Mix this in with the continous delivery use case above, and you have a pretty +slick system for consistent work environments from development all the +way through to production. + +### Appliance/Demo Creation + +Since Packer creates consistent images for multiple platforms in parallel, +it is perfect for creating [appliances](http://en.wikipedia.org/wiki/Software_appliance) +and disposable product demos. As your software changes, you can automatically +create applicances with the software pre-installed. Potential users can then +get started with your software by deploying it to the environment of their +choice. + +Packaging up software with complex requirements has never been so easy. +Or enjoyable, if you ask me. diff --git a/website/source/intro/why.html.markdown b/website/source/intro/why.html.markdown new file mode 100644 index 000000000..d0649a4a2 --- /dev/null +++ b/website/source/intro/why.html.markdown @@ -0,0 +1,51 @@ +--- +layout: "intro" +page_title: "Why Use Packer?" +prev_url: "/intro/index.html" +next_url: "/intro/use-cases.html" +next_title: "Packer Use Cases" +--- + +# Why Use Packer? + +Pre-baked machine images have a lot of advantages, but most have been unable +to benefit from them because images have been too tedious to create and manage. +There were ether no existing tools to automate the creation of machine images or +they had too high of a learning curve. The result is that, prior to Packer, +creating machine images threatened the agility of operations teams, and therefore +aren't used, despite the massive benefits. + +Packer changes all of this. Packer is easy to use and automates the creation +of any type of machine image. It embraces modern configuration management by +encouraging you to use a framework such as Chef or Puppet to install and +configure the software within your Packer-made images. + +In other words: Packer brings pre-baked images into the modern age, unlocking +untapped potential and opening new opportunities. + +## Advantages of Using Packer + +***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. + +***Greater 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. + +Packer makes it extremely easy to take advantage of all these benefits. + +What are you waiting for? Let's get started! diff --git a/website/source/layouts/docs.erb b/website/source/layouts/docs.erb index 2d1beb27a..6f7600bbe 100644 --- a/website/source/layouts/docs.erb +++ b/website/source/layouts/docs.erb @@ -1,71 +1,59 @@ -<% wrap_layout :layout do %> -