It is a good time to be a developer. The PaaS space is heating up and now developers have a great new option to use to deploy, run and manage their applications, Beanstalk. The name is a departure from the normal Amazon alphabet soup, and is certainly unique and memorable.
I’m especially excited about this service because Model Metrics had early access to this and built the Travel Log sample application for AWS that shows off Best Practices around how to do Java development on AWS and is essentially the “Hello World” application for Beanstalk.
Name aside I like that AWS took a slightly different approach than what other PaaS providers have done. With VMForce or Google App Engine a developer essentially deploys their application into a massive cloud and providing it meets the governor guidelines and limits imposed by that cloud, it just runs. This approach is great for some developers, the tradeoff of some functionality for the pure abstraction of allowing code to run with no knowledge or access to the underlying infrastructure. However if you want to have the same ease of deployment, but with more access to what is under the covers, then Beanstalk is a great option.
Beanstalk essentially does the same thing as GAE or VMForce, upload a Java application and choose a few options and it just works. You no longer have to worry about provisioning an EC2 server, installing Tomcat, etc… However you do still have control over what size/type of instance your app will run on, and how many instances it can scale up to. The fact that you are running on your “own” stack means you don’t have to worry about governor limits or limitations imposed by other PaaS providers, but it also means you are running closer to the actual server level which can be a pro or a con depending on your mindset.
Time will tell which approach people will prefer, but I predict that this will be a successful service for AWS and really makes it much easier for a new developer to navigate the AWS waters and get their application up and running quickly.