Amazon Beanstalk

This is exactly what the world was waiting for! Amazon published Beanstalk, their first PaaS offering. Beanstalk allows customer to easily deploy standard Java web apps to AWS cloud.

Beanstalk builds on top of Amazons existing services. The applications run on Tomcat, which itself runs on EC2 virtual machine instance. Scaling is provided by Elastic Load Balancer. For datastore you can use the existing Amazon offerings. SimpleDB for cloud style storage, RDS for MySQL or other solutions running on EC2.

From customer perspective the great thing is you can take an existing project and push it to the cloud. As long as you with standard JDBC connectivity and for example with RDS (which is MySQL) you can easily take the application somewhere else.

The small drawback is that you pay for certain resources even if you don’t really use them. Just in order to have the webapp online, you need to have at least the EC2 micro instance running. On the other hand experience from Google App Engine have proved that in order to serve real Java web apps, you need to have your dedicated JVM running all the time. This is due to the fact that most frameworks take so long to startup that you can’t really do it on-demand, as the first customer pops in and requests page.