We're using Puppet for our deployments, and not just initial deployments, but for code deployments as well. The puppet node classifier talks to a MySQL database that has the "right" versions for a particular server in it; upgrading consists of changing the version for a server to the desired version, and then running Puppet. I think you could create an EC2 instance that automatically runs Puppet (or Chef) on startup pretty easily. And as someone else mentioned here, you don't have to do a complicated setup with a server to get going, either with Chef or Puppet.
Comments
We're using Puppet for our deployments, and not just initial deployments, but for code deployments as well. The puppet node classifier talks to a MySQL database that has the "right" versions for a particular server in it; upgrading consists of changing the version for a server to the desired version, and then running Puppet. I think you could create an EC2 instance that automatically runs Puppet (or Chef) on startup pretty easily. And as someone else mentioned here, you don't have to do a complicated setup with a server to get going, either with Chef or Puppet.