AWS Elastic Beanstalk is a service use for deploying and scaling web applications. Applications developed with Java, .NET, PHP, Node.js, Python, Ruby, Go, and Docker on familiar servers such as Apache, Nginx, Passenger, and IIS can be deployed using AWS Elastic Beanstalk.
This can be done by simply uploading your code on an environment and Elastic Beanstalk automatically handles the deployment, whiles ensuring that, capacity provisioning, load balancing, and auto-scaling to applications health monitoring are configured and monitored. At the same time, you retain full control over the AWS resources powering your application and can access the underlying resources at any time.
You can interact with Elastic Beanstalk by using the Elastic Beanstalk console, the AWS Command Line Interface (AWS CLI), or eb, a high-level CLI designed specifically for Elastic Beanstalk.
You can also perform most deployment tasks, such as changing the size of your fleet of Amazon EC2 instances or monitoring your application, directly from the Elastic Beanstalk web interface (console).
To use Elastic Beanstalk, you can create an application and upload the version in the form of an application source bundle (for example, a Java .war file) to Elastic Beanstalk, and then provide some information about the application. Once that is done, Elastic Beanstalk automatically launches the environment by creating and configuring the AWS resources needed to run your code. After your environment is launched, you can then manage your environment and deploy new application versions.
After you create and deploy your application. All the information about your application such as, metrics, events, and environment status are made available through the Elastic Beanstalk console, APIs, or Command Line Interfaces, including the unified AWS CLI.