After reading this paas comparison and some others about various paas solutions currently on the market I want to clarify an important point regarding portability of AWS based applications (CloudBees and Beanstalk).
If your application uses a standard rational database and a standard ec2 instance then you are fine and your application is probably highly portable, however the moment you want to use features like nosql, blob/static storage and messaging then you have to use proprietary api.
- CloudBees in case of nosql DB has support for MongoDB and couchDB via external support, however Beanstalk has a proprietary nosql db called simpleDB.
- In case of static storage both platforms support S3 which has its own api.
- and in case of messaging you have sqs which again has its own api.
Any java paas solution today locks you down somehow, I do agree that the lack of full Java EE/SE stack on app engine is worse than the above mentioned, but it’s important to remember that all paas solutions require some kind of proprietary api.