Elastic Beanstalk is a managed service from AWS which allows us to simplify the application setup and deployment on the cloud.
Elastic Beanstalk is the fastest and easiest way to get the application up and running within few minutes. The applications which are developed using one of the programming languages like Java, .Net, Python, PHP, Node.JS can be deployed using Elastic Beanstalk by uploading the application from the AWS Console or by using Amazon CLI. Elastic Beanstalk automatically handles the provision of underlying infrastructure (EC2 instances), deployment, load-balancing, auto-scaling etc.
Benefits of using Elastic Beanstalk
- Automatic Resource Provisioning: Resources including EC2 instances, load-balancer, and the auto-scaling group will be automatically provisioned with Elastic Beanstalk. We do not have to worry about configuring these resources.
- Resources Access: Though the resources are provisioned automatically using Elastic Beanstalk, we will still have full control over the resources created by Elastic Beanstalk.
- Monitoring: Basic monitoring of the servers is enabled. Cloudwatch captures various metrics for the resources provisioned using Elastic Beanstalk.
- Security: New security group and policies are automatically created as part of creating the application on Elastic Beanstalk. All the servers are configured so that they can talk to each other and have necessary permissions.
- Deployments: AWS EB CLI commands will be used to configure the automatic deployments of the new versions using the command “aws eb deploy”. Deployments can be automated by integrating the CLI command in windows PowerShell or Linux shell script.
- Pricing: Using Elastic Beanstalk is not going to cost money. The resources provisioned as part of the Elastic Beanstalk application deployments will be billed at the normal Cost.
- Support Cloudformation: the Elastic Beanstalk application/environment including Elastic Load-balancer and auto-scaling group can be configured using AWS Cloudformation.
Elastic Beanstalk helps us to easily deploy the applications while leveraging Amazon’s powerful infrastructure. Enhancing the deployment process with containers like Docker will add more versatility. Using Elastic Beanstalk will save time on server configuration and customization. This is best suited for small applications including doing POC’s where we do not need to spend more time on configuring the infrastructure and security.