Elastic Beanstalk Features
- Elastic Beanstalk offers preconfigured runtime-like environments and deployment tools which makes it easy to deploy our application
- It supports numerous platforms and programming languages like GO, Python java, etc.
- Elastic Beanstalk scales your application automatically when the demand increases with the help of auto-scaling rules.
- Elastic Beanstalk can integrate with databases such as Mysql, Oracle, and Microsoft SQL Server.
- Access control via AWS Identity and Access Management and built-in security features like SSL/TLS encryption are provided by Elastic Beanstalk (IAM).
Introduction to AWS Elastic Beanstalk
AWS Elastic Beanstalk is an AWS-managed service for web applications. Elastic Beanstalk is a pre-configured EC2 server that can directly take up your application code and environment configurations and use it to automatically provision and deploy the required resources within AWS to run the web application. Unlike EC2 which is Infrastructure as a service, Elastic Beanstalk is a Platform As A Service (PAAS) as it allows users to directly use a pre-configured server for their application. Of course, you can deploy applications without ever having to use elastic beanstalk but that would mean having to choose the appropriate service from the vast array of services offered by AWS, manually provisioning these AWS resources, and stitching them up together to form a complete web application. Elastic Beanstalk abstracts the underlying configuration work and allows you as a user to focus on more pressing matters.
This raises a concern that if elastic Beanstalk configures most of the resources itself and abstracts the underlying details. Can developers change the configuration if needed? The answer is Yes. Elastic Beanstalk is provided to make application deployment simpler but at no level will it restrict the developers from changing any configurations.