Deploy and Scale Web Applications with AWS Elastic Beanstalk
AWS Elastic Beanstalk (EB) is a function for application management provided by Amazon.com as one of Amazon Web Services. With just uploading code, EB automatically handles deployments ranging from capacity provisioning, load balancing and automatic scaling to application health monitoring. The environment necessary for application operation, without having to make various settings it will be able to run on the cloud.
Elastic Beanstalk can be used from ‘Amazon Management Console’ which uses AWS from a Web browser and ‘AWS Toolkit for Eclipse’ (AWS Toolkit) which is a plug-in that uses AWS from Eclipse.
AWS Elastic Beanstalk deploys and scales web applications and services developed in Java , .NET , PHP , Node.js , Python , Ruby , Go , and Docker on familiar servers such as Apache, Nginx, and Passenger It is an easy-to-use service.
EB is a higher level managed “Platform as Platform (PaaS)” for hosting web applications. Instead of directly processing low-level AWS resources, EB creates an application environment using the web interface, selects the platform used by the application, creates and uploads source bundles, and EB handles the rest Platform management platform.
With EB you can take advantage of all sorts of built-in functions to monitor the application environment and introduce new versions of the application. In EB, cloud formation is used to create and manage various AWS resources of the application. One can customize and extend the default EB environment by adding the cloud formation resource to the EB configuration file deployed in the application.
Benefits of AWS Elastic Beanstalk
- Best and simplest way to deploy your application on Amazon Web Services
- No need to spend time on developing expertise
- Automatically scales the application up and down
- Freedom to choose AWS resources necessary for the application
What is CloudFormation (CFn)
CloudFormation (CFn) is a lighter, lower level abstraction than the existing AWS API. AWS CFn allows developers and system administrators to easily create, manage, and provision and update collections of related AWS resources in an orderly, predictable way. Use a static JSON / YAML template document to declare a set of Resources (such as EC2 instance and S3 bucket) corresponding to the CRUD operation of the AWS API.
When you create the CFn stack, CFn calls the corresponding API to create the associated resources, and when you delete the stack it calls the corresponding API to delete it. Most AWS APIs (not all) are supported.
Main Features of AWS Elastic Beanstalk
Immediate Launch Application – Just deploy the application from Eclipse or web browser to launch the application. Like the world’s PaaS, you can easily run applications.
Monitoring Function – One can easily check the CPU utilization, the number of requests, and even the log of the Tomcat server from the screen. In addition, it is also possible to notify by e-mail at the timing of state changes such as the addition and deletion of application servers.
Selection of Database – You can select ‘Amazon RDS ‘, ‘Amazon SimpleDB’, ‘Microsoft SQL Server’, ‘Oracle’ as the database server to use. You can select the database according to the application.
Loose Limit – The entity on Elastic Beanstalk is a virtual machine that runs on Amazon EC2. Site access, multithreading, process calls etc are not subject to limitations.
Basically, it’s Free – Although Elastic Beanstalk’s own features are available for free, instances, storage, and network traffic are charged as with regular AWS. EB’s addition is free, so there is no hand to use.
AWS Elastic Beanstalk can be used if your application is a standard Web-tier application that uses one of EB’s supported platforms, and you want to manage applications easily and require highly scalable hosting.