Amazon Web Services Wednesday added a new service to its Elastic Compute Cloud -- the Elastic Beanstalk. The service allows an application in EC2 to automatically scale up to meet demand without any human intervention.
The service is a free add-on for Amazon customers. They merely check off Elastic Beanstalk as a desired service and it will be automatically applied to the designated application -- provided the application is written in Java. In the future other languages are likely to be covered as well, with two candidates being PHP and Ruby, depending on demand, said Adam Selipsky, VP of cloud computing evangelism.
Amazon's EC2 has had a similar scalability feature, AutoScaling, but it needed to be filled in by the application's submitter with recommended instance selections, depending on the amount of CPU and memory sought, among other parameters. There's no need to set parameters with the Elastic Beanstalk, said Brian White, a lead developer of the service, because EC2 knows to scale out by creating a clone or clones of the existing server instance.
"It scales horizontally," noted White, with additional copies of the same instance, as opposed to vertical scaling. Vertical scaling might involve selecting a larger virtual server and choosing the maximum memory option for the server type. Carefully monitored Java applications can be made to scale vertically by adding memory to an existing large server or increasing instances of the application server, as opposed to the horizontal approach. But Elastic Beanstalk makes scalability a no-brainer with its option to select the service upfront.
White said Elastic Beanstalk "has been built as an open framework," so there is no technical barrier to adding languages, if customer demand is there.
At the same time, developers retain the right to override Elastic Beanstalk, go into the EC2's control console and set a different-size instance as the basis for scaling their application. After a developer intervenes and interacts with the AutoScaling mechanism, Elastic Beanstalk takes over again and then applies that new instance size as the basis for its scale-up decisions. The change may occur with Beanstalk decommissioning the outmoded virtual machine, while commissioning the new ones.
"A lot of customers would rather not have to go in and interact with that AutoScaling feature," said Selipsky.
Customers still need to indicate if they wish to run an instance in a second availability zone, which in AWS parlance, means either a second data center or a section of the existing data center with its own electricity and power supply devices. That way, a power blackout might knock out one availability zone, but the customer's instances in a second zone would continue running and even be scaled out to meet the demand previously met in the failed zone.