6 ms·
I still recommend that most startups use Heroku. Engineers always complain about speed and price. If you start comparing ec2 micros to Heroku dynos you alread
by thomasfromcdnjs 6y ago
I still recommend that most startups use Heroku.
Engineers always complain about speed and price.
If you start comparing ec2 micros to Heroku dynos you already don't understand what Heroku offers.
Generally I will see small to medium startups that hire 3 devops engineers who barely have the bandwidth to setup a fully fledged deployment system e.g. pipelines, red/green light deployments, backups, stability etc
This all works from the get go with Heroku.
Most developers scale resources too early and don't go for easy wins like slow queries and any other latency related problems.
How many times have you seen developers recommend upgrading from Ruby to Go because of speed? When all they had to do was add some partial indexes or something to their database.
I've shown non technical CEO's in small startups to scale, rollbacks, view logs and restart their servers themselves.
I will always pull aside CEO's and tell them that their engineers want the best for the company, but that is only from their vantage point, the likely don't even know the companies inner financials, so how can they tell you something is "cheaper".
Focus on your companies core competencies first, get users, make money then let your engineers build their dream devops setup.
(If your startup does some mega processing jobs like ML then yeah you will want to use something like EC2)
- aledalgrande 6y agoTotally agree. My team has the main API made with Rails. Running on Heroku, with 2M active users, on 4 performance dynos. What does it take? Caching, Redis and async processing (Heroku/AWS). No devops. And we can still deploy with a button.
- drusepth 6y agoYeah, moving to AWS would save me ~50% in monthly costs (around 5k/mo) and I have friends constantly offering to do the grunt work to move over for free, but when you factor in the price of a devops guy (IMO needed on AWS but not needed on Heroku), Heroku still pays for itself. I recommend most startups use Heroku. It takes a _huge_ scale to make moving to ec2 make sense in most cases.
- danielheath 6y agoI have a side project on AWS. It took me about a day to set everything up so I could boot a new blank instance & install everything in ~10 minutes. Everything runs on the instance; a nightly job backs up the database to s3. Deploying new code takes 15-20 seconds; if I want logs I can ssh in and look at them. The old ways of doing things work better than ever in 2021, thanks to cheap vertical scaling.
- timr 6y agoYeah, the thing is, you have to be specific about what you mean when you say "on AWS". I have a side project on AWS that I deploy with capistrano, runs on a rails deploy that I configured by hand, and requires approximately 5 minutes of "dev ops" maintenance a month from me. Most of that is upgrading packages. Switch that over to docker and terraform and who knows what else, and I wouldn't even have time to think about the project, but for the parasitic costs of the deployment infrastructure. I'm 100% certain that n00b devs would mock me for my old man ways, but the old ways can scale quite far before you need anything else.
- jordanthoms 6y agoThat's OK for a side project, but Heroku's selling point is that it's both easier to setup than that, and also has the resiliency, scaling and features you need for a proper production app. What happens if that EC2 instance dies suddenly or your EBS disk disappears, do you have point-in-time recovery for that DB? What about if you get an influx of traffic and suddenly need to scale beyond what a single server can do (which is admittedly pretty high). How about logging, deploys of a live copy of your site for each feature branch, etc? You can of course solve all those problems, but to solve all of them and do it as well as Heroku does will be a lot of work. That said over time as the hosted k8s solutions have gotten better Heroku has comparatively become less compelling, plus while Heroku can get to a large scale, you will eventually start to run into limitations with what you can run inside a dyno which would force you to move to something else. Since you'll have a 12-factor app though, it's relatively easy to migrate, the hard part is finding a new platform which doesn't feel like a massive downgrade vs Heroku.
- Kaze404 6y ago> How many times have you seen developers recommend upgrading from Ruby to Go because of speed? When all they had to do was add some partial indexes or something to their database. PTSD flashbacks to when we had to rewrite a Javascript monolith in Go microservices because we didn't know about Dataloader.
- deleted 6y ago[deleted]
- GlennS 6y agoMy story - for a hobby project - is that I wanted to use ElasticSearch. Heroku's ElasticSearch pricing was per document. I wanted to index billions of very small documents. Billions was in the "phone us" pricing category. Switched to the smallest cheapest VPS I could find and that did the job.
- znpy 6y agoMore than 10k rows in your postgres? Better start paying!
- toyg 6y agoLast time I used Heroku for a real project, I just put the database somewhere cheaper (if i remember correctly, Azure). With proper encryption+authentication and a bit of strategic caching, it was fine.
- petercooper 6y agoI use Heroku for an internal app and found their hobby Postgres sufficiently flaky that I now use RDS in the same region. For $20/mo on RDS, we get more than the $50/mo tier on Heroku Postgres and the latency isn't much different.
- nikanj 6y agoOptimization is a form of debugging, which is a form of support/maintenance. Developers much prefer greenfield development, such as rewriting the entire thing.
- kaliszad 6y agoI actually would recommend not using Heroku (after we used it for the first few months literally starting from 0 users at that time) at all if you know at least a bit what you are doing. Just get a VPS somewhere and run on that. You will easily have way more RAM, CPU and disk for the same price so that you can be quite inefficient and still have a snappy backend. Doing backups more or less properly at small scale isn't a big deal either. GitHub Actions or such is just fine for build, test and deploy. You just don't need red/ green deployments, complex pipelines, high availability and such at the beginning. Btw. do what counts and don't do DevOps for the sake of DevOps. I am not saying, hack everything together. If you have no clue about infrastructure, please use Heroku. :-) I am just saying, you can get very far with rather great performance, stability and security by using a VPS and some backup. You will learn some useful skills along the way and frankly, you don't have to care much about performance because even the second or third cheapest tier will be way more than what Heroku can offer at multiple that price. I mean "Performance L" in the Advanced tier of Heroku is ~ $500/ month with 14 GB RAM, I cannot see how much CPU/ disk etc. At OrgPad, we would probably need that one. The whole infrastructure, with disaster recovery and everything, costs so much less, we could run our infrastructure for a year with that much money. And yes, languages are mostly fine with today's HW. Look at SQL/ IO first.
- chaostheory 6y agoAWS has Elastic beanstalk and other services like (CodeStar or AppHero? I forget the name) that directly compete with Heroku. The UX is not as great as Heroku, but the price difference makes up for it. Heroku is still a great choice though. If only Saleforce were more aggressive... by keeping the service quality up while reducing the price.