In order to create an Amazon Machine Image (AMI), one must first have either the Amazon Tools installed into their Linux-based operating system or an Account on Amazon's EC2 service. The EC2 service is currently in beta, but a few Alfrescans have accounts.
There are several types of images that can be created for serving different purposes:
Completely Self-Contained Image: Incorporates all the Alfresco components including database, OpenOffice, etc. into one server image. This can be used for product demonstrations or small deployments.
Separated Alfresco and DB Image: This includes one non-clustered image of Alfresco and a separate one for the database.
Clustered Alfresco: This configuration allows for two or more clustered Alfresco servers connecting to one or more clustered database servers.
For all types of images, a mechanism needs to be devised to solve problems such as:
Automatic Configuration: When EC2 instantiates an AMI, there is no way of predicting it's IP address. Additionally data stored in an AMI are not persistent across instantiations, in other words, when an image is shut down/powered off, the data is lost. This means that there's a need to the server to automatically configure itself during the bootstrap process by connecting to a known 'registry' and retrieve any instance-specific information from there.
Automatic Backup and Restore: A backup strategy is required for instances where one or more instances may need to be restored after a failure or other shutdown condition. This necesitates the use of a persistent online data store such as Amazon S3 for such purpose. The backup issue may be somewhat mitigated if Alfresco is modified to use S3 for all data storage instead of the local filesystem. This means that only database files and a few other miscellaneous assets may need to be independently backed up.