AWS Elastic Beanstalk


AWS Elastic Beanstalk makes assists developers to deploy and manage applications in the AWS Cloud quickly, once a file is uploaded Elastic Beanstalk handles the deployment details of capacity provisioning, auto-scaling, load balancing, and application health monitoring automatically.
This activity provides you with an Amazon Web Services (AWS) account where an AWS Elastic Beanstalk environment has been pre-created for you. You will deploy code to it and observe the AWS resources that make up the Elastic Beanstalk environment.
AWS Elastic Beanstalk (7May2020) https://aws.amazon.com/elasticbeanstalk/



Access the Elastic Beanstalk environment

An AWS Elastic Beanstalk environment includes a collection of AWS resources running an application version. Multiple environments can be deployed when multiple versions of an application are needed to run.






When the deployment is completed, the URL value at the top of the screen should be clicked and if 404 status is displayed refresh the page.




The web application that you deployed displays.



Elastic Beanstalk defines a number of configuration options that could be used to configure an environment's behavior and about the resources it contains.





Explore the AWS resources that support your application

Once a web server environment is created, one or more Amazon Elastic Compute Cloud (Amazon EC2) virtual machines, known as Instances would be created by AWS Elastic Beanstalk.
The security groups that are attached to the instances decides as to which traffic is allowed to reach and leave the instances (ingress). A security group is created by Elastic Beanstalk that allows traffic from the load balancer on the standard ports for HTTP (80) and HTTPS (443).





An Auto Scaling group which manages the Amazon EC2 instances in your environment is included in AWS Elastic Beanstalk environment. The Auto Scaling group makes sure that there is always one instance running in a single-instance environment where as in a load balanced environment, a range of instances can be configured to run, and based on load, Auto Scaling adds or removes instances.
Auto Scaling monitors each Amazon EC2 instance that it launches in case any instance terminates unexpectedly it makes sure that the termination is detected and a replacement instance is launched. 
AWS.Auto Scaling group for your Elastic Beanstalk environment.(8th May 2020)https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.managing.as.html


Advantages


Free up your time
Since Elastic Beanstalk, does most of the work such as configuring servers load balancers, firewall, networks, and databases developers can free their time to concentrate their time on other functions.
Auto-scaling settings
Auto Scaling setting allows users to adjust or scale their applications up and down based on the requirement of their application.
Control over resources
Platform users are allowed to choose the optimal AWS resources to their applications, it also allows users to “open the hood” and have complete control over the AWS resources.
Simplified pricing
With Elastic Beanstalk, costs can be minimized as users only have to pay for what is been used, another benefit is that users are not needed to commit into long term contacts and other commitments.




Drawbacks

·       Deployment Speed
·       Deployments usually take a minimum of five to fifteen minutes at least, for a site with  two front-ends and the time would be longer with more servers. 
·       Old Application Versions
·       With every deployment, Elastic Beanstalk archives the old application version in to an S3 bucket.
CompareCamp.AWS Elastic Beanstalk review.(8th May 2020)https://medium.com/@acamp/elastic-beanstalk-advantages-and-drawbacks-be814615af01




Comments