2

Is it possible to locally create a single AMI file of say Debian Jessie and use it directly (or with little changes) on any AMI-compatible cloud service providers (eg. AWS, CloudStack, Digital Ocean or Rackspace)?

CDuv
  • 288

2 Answers2

2

AMIs are somewhat unique in that the kernel is separate from the image. It depends on the provider and whether they support the upload of AMI-style images.

The Rackspace Public Cloud supports upload of images in VHD format, while Rackspace Private Clouds support the use of AMIs.

As of October 2013 Digital Ocean did not support image uploads.

CloudStack isn't the same thing as a Rackspace Public Cloud, EC2, or Digital Ocean, which are hosted offerings built on one cloud stack or another. CloudStack is an open source cloud stack, similar to OpenStack. OpenStack and CloudStack both support AMI images.

If you want maximum portability between clouds it's probably worth looking at those you'd like to use and figure out which image format (AMI, VHD, QCOW2, etc) is best supported among them.

phoebus
  • 8,430
2

Phoebus' answer covers the question as such (+1). Another option would be to slightly alter your approach and use Packer instead, which is a tool for creating identical machine images for multiple platforms from a single source configuration:

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 automated scripts to install and configure the software within your Packer-made images. [...]

It currently supports Builders for all your specified targets except CloudStack. Initial support for a Cloudstack builder is already available, but not yet merged for organizational reasons apparently. If you do not want to wait for this to happen, you can integrate it via Custom Builders yourself in the meantime.

Steffen Opel
  • 5,686