The Bakery

The Bakery is a an Amazon Machine Image (AMI) factory. Once you have built an AMI, that image can be deployed to 1 or 1000s of EC2 instances.

Why would you want to do that? Well that is really a matter of preference.

Some (e.g. Netflix) like to build fully configured images containing their latest code, and use the same image for staging and promote it to production after testing. Others like to build an image containing just the dependencies for running their service, and get the code on boot (e.g. build an image with Ruby, Rails, and Nginx already installed and configured).

If you are using Docker, you could even build an AMI containing a Docker container. That way, when you launch 10 or 100s of instances, they aren't all downloading the same Docker image on boot.

The point is, it is a simple little factory, and how you want to use it is up to you.

Getting Started




There are two open source projects that are an alternative to using the Bakery:

  • Aminator written by Netflix.
    To get Aminator to run your Ansible playbooks, you will need to Ansible Provisioner written by our founder, Peter. It probably still works :-)
  • Packer written by Hashicorp.
    Under the covers, the Bakery actually uses Packer. We contribute to Packer from time to time, and added #1381 so Packer can create HVM AMIs.

What does the Bakery give you on top of these alternatives?

Two things:

  1. Easy to use integrations for Jenkins and CircleCI, as well as a generic JSON webhook option. This means you have no glue code to write or maintain.
  2. Lifecycle management
    • AMI usage information
    • Flagging AMIs for deletion when no longer in use
    • Deletion of old AMIs
What do you think of this page? Tell us about it