TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: Heroku to Beanstalk?

11 pointsby r2sk5tover 2 years ago
Hi All - Our stuff is on AWS except for: 1&#x2F; Postgres 2&#x2F; Rails 3&#x2F; Hosting our React app<p>Since we&#x27;re a small team, there is a lot we like about Heroku but would prefer to have one less moving part especially since Heroku has had reliability issues.<p>I&#x27;d love to know if you know of any deal breakers moving from Heroku to Beanstalk? Thank you!

6 comments

rvillanuevaover 2 years ago
I spent a month trying to get Elastic Beanstalk to work elegantly and it was still a slog understanding failed deploys and managing the nuances of networking and the headache of waiting for the system to get to a manageable state.<p>We ended up switching to <a href="https:&#x2F;&#x2F;render.com" rel="nofollow">https:&#x2F;&#x2F;render.com</a> and I got everything I needed spun up in 3 days. You don’t have the same access to underlying resources in AWS but you get everything EB is supposed to do but faster and more user-friendly. It is much more actively maintained than Heroku’s current zombie state.
everfrustratedover 2 years ago
It&#x27;s certainly a valid option. The company I&#x27;m at did a migration from Heroku to Beanstalk (manually created).<p>This was done because the lack of Infra&#x2F;DevOps specialisation in the company at the time and Beanstalk was the most similar service to Heroku. Biggest change was dockerising.<p>Advantage is EB has a somewhat friendly UI so you can do everything point and click if that&#x27;s what you&#x27;re used to with Heroku.<p>Disadvantages are the docker support is an afterthought (which is fair as EB predates docker). Trying to manage it through terraform is quite clunky. Release rollouts aren&#x27;t the quickest (but depends on what you&#x27;re used to). It works, is reliable, but it&#x27;s not the future and hard to attract talent to work with it (doesn&#x27;t make hiring any easier). AWS is maintaining and supporting it but it&#x27;s not getting any new feature development.<p>Now we have grown and have Infra specialists we&#x27;re moving to ECS fargate.<p>Using EB wasn&#x27;t the path I&#x27;d have chosen for the company to take, but it was probably the best one given our company requirements&#x2F;skills at the time. I don&#x27;t regret it, but happy we have the skills to move off it. We were very glad to have been off Heroku when the recent security troubles became known. We moved off because of Heroku&#x27;s constant instability and our increasing lack of confidence in them as a vendor. Which we were sad about as we loved Heroku.<p>Your mileage may vary.
评论 #32958837 未加载
naphatkritover 2 years ago
I know deciding on the right thing to do here for your company can be a painful experience. I am founder and CTO at Prodvana (<a href="https:&#x2F;&#x2F;prodvana.io" rel="nofollow">https:&#x2F;&#x2F;prodvana.io</a>). We are building a platform that makes running things in production simpler, and we actually have a customer who is working with us, coming from Beanstalk. Shoot me an email at naphat@prodvana.io. We can help.
abrookewoodover 2 years ago
It&#x27;s probably only an interim step - EB doesn&#x27;t seem to get much attention anymore. You might be better trying to get onto EKS or something similar.
towndrunkover 2 years ago
Have you looked at render.com?
merekover 2 years ago
I&#x27;ve used EB extensively for a range of applications and it has been very reliable. There have been a few pain points (see cons below), but I suppose this is to be expected given the complexity that it tries to manage.<p>Pros (in addition to managing much of the complexity of a highly available application):<p>- Works well with docker-compose (multi-container environment)<p>- Easy to setup multiple environments (e.g. staging, production etc)<p>- EB extensions: these are optional scripts that run on newly created instances before they come online. This might include adding CRON jobs, attaching an EFS, or flagging an instances as the &quot;leader&quot; to ensure only one instance runs DB migrations.<p>Cons:<p>- It can be difficult finding relevant errors in logs, as several logs groups for different services are output. Be sure to stream logs to Cloudwatch (this is easily done in the config), otherwise you won&#x27;t be able to extract logs from a buggy instance that has since been terminated.<p>- Depending on your configuration, deployments can be slow. If you&#x27;ve configured rolling deployments and have 5 servers running, you will have to wait for 5 newly created instances to come online, each in turn. The upside is that rolling deployments give you a chance to catch newly deployed bugs and rollback the deployment before it affects all servers. You could alternatively configure an &quot;all at once&quot; deployment strategy.<p>- If your instance health checks are too stringent, it can become frustrating to get your application back in the healthy state. Consider a scenario where your health check page (e.g. &#x2F;health) pings a non-essential cache database. If your cache database goes offline, EB will treat your application as unhealthy. I recommend keeping the health check page very simple, and setting up separate alarms for other services.<p>To add to&#x2F;counteract some points seen in another comment:<p>Cloudposse has modules that make beanstalk quite manageable with Terraform: <a href="https:&#x2F;&#x2F;github.com&#x2F;cloudposse&#x2F;terraform-aws-elastic-beanstalk-environment" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;cloudposse&#x2F;terraform-aws-elastic-beanstal...</a><p>&quot;Hard to attract talent&quot;: I&#x27;m skeptical this is an issue in most cases. After all, EB exists so that you don&#x27;t have to think too much about the infra. For simple use cases, a general understanding of the infra components (not EB-specific) will go a long way. However I can understand talent&#x2F;developer time could be an issue you&#x27;re doing something really fancy with EB, such as making heavy use of EB extensions.<p>&quot;Not the future&quot;: This sounds like another way of saying &quot;it&#x27;s not trendy&quot;. Whilst I agree, this point doesn&#x27;t weigh heavily for me, as I&#x27;d try to focus on doing what&#x27;s right for the application and the team.