Amazon is hiding the complexity of deploying web applications to its vast cloud – a complexity that's letting rivals catch up.
The book-seller-turned-service-provider has introduced a service called Elastic Beanstalk that it has promised will have your web app up and running within "minutes".
Beanstalk handles provisioning and deployment, and automatically monitors the application and the performance of the specific EC2 instance that your application is running on.
You upload your application to Elastic Beanstalk through the AWS Management Console, the AWS Toolkit for Eclipse, or the Elastic Beanstalk command-line tools or API.
The service straddles Amazon EC2, Amazon S3, Amazon Simple Notification Service, Elastic Load Balancing, and Auto-Scaling services.
One of the outstanding criticisms of the Amazon EC2 cloud is the sheer range of raw application configuration and deployment options on offer to devs. It spans different instances, load balancing, location, data-transfer rates, and block-storage infrastructure and pricing options.
Amazon said that Beanstalk means "developers don't need familiarity with AWS services to begin running their applications on the AWS technology infrastructure platform."
Amazon's complexity has created opportunity for others in a field Amazon has pioneered. Some are service providers riding on top of Amazon, using the giant's infrastructure but providing a simple to use and understand interface - providers such as Heroku, which hosts applications built using Ruby on Rails.
Heroku was bought by Salesforce.com late last year to increase its footprint as a cloud host among Ruby developers and to complement its existing attempt to provide a cloud for Java apps through VMforce.
The first release of Elastic Beanstalk targets Java developers familiar with the Apache Software Foundation's Tomcat, but Amazon said Beanstalk can be extended to support multiple development stacks and programming languages.
Amazon didn't say what's next, but it is "working actively" with solution providers on the APIs and the capabilities to expand Beanstalk. Ruby promises to be one of the first additions, as Amazon is working with Engine Yard to build an Elastic Beanstalk Ruby-on-Rails container.
Microsoft, with its fledgling Azure, is offering simplified deployment options for .NET developers building apps for the cloud. It's turning Azure into just another deployment option for Visual Studio along with the client and server, while also offering storage concepts already familiar to devs through SQL Azure – a relational storage system.
Amazon isn't lacking in applications running on EC2. Cloudkick, bought by Rackspace in December, is reported to have calculated that Amazon is running 90,000 "virtual computers" a day. The number's based on the number of virtual machines on Amazon's cloud.
It's not-so-hidden complexity, though, could help blunt Amazon's advance in the cloud and let others like Microsoft and start-ups like Heroku close the gap among devs. ®