Reviews (1-24 of 24)
- Providing managed application environments
- In-built load balancing
- In-built auto-scaling
- In-built logs and log aggregation through CloudWatch
- Providing managed updates to applications stacks
- In-built selection of deployment methods (all-at-once, blue-green etc)
- Integration with CodePipeline
- Some configuration options can be too rigid, and you have to delete an environment to change some configuration options.
- When things go wrong, they fail badly, and you are left with no insight or feedback.
- Some of the built-in monitoring metrics are hard to understand and configure.
- 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.
- 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.
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.
- Zero downtime deployments
- Auto scales, ensuring maximum flexibility.
- Auto scaling also provides a cost saving as you only use what you need.
- Agile deployments - dev environments regularly have 5+ releases a day.
- More flexibility on the subnet structure (depending on use case scenario and how your VPC is carved up you can run out of address space quickly if you want to spread workloads across multiple AZs).
- If development teams need Elastic Beanstalk admin access.....they automatically get EC2:* permisisons which isn't ideal.
- A lot of the drawbacks can be addressed by using ECS.
- 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.
- It is fully automatic. You just upload your codes and EB will take care of the rest.
- It's well integrated with other AWS services like build pipeline.
- Good technical support from the documentation.
- Troubleshooting can be a pain. You cannot see where it was wrong exactly when you encounter errors.
- It can be touchy sometimes. You need to be very careful about what you have done and keep records on it.
- Mainly the two above.
- Deployment management is very good.
- Configuration and monitoring are easy.
- There's no need for complicated configuration issues. You can deploy your application in minutes.
- It should accept deployment from S3 buckets.
- You cannot store old deployment packages up to 500.
- Affordable way to scale computing with little involvement
- Easy set up and ramp up
- Good toolbox for several platforms with flexibility
- Spinning up additional nodes can sometimes be slow based on your implementation
- Testing the scaling can be tricky
- Implementation of your code still needs to be solid or else you'll have some issues
- Easy to set up deployment of many technologies.
- Handles everything from app to database.
- Integrates into IDEs for easy deployment.
- For .NET - it doesn't quite compete with some of the Azure stuff when it comes to ease of use.
- When there are problems, they can be hard to track down what went wrong.
- It's AWS - so it always has that AWS learning curve for getting set up initially and configuring things.
- 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.
- 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.
- 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
- 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.
- 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 Elastic Beanstalk is the platform-as-a-service offering provided by Amazon and designed to leverage AWS services such as Amazon Elastic Cloud Compute (Amazon EC2), Amazon Simple Storage Service (Amazon S3).
AWS Elastic Beanstalk is designed for deploying and scaling web applications and services developed with Java, .NET, PHP, Node.js, Python, Ruby, Go, and Docker on familiar servers such as Apache, Nginx, Passenger, and IIS.
Developers can simply upload their code and Elastic Beanstalk automatically handles the deployment, from capacity provisioning, load balancing, and auto-scaling to application health monitoring. At the same time, users retain full control over the AWS resources powering their application and can access the underlying resources at any time.
There is no additional charge for Elastic Beanstalk - pay only for the AWS resources needed to store and run applications.
AWS Elastic Beanstalk Competitors
- Does not have featureFree Trial Available?No
- Has featureFree or Freemium Version Available?Yes
- Does not have featurePremium Consulting/Integration Services Available?No
- Entry-level set up fee?No
AWS Elastic Beanstalk Technical Details