AWS Elastic Beanstalk is an even easier way for developer to quickly deploy and manage applications in the AWS cloud. They can 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, a developer retain full control over the AWS resources powering his application and can access the underlying resources at any time. 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.
The first release of Elastic Beanstalk is built for Java developers using the familiar Apache Tomcat software stack which ensures easy portability for the application. There is no additional charge for Elastic Beanstalk – you only pay for the AWS resources needed to store and run the applications.
AWS Elastic Beanstalk Functionality
To deploy Java applications using Elastic Beanstalk, do following:
- Create a application as you normally would using any editor or IDE (e.g. Eclipse).
- Package a deployable code into a standard Java Web Application Archive (WAR file).
- Upload the WAR file to Elastic Beanstalk using the AWS Management Console, the AWS Toolkit for Eclipse, the web service APIs, or the Command Line Tools.
- Deploy the application. Behind the scenes, Elastic Beanstalk handles the provisioning of a load balancer and the deployment of the WAR file to one or more EC2 instances running the Apache Tomcat application server.
- Within a few minutes you will be able to access the application at a customized URL (e.g. http://myapp.elasticbeanstalk.com/).
Once an application is running, Elastic Beanstalk provides several management features such as:
- Easily deploy new application versions to running environments (or rollback to a previous version).
- Access built-in CloudWatch monitoring metrics such as average CPU utilization, request count, and average latency.
- Receive e-mail notifications through Amazon Simple Notification Service when application health changes or application servers are added or removed.
- Access Tomcat server log files without needing to login to the application servers.
- Quickly restart the application servers on all EC2 instances with a single command.
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 such as Amazon RDS, Amazon SimpleDB, Microsoft SQL Server, or Oracle.
- Enabling login access to Amazon EC2 instances for immediate and direct troubleshooting
- Quickly improving application reliability by running in more than one Availability Zone
- Enhancing application security by enabling HTTPS protocol on the load balancer
- Adjusting JVM settings and passing environment variables
- Running other application components, such as a memory caching service, side-by-side in Amazon EC2
- Adjust Auto-Scaling settings to control the metrics and thresholds used to determine when to add or remove instances from an environment
Source and more Information at http://aws.amazon.com/elasticbeanstalk.