Amazon Web Services on Wednesday launched a new cloud computing service dubbed AWS Elastic Beanstalk that vaults the cloud infrastructure powerhouse into the Platform-as-a-Service (PaaS) arena against Google and Salesforce.com by letting developers deploy and manage apps in the AWS cloud.
Elastic Beanstalk, the company said, automatically handles the deployment details of capacity provisioning, load balancing, auto-scaling and application health monitoring while still giving developers full control over the AWS resources that power the applications.
According to Amazon, AWS Elastic Beanstalk is available at no extra charge and users pay for the AWS resources they use to run the applications. In its first release, AWS Elastic Beanstalk is built for Java developers using the Apache Tomcat software stack. It can will be expanded for other development stacks and programming languages in the future, Amazon said. Amazon said it is currently working with solution providers on the APIs and capabilities needed to create additional Elastic Beanstalk offerings.
Adam Selipsky, AWS vice president, said AWS Elastic Beanstalk is impossible to outgrow and is designed for small developers and enterprise users.
"It automatically scales up or down as needed and developers don't need to worry about the configuration required to set up their infrastructure on AWS," he said in a statement.
AWS Elastic Beanstalk leverages other AWS services like Amazon EC2, Amazon S3, Amazon Simple Notification Service, Elastic Load Balancing and Auto-Scaling, but Amazon said users don't need to be familiar with AWS services to run their applications.
Instead, users upload the app to Elastic Beanstalk using the AWS Management Console, the AWS Toolkit for Eclipse or the Elastic Beanstalk command line tools or API, and Elastic Beanstalk does the provisioning and the deployment of the infrastructure to run the app. From there, the application is accessible via a customized URL and, once deployed, Elastic Beanstalk monitors an app's health and Amazon EC2 instance performance.
Amazon also used the launch of Elastic Beanstalk to take a jab at competing PaaS offerings, which the company said limit developers' capabilities. AWS Elastic Beanstalk will pit Amazon Web Services directly against other cloud application development platforms like Google's App Engine, which offers development for Java and Python apps. Salesforce.com also recently added more PaaS muscle with the $212 million acquisition of Heroku, a platform for Ruby-based applications.
"Most existing application containers or platform-as-a-service solutions, while reducing the amount of programming required, significantly diminish developers' flexibility and control," Amazon said in the statement. "Developers are forced to live with all the decisions pre-determined by the vendor -- with little to no opportunity to take back control over various parts of their application’s infrastructure."
AWS Elastic Beanstalk, however, gives developers control over the AWS resources that power the app and can perform configuration and management functions like selecting the most appropriate EC2 instance type; choosing available database and storage options; enabling login access to Amazon EC2 instances for troubleshooting; improving application reliability by running in more than one Availability Zone; accessing built-in CloudWatch monitoring for notifications of app health and other events; and running other application components like memory caching, side-by-side in EC2.
"We'd been grappling with how to simplify application deployment and management on AWS without removing the flexibility and control our customers have come to expect," said Selipsky. "Once we started exploring the mental model of customers being able to 'open the hood' to tinker with the infrastructure management themselves, a light bulb went off and we realized we didn't have to make this 'either/or' decision. AWS customers can now choose to have as much automation or as much control as they wish."