- Removes tedious, error-prone work from team focus for server configuration and environment setup.
- AWS creates new stacks when underlying software requires security updates, or frameworks release new versions.
- Greatly improves speed-to-production for many applications.
- Free resource on top of AWS; it costs nothing additional to use Elastic Beanstalk over the cost of the underlying instances and resources.
- Limited to the frameworks and configurations that AWS supports. There is no native way to use Elastic Beanstalk to deploy a Go application behind Nginx, for example.
- It's not always clear what's changed on an underlying system when AWS updates an EB stack; the new version is announced, but AWS does not say what specifically changed in the underlying configuration. This can have unintended consequences and result in additional work in order to figure out what changes were made.
- Extremely easy to get set up and get apps deployed.
- Integrates really well with existing build processes and is manageable through a suite of CLI tools.
- It is very easy to scale up.
- The documentation is exceptionally detailed and covers a very wide range of deployment scenarios.
- The product is generally very good, but if there is one thing I'd improve it is the web-based user interface for managing instances.
- Scales well
- Easy to spin up
- CLI tools are great
- Documentation was either lacking or too complicated for a beginner
- The act of removing an instance took me several days to be sure it was actually removed and I wouldn't get billed for it
- Billing information and estimates are hard to follow
- Scalability: The ability to autoscale based on traffic helps with availability and overall cost.
- Atlassian Bamboo third-party integration: EBS integrates well with the Atlassian tools. Once our DevOps team sets up the EBS environments and the Bamboo CI, our developers and QA team will be see the changes without the need to log into AWS and deploy the updates manually.
- Amazon RDS: The RDS can be set up as a part of the EBS configuration or separately. This process to connect a separate RDS or external DB can be challenging, mainly due to security groups and permissions.
- Application Bundle: When updating an EBS, an application bundle needs to be created. The application bundle is a ZIP file of the entire website. This would be bothersome if you only need to change one code file. But if this file is part of a website that was built on a multi-file/folder framework, you will be required to zip the entire site and push the zip file to an an S3 bucket for deployment. Single file updates are not possible.
Not Suited: Sites that do not need a server side scripting engine. It would be less expensive and more efficient to use AWS Cloudfront.
- Excellent deployment, balancing, version control and scaling.
- Solid integration with other AWS services.
- Great for easily setting up and monitoring multiple parallel environments (dev, staging, prod)
- Works better for one app in an instance. Multiple apps gets trickier.
- Deployments sometimes fail.
It is not a perfect fit if you're deploying multiple apps in one instance.
- I wish the storage configuration was a little more intuitive. It would be nice to get up and running without having to learn about S3 first.
- Interface isn't as streamlined or intuitive as it probably could be.
- Readily available environments
- server crashed and reset, losing our files, within the first week, and again later
- support was a minimum of $27 and they did not give a response as to why the server reset
- the most unreliable hosting i've ever used in more than 10 years of web development
- all amazon's services are over-thought in nature
Bottom line, if you want support that gets back with you in less than 24 hours, do not use these people.
- Elastic Beanstalk is a great product that provides tools for running your web application in few simple steps.
- It works on top of the AWS EC2 and provides autoscaling, logging, monitoring for you out of the box.
- Its security features are great, for those who are looking for it.
- Their help and support is exceptional.
- It has so many options and packages, that it is overwhelming for a newcomer.
- I don't like the dynamic attribution of security groups: the names are random, so it's hard to understand what is going on.
- The only disadvantage of using EBS is that the instance that gets setup as a part of the EBS environment isn't customizable since the users do not have access to that instance.
Currently, we use Elastic Beanstalk (EBS) to run applications on our pipeline. Each stage (dev, perf, prod) has its own set of servers defined under EBS. Our current solution is working very well with CodePipeline.
- Fits perfectly in our infrastructure. CodeCommit, CodePipeline, and AWS BeanStalk, work in perfect harmony.
- Easy to change deployment configurations. If I need more servers in my EBS, I just change configurations, and with a click of a button I get more servers. For example, moving from nano instances to micro, or simply adding/deleting more servers.
- Better security, and upgrade. I usually get small notifications of software/OS updates, and if I choose to, I can simply redeploy my application on an upgraded system.
- Different upgrade strategies. I haven't tested all [of them], but the current one has the transactional type capability, where if my deployment fails, it falls back to the previous stable one.
- Difficult to understand. No matter how cute and easy the AWS videos sound, I find it difficult to understand. There are just too many configurations.
- EBS is free, but you pay for the resources. Problem is, I end up using more resources, thus paying more.
- They could work on their logging system a bit more. I would love more dashboard metrics in logging, and an easier way to look at logs.
- An option to make the default URL more friendly. I am forced now to use Route 53 to get a more friendly DNS name, but would have loved if they would have provided a better name to begin with. There are long random strings which could go away.
- Once you understand how it works, you can use it to easily scale and manage your application.
- It certainly is better than its competitors.
- More AWS resources to manage. Great! Though AWS is easy, with so many options, it is getting tiring to learn more new AWS stuff. So be careful, EBS isn't hard, but isn't easy either.
- If you have a single server, you don't need it.
- One can deploy their application from project archive or as docker container
- With almost no setup you can easily have a failover, load balanced cluster on AWS
- Through the Elastic Beanstalk console one can manage all your environments without an issue
- Status reporting can be improved. Sometimes there are some false errors that pops up while doing an active deployment.
- It's more expensive than their competitors
- Lack of opensource APIs
- Supports multiple popular languages to be deployed easily and helps in saving developers' time.
- Helps in scaling and load balancing based on the number of requests it is handling.
- Provides a neat monitoring system for the servers running along with the access to the logs which can also be downloaded if required.
- Can include more languages to be deployed (say Erlang) and not only popular languages.
- Issues in packaging large applications, say more than 2GB to be frequently deployed by uploading the packages to quickly test something.
- Takes considerable amount of time to just deploy simple applications on Elastic Beanstalk, can be frustrating for developers.
- Easy to deploy. It's incredibly easy to build a war file and deploy it to Elastic Beanstalk. It's painless to iterate on our product in this aspect.
- Easy to scale. It takes only a short amount of time to do any upgrades to a server. The longest part is to back everything up, but it has only been a safety feature and never actually needed.
- Easy to monitor. We are able to track performance with a simple dashboard and message/email alerts if an alarm is ever triggered.
- How to more easily integrate with other other AWS services. There are plenty out there, but it's not quite as seamless as I feel like it should be to mix and match products.
- Make backing up easier when scaling the server. It took quite a bit of time to make sure we had everything set up in case something went wrong.
- When you are first starting to use AWS, the dashboard can be very intimidating. There are countless products all with names that aren't very indicative of what they actually do.
AWS Elastic Beanstalk Scorecard Summary
Feature Scorecard Summary
About AWS Elastic Beanstalk
AWS is the platform-as-a-service offering provided by Amazon and designed to leverage Amazon leverages AWS services such as Amazon Elastic Cloud Compute (Amazon EC2), Amazon Simple Storage Service (Amazon S3).
There is no additional charge for Elastic Beanstalk - you pay only for the AWS resources needed to store and run your applications.
AWS Elastic Beanstalk Competitors
AWS Elastic Beanstalk Technical Details