Been looking into the Opscode platform and using Chef and Knife to make redeploying EC2 instances 100% reproduceable. Its a different way compared to puppet.
Basically you use the opscode platform to either use recipes in the existing cookbooks, or create your own cookbooks and upload them to your opscode account. It will then allow you to call the recipe as part of the knife command, for example:
you need to use EC2(although I think there are also APIs for other Cloud provides like Rackspace,etc),Opscode platform, Git and Ruby to use knife properly. So you will have to have an AWS EC2 account,Opscode account
example knife command: knife ec2 server create -i ami-a54d67d1 -G default -Z eu-west-1b --region eu-west-1 -f m1.large -S cloutest -I cloudtest.pem -x ubuntu
Will post up more findings as I go, its well worth a Google