AWS Elastic Beanstalk

Mostly focused on the setup phase on AWS only

Free Tier
high Complexity

AWS Elastic Beanstalk combines practices and features to reduce the burden of deploying a web application onto AWS. This means the end product of an Elastic Beanstalk deployment is a range of existing AWS components like EC2 servers, AWS load balancers (ALB, NLB…), and databases (RDS). So you can think of AWS Elastic Beanstalk as more like a set of shortcuts and scripts to achieve what you can do without it on the same AWS components, but with more effort.

The biggest plus of Elastic Beanstalk is that it runs on your AWS account on any of the tens of AWS data centers, and you can rely on AWS for uptime. The biggest downside is that Elastic Beanstalk is suitable for setting up the environment (with a steep learning curve) but not very useful for upgrading and updating your infrastructure. Most of the time, once the setup is done, you’re on your own to patch and configure the new components and figure out how to apply the changes you need to your servers.

Pros

  • AWS availability and reach
  • Easier than dealing with AWS components directly during the initial setup

Cons

  • Steep learning curve
  • Good for setup but bad for maintenance (update and upgrade and deployments)
  • No CI/CD concept as it is about servers, not applications