The job of a solutions architect can be meticulous, creating the ASGs, ELB, RDS databases, etc. That’s where Elastic Beanstalk comes in. It bundles all of those service together into one managed service over one interface. You can connect and change individual settings as needed. It can handle capacity, scaling, health monitoring, instance configuration, etc. Your EB will consist of the following components. First an application, which is your collection of EB components, environments, versions, configurations. Then an application version, the iteration of your application code. Next up we have the environment which includes a set of AWS resources running your app version, one version at a time, web server environment and worker environment tier, and you can create multiple environments such as dev, test, and prod. You have the single instance deployment type for dev and the high availability with ASG deployment type for prod. A worker environment utilizes SQS queue that the instances pull from, this scales with SQS messages, a great option for performing long running workloads on demand or performing tasks on a schedule. A web server environment tier is your traditional infrastructure, an ELB, ASG, and instances. I should note when you create your EB it is important to keep in mind you’ll need to utilize roles in IAM for EB with policies such as AWSElasticBeanstalkWebTier, AWSElasticBeanstalkWorkerTier, and AWSElasticBeanstalkMulticontainerDocker. You can actually go to CloudFormation page on AWS and see a physical diagram of the infrastructure being created under the outputs tab.