This question was asked some time ago, but I believe that my answer may be useful to other users. I believe the best automation tools available on the market are provided by Cloud Management platforms. For example, they offer automatic scaling, integration of configuration software (Chef / Puppet), database replication, dns management ...
The most popular cloud-based software products are Scalr (disclaimer: I work there), RightScale and enStratus. Scalr is open source and released under the Apache 2 license.
As for your specific question about AMI, cloud-based management platforms usually provide preconfigured AMIs (in Scalr we call them roles). If you want to create your own AMI built on an existing instance, you can create snpashots and use them as a template for future instances.
Michel galibert
source share