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).
$35
per month
Heroku Platform
Score 8.1 out of 10
N/A
The Heroku Platform, now from Salesforce, is a platform-as-a-service based on
a managed container system, with integrated data services and ecosystem for deploying modern apps. It takes an app-centric
approach for software delivery, integrated with developer tools and
workflows. It’s three main tool are: Heroku Developer Experience (DX), Heroku
Operational Experience (OpEx), and Heroku Runtime.
Heroku Developer Experience (DX)
Developers deploy directly from tools like…
$85
per month
Pricing
AWS Elastic Beanstalk
Heroku Platform
Editions & Modules
No Charge
$0
Users pay for AWS resources (e.g. EC2, S3 buckets, etc.) used to store and run the application.
There are many services like AWS Elastic beanstalk, but there are none with the maturity in the platform or the cost-effectiveness of AWS Elastic Beanstalk. Also, AWS Elastic Beanstalk is the oldest among them, so there are more people with AWS experience than the other …
I have used App Engine on Google Cloud Platform and App Service on Microsoft Azure. Both offer similar capabilities to AWS Elastic Beanstalk. App Engine has the nice ability to scale to 0 instances when the application has not been in use for some time. This allows for …
The AWS platform provides a great deal of configurability that is abstracted and provided very well through AWS Elastic Beanstalk. This is the main reason for choosing Elastic Beanstalk over competing services. Another reason for selecting AWS Beanstalk was vendor …
Heroku is another similar product which we had tried out to deploy one of the NodeJs project and it has lot of developer friendly features as well. Though Heroku is more expensive than Beanstalk is what I found. Heroku also has some restrictions which can affect the …
AWS Elastic Beanstalk is a great option for an organization that's already invested in the AWS ecosystem. The greater the number of complementary features needed by the application (e.g. integrating with Amazon's Elastic Load Balancer, databases, etc), the greater the reward …
AWS is much more focused on scalability, but Heroku was much easier to get things up and running as a beginner. For simple hosting, I would stick to something like Heroku or Netlify. That said, Elastic Beanstalk is meant for more performant functions requiring large scaling and …
We also use Heroku and it is a great platform for smaller projects and light Node.js services, but we have found that in terms of cost, the Elastic Beanstalk option is more affordable for the projects that we undertake. The fact that it sits inside of the greater AWS Cloud …
I selected these solutions because they are the closest to being able to set up separate server or VM instances. As far as performance and scalability, Heroku does offer an autoscale option, but the base cost to have the autoscale in place, sets Heroku behind EBS. Digital …
The other main competitor that I have used would probably be Heroku. While Heroku is incredibly simple and easy to get a sample web app online, its dashboard and product connectivity didn't feel quite as seamless as AWS Elastic Beanstalk. AWS Elastic Beanstalk has a higher up …
To this day no other PaaS matches Heroku in ease of use and maturity. If you want to stay 100% focused on your unique product/service rather than wasting time on boilerplate hosting issues, I can highly recommend Heroku. I personally use it for all of my own websites …
Kuberbetes is an easily scalable docker based option which should need minimal DevOps, however, it has a pretty high learning curve with many decisions that need to be addressed as well as monitoring, logging and security concerns.
Heroku, in my opinion, is the easiest platform to deploy and host web applications on. From collaboration to deployment, everything is well thought out and bulletproof. If you need advanced server functionality, like a VPC, machine-to-machine communication, etc., you will …
Rackspace can provide dedicated hardware, where Heroku can not. When dealing with particular clients or different fields, this can be a deciding factor if this is a requirement.
AWS provides extensive configuration options, providing a more mature infrastructure, with dedicated …
Heroku is an all in 1 package for deploying and running your services. It provides an easy to use setup and run for 90% of cases. If you have a more complicated infrastructure, you'd definitely need to move to another hosting provider. But if as long as you can operate within …
Heroku has advantages over Docker, Google App Engine and AWS products, but it depends largely on your use case. If you are already in AWS, it's probably in your best interest to stay with AWS products. However, other "Cloud Formation/Orchestration" products like Docker are …
I primarily use Heroku and AWS. AWS in terms of large-scale scalability and production-grade application tools, cannot be beat. However, for small-scale apps it often provides too many feature/tools/options, unclear documentation, and hidden fees. AWS has great customer …
I have been using AWS Elastic Beanstalk for more than 5 years, and it has made our life so easy and hassle-free. Here are some scenarios where it excels -
I have been using different AWS services like EC2, S3, Cloudfront, Serverless, etc. And Elastic Beanstalk makes our lives easier by tieing each service together and making the deployment a smooth process.
N number of integrations with different CI/CD pipelines make this most engineer's favourite service.
Scalability & Security comes with the service, which makes it the absolute perfect product for your business.
Personally, I haven't found any situations where it's not appropriate for the use cases it can be used. The pricing is also very cost-effective.
Heroku is very well suited for startups looking to get a server stack up and running quickly. There is little to no overhead when managing your instances. However, you'll need a background in basic DevOps or system management to make sure everything is set up correctly. In addition, it's easy to accidentally go crazy on pricing. Make sure you're only creating the server instances you need to run the base application and set up an auto-scaler plugin to handle peaks.
Getting a project set up using the console or CLI is easy compared to other [computing] platforms.
AWS Elastic Beanstalk supports a variety of programming languages so teams can experiment with different frameworks but still use the same compute platform for rapid prototyping.
Common application architectures can be referenced as patterns during project [setup].
Multiple environments can be deployed for an application giving more flexibility for experimentation.
Heroku has a very simple deployment model, making it easy to get your application up-and-running with minimal effort. We can focus on our efforts the unique aspects of our application.
The robust add-on marketplace makes it easy to try out new approaches with minimal effort and investment -- and when we settle on a solution, we can easily scale it.
Heroku's support is quite good -- their staff is quite technical and willing to get into the weeds to diagnose even complicated problems.
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.
Large price jumps between certain resource tiers (2x Dyno for $50 per month versus Performance Dyno for $250). Free Postgres next jumps to $50 per month.
Marketing/Branding to non-technical stakeholders. As the years pass, I've had to fight more to convince stakeholders on the value of Heroku over AWS.
Improve Buildpack documentation. This is one area where Heroku's documentation is fairly confusing.
As our technology grows, it makes more sense to individually provision each server rather than have it done via beanstalk. There are several reasons to do so, which I cannot explain without further diving into the architecture itself, but I can tell you this. With automation, you also loose the flexibility to morph the system for your specific needs. So if you expect that in future you need more customization to your deployment process, then there is a good chance that you might try to do things individually rather than use an automation like beanstalk.
Heroku is easy to use, services a ton of functions for you out of the box, and provides a means to get a software product off the ground and managed quickly and easily. The tools provide allows a small to medium size org to move very quickly. The CLI tools provided make managing an entire technical infrastructure simple.
The overall usability is good enough, as far as the scaling, interactive UI and logging system is concerned, could do a lot better when it comes to the efficiency, in case of complicated node logics and complicated node architectures. It can have better software compatibility and can try to support collaboration with more softwares
Easy to use web based console and easy to use command line tools; deployment is done directly from a GIT repository. What more could you ask for? The one thing that keeps me from giving it a 10 is that custom build packs are almost incomprehensible. We used one for a while because we needed cairo graphics processing. Fortunately, I was able to figure out a different way to do what we needed so that we could get off the custom build pack.
Heroku availability correlates pretty strongly to AWS US EAST availability. We had a couple of times where there was a Heroku-specific issue but not for the last 7-8 months.
As I described earlier it has been really cost effective and really easy for fellow developers who don't want to waste weeks and weeks into learning and manually deploying stuff which basically takes month to create and go live with the Minimal viable product (MVP). With AWS Beanstalk within a week a developer can go live with the Minimal viable product easily.
I've used it for many years without facing any major problem. It's not hard at all to get used to it, it's documentation is outstanding and simple. We are close to 2020 and I don't think most of the existing companies or startups should still face old problems such as wasting time deploying code and calculate computing resources.
- Do as many experiments as you can before you commit on using beanstalk or other AWS features. - Keep future state in mind. Think through what comes next, and if that is technically possible to do so. - Always factor in cost in terms of scaling. - We learned a valuable lesson when we wanted to go multi-region, because then we realized many things needs to change in code. So if you plan on using this a lot, factor multiple regions.
Be ready to pay a bit more than expected in the beginning if you're migrating from a big server. The application is probably not ready for the change and you have to keep improving it with time.
It's also important to consider that you can't save anything to the disc as it will be lost when your application restarts, so you have to think about using something like S3.
We also use Heroku and it is a great platform for smaller projects and light Node.js services, but we have found that in terms of cost, the Elastic Beanstalk option is more affordable for the projects that we undertake. The fact that it sits inside of the greater AWS Cloud offering also compels us to use it, since integration is simpler. We have also evaluated Microsoft Azure and gave up trying to get an extremely basic implementation up and running after a few days of struggling with its mediocre user interface and constant issues with documentation being outdated. The authentication model is also badly broken and trying to manage resources is a pain. One cannot compare Azure with anything that Amazon has created in the cloud space since Azure really isn't a mature platform and we are always left wanting when we have to interface with it.
Heroku is the more expensive option for hosting compared to some of the cloud platforms we investigated, but it's worth it for us because of the plug-and-play nature of Heroku deployment. We can be up and running in a few minutes and know with precision how much it will cost us each month to run the application, unlike Amazon Web Services where you have to go to great pains to configure it correctly or else you might end up with a shocking monthly bill. Overall, spending the time to configure Amazon Web Services or one of its competitors is likely the more affordable and powerful choice, because you have control over so many specifics of the configuration. But it also requires the burden of continuing to maintain and update your AWS instance, whereas with Heroku they take care of security fixes and platform upgrades. It's a great service and we are happy to pay the extra cost for the value-adds Heroku provides.