Exploring AWS !!
Day 44:
Elastic Beanstalk
Developer problems on AWS:
Managing infrastructure
deploying code
Configuring all databases, load balancers, etc
Scaling concerns
Most web applications have same architecture (ALB + ASG)
All that a developer wants is for their code to run.
Possibly, consistently across different applications and environment.
Elastic Beanstalk is a developer centric view of deploying an application on AWS. It uses all components: EC2, ASG, ELB, RDS.
Managed services: Automatically handles capacity provisioning, load balancing, scaling application, health monitoring, instance configuration.
Just application code is the responsibility of developers.
We still have full control over configuration. Beanstalk is free but you pay for underlying instances.
Components:
Application: collection of Elastic Beanstalk components (environments, versions, configurations)
Application version: an iteration of your application code.
Environment: collection of AWS resource running an application version (only one application version at a time)
Tiers: web server Environment Tier & worker Environment Tier.
You can create multiple environments (dev, test, prod)
Elastic Beanstalk supported platforms: Go, Java, .NET, NodeJS, PHP, Python, Ruby.