Amazon Web Services (AWS) has announced the beta release of a new service known as AWS Elastic Beanstalk, which provides an easy way for developers to quickly deploy and manage applications in the AWS cloud.
In an interview with eWEEK, Adam Selipsky, vice president of Amazon Web Services, said the concept of the AWS Elastic Beanstalk is much like the "Jack and the Beanstalk" fable it is named after, where developers can quickly and easily seed applications on the AWS cloud and have them grow and scale as much as possible. Indeed, Selipsky said the tagline for the new service is: "Easy to begin and impossible to outgrow."
Selipsky said with the new service, developers simply upload their application, and Elastic Beanstalk automatically handles the deployment details of capacity provisioning, load balancing, auto-scaling and application health monitoring. At the same time, with Elastic Beanstalk, developers retain full control over the AWS resources powering their application and can access the underlying resources at any time.
"This is a key differentiation to other offerings out there -- application containers or platform-as-a-service solutions -- that offer developers a simpler way to move to the cloud," Selipsky said. "While reducing the amount of programming needed, other options reduce the amount of programmers' flexibility. But we are delivering a simplified solution without taking away any of the control from the developer."
For his part, Selipsky said with Elastic Beanstalk, developers retain full control over the AWS resources powering their application, and can perform a variety of functions by simply adjusting default configuration settings from the Elastic Beanstalk management console, including:
??Ã Selecting the most appropriate Amazon EC2 instance type that matches the CPU and memory requirements of their application
??Ã Choosing from several available database and storage options.
??Ã Enabling login access to Amazon EC2 instances for immediate and direct troubleshooting
??Ã Quickly improving application reliability by running in more than one Availability Zone
??Ã Accessing built-in CloudWatch monitoring and getting notifications on application health and other important events
??Ã Running other application components, such as a memory caching service, side-by-side in Amazon 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," Selipsky said in a statement. "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."
There is no additional charge for Elastic Beanstalk - customers pay only for the AWS resources needed to run their applications. The first release of Elastic Beanstalk is built for Java developers using the familiar Apache Tomcat software stack, which ensures easy portability if developers ever want to move their applications.
"We picked a target that has high demand," Selipsky said of AWS' choice of initially focusing on the Java development space. "This is not a philosophical statement; we started with a popular platform. There is high demand for Apache Tomcat. We intend on there being other versions in the future."
While the initial release of Elastic Beanstalk supports Java web application developers, Elastic Beanstalk is designed so that it can be extended to support multiple development stacks and programming languages in the future, Amazon said. AWS is actively working with solution providers on the APIs and capabilities needed to create additional Elastic Beanstalk offerings.
"We're excited about the introduction of AWS Elastic Beanstalk and the benefits it can offer to Ruby on Rails developers," said John Dillon, CEO of Engine Yard, a Ruby on Rails application hosting technology and service provider, in a statement. "We're working with AWS to provide an Elastic Beanstalk Ruby on Rails container that leverages the optimized Engine Yard stack which has been battle-tested by thousands of high-growth companies."
"Elastic Beanstalk 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," Selipsky said.
Meanwhile, Selipsky said Elastic Beanstalk leverages AWS services such as Amazon EC2, Amazon S3, Amazon Simple Notification Service, Elastic Load Balancing, and Auto-Scaling to deliver the same highly reliable, scalable, and cost-effective infrastructure that hundreds of thousands of businesses depend on today. However, now developers don't need familiarity with AWS services to begin running their applications on the AWS technology infrastructure platform. To get started, developers simply upload their application to Elastic Beanstalk using the AWS Management Console, the AWS Toolkit for Eclipse, or the Elastic Beanstalk command line tools or API, Amazon officials said. Behind the scenes, Elastic Beanstalk handles the provisioning and deployment of the infrastructure needed to run the application. Within a few minutes, the application can be accessed at a customized URL. Once the application is deployed, Elastic Beanstalk will automatically monitor application health and Amazon EC2 instance performance, AWS said in a press release on the new service.