Most active commenters
  • aledalgrande(5)
  • Fire-Dragon-DoL(5)

←back to thread

797 points burnerbob | 33 comments | | HN request time: 1.827s | source | bottom
1. aledalgrande ◴[] No.36809594[source]
Wondering if for small/bootstrapped projects there's any alternative people suggest? Fly has a nice UX and accessible prices, but it's unstable at best. I use the big clouds at work, but for personal they are $$$. Also I want to keep devops tending asymptotically to zero.
replies(6): >>36809634 #>>36809757 #>>36809923 #>>36809986 #>>36810231 #>>36817346 #
2. gowthamgts12 ◴[] No.36809634[source]
Although, i have never used them, you can explore railway.app. it is the closest to fly.io and never heard any bad things.

I personally at the moment use digitalocean without any issues, but there's always the maintenance overhead of managing a server yourself.

replies(2): >>36809768 #>>36812801 #
3. reustle ◴[] No.36809757[source]
I’m quite happy with https://render.com after leaving Heroku
replies(4): >>36809955 #>>36810014 #>>36810190 #>>36811406 #
4. Fire-Dragon-DoL ◴[] No.36809768[source]
I wish digitalocean offered decent pricing for spaces (s3). Unfortunately it starts at 5$, which is an enormous price for storing 70 small images, but s3 would greatly simplify my server management moving state entirely outside the server (managed database + managed object storage)
replies(2): >>36809782 #>>36809841 #
5. bongobingo1 ◴[] No.36809782{3}[source]
> price for storing 70 small images

Do you have to use an object store in that case? Or does it have to be separate from whatever application instance?

replies(1): >>36810063 #
6. iampims ◴[] No.36809841{3}[source]
You could use Cloudflare R2, it's pretty cheap overall.
replies(1): >>36810068 #
7. q7xvh97o2pDhNrh ◴[] No.36809923[source]
Maybe just pick up 3 chonky EC2 boxes, set up iptables on each of them, have each one run a containerized version of your code that gets built and deployed from CI every time you push to Github, slap an ALB in front of it all, and call it a day?

And if you need state, then spin up a little RDS with your favorite SQL flavor of choice?

The CI deploy script could even bake in little health-checks so you can do rolling deploys with zero downtime. Depending on how fancy you wanted to get with your shell scripting, you could probably even make 1 of your 3 boxes a canary without too much trouble.

I'm realizing I haven't thought about this in a long time, since nowadays I just get to use the fancy stuff at work. Kind of a fun thought experiment!

replies(1): >>36810004 #
8. iamyatin ◴[] No.36809955[source]
I second render.com. I switched from fly.io to Render.com after seeing a few of my instances getting bottlenecked and crashing. Now the same service runs smoothly on render.com without any crashes. Didn't dig any deeper but somehow the resource management is better with render.com
9. sho ◴[] No.36809986[source]
Honestly these days I am leaning towards this approach: https://github.com/mrsked/mrsk/

It's all just docker.

replies(1): >>36810010 #
10. aledalgrande ◴[] No.36810004[source]
The system you describe is quite the monthly bill, off the top of my head.
replies(2): >>36810166 #>>36810401 #
11. aledalgrande ◴[] No.36810010[source]
Nah I don't wanna be responsible for running a control plane. I just wanna focus on the app, that's all.
replies(1): >>36810298 #
12. aledalgrande ◴[] No.36810014[source]
I'll give them a run thanks!
13. Fire-Dragon-DoL ◴[] No.36810063{4}[source]
I don't have to use an object store, but it makes the cost of setting up a server more expensive if I use the filesystem, if I delete the instance, the data is gone. A volume kinda offset this, but it's way less portable and accessible only by one instance at a time

The peace of mind of managed is nice, all I have to think about is running the app, without having to deal with making sure db and files don't get lost

replies(1): >>36810481 #
14. Fire-Dragon-DoL ◴[] No.36810068{4}[source]
I did not realize they have an s3 compatible service
15. justinclift ◴[] No.36810166{3}[source]
You can do the same thing using Hetzner dedicated hosts fairly cheaply:

https://www.hetzner.com/dedicated-rootserver/matrix-ax

16. meesterdude ◴[] No.36810190[source]
i've also had success with render.com so far! been running an app & DB for $14/mo for a almost 6 months and it's been solid.
17. danjac ◴[] No.36810231[source]
I use Dokku on top of Hetzner for my hobby projects - hosting is super cheap, for a little extra I can add a mounted volume for storage, and if the project outgrows a single server I can always just break out of Dokku and use some Docker containers behind a load balancer.

If you are outside of Europe, Digital Ocean or Linode may work better for you.

replies(3): >>36810263 #>>36810369 #>>36812847 #
18. arcanemachiner ◴[] No.36810263[source]
Hetzner has 2 data centers in the US now. 1 in the east and 1 in the west.
19. xixixao ◴[] No.36810298{3}[source]
No devops, focus on writing your app: https://www.convex.dev/
20. ◴[] No.36810369[source]
21. q7xvh97o2pDhNrh ◴[] No.36810401{3}[source]
I admit I didn't run the numbers before posting that. But you got me curious, so I went ahead and did it now...

Render.com looks like [1] their "$0 + compute costs" plan would work out to:

  ∙ $25/mo for a single "Web Services" box of 1 CPU and 2GB RAM
  ∙ $20/mo for a single "PostgreSQL" box of 1 GB RAM, 1 CPU, and 16GB SSD
  ∙ TOTAL: $45/mo, and you're assuming they'll magically give you zero-downtime
Those are grim numbers, performance-wise, but let's use them as the standard and see what it'd cost in the scrappy AWS architecture I threw together in a few minutes:

  ∙ $12.10/mo for a single t4g.small box, which is actually 2 vCPU and 2GB RAM [2]
  ∙ 3x redundancy on that brings you up to $36.30/mo for compute
  ∙ $16.20/mo for an ALB [3]
  ∙ $11.52/mo for a single db.t4g.micro PostgreSQL box, plus $1.84/mo for the equivalent 16GB of storage [4]
  ∙ TOTAL: $65.86/mo for substantially more CPU, redundancy, and control, or...
  ∙ TOTAL: $41.66/mo for substantially more CPU and control over your infra, if you're willing to drop the redundancy
So it looks like it's pretty comparable in terms of raw dollars.

I'll admit there's a little more "devops" overhead with the AWS setup. Though I think it's not as big of a deal as people make it out to be — it's basically an afternoon of Terraforming, and you'd probably spend an equal or greater amount of time digging through Render's docs to understand their bespoke platform anyway.

(Also, once you contemplate bulk pricing for the underlying commodities, it's easy to see how companies like Render make a healthy margin, even on their low-end offerings.)

Anyway, I guess I've nerd-sniped myself, so I'd better stop here. But that was a fun analysis!

[1] https://render.com/pricing#compute

[2] https://aws.amazon.com/ec2/pricing/on-demand/

[3] https://aws.amazon.com/elasticloadbalancing/pricing/

[4] https://aws.amazon.com/rds/postgresql/pricing/?pg=pr&loc=3

replies(1): >>36810971 #
22. Dylan16807 ◴[] No.36810481{5}[source]
At that level I think I'd just put the images in the database.
replies(2): >>36811948 #>>36821661 #
23. aledalgrande ◴[] No.36810971{4}[source]
Thanks for the analysis. I think you're still underestimating costs (e.g. didn't count bandwith, no AZ standby for your database, or backups etc.) and time spent, not only in the setup but especially in maintenance (security fixes, AWS agent updates, OS updates, package updates, figuring out why an instance ran out of disk etc. etc.) Not counting you have to setup and maintain your deployment system which can range from scripts to K8s.

Also I have used Terraform to set up quite a few resources and it's only overhead in a small project.

I just wanna git push and see my changes published a minute later. I don't think Render is gonna take more than 10 mins to figure out https://render.com/docs/deploy-rails-sidekiq

replies(1): >>36811278 #
24. jumploops ◴[] No.36811278{5}[source]
Spun up a new project and was debating between AWS and Render.

I’ve been burned one too many times by ElasticBeanstalk so I bit the bullet and went with Render… and had everything plus PR deploys working in under an hour. Very happy so far.

25. inferiorhuman ◴[] No.36811406[source]
I've never actually used Render, but did interview with them last year. I faceplanted at the end and didn't get an offer, but… hands down Render ran one of the best interviews I've ever participated in. Communication was on point, the process itself was well organized, and even though I disagreed with a couple of engineering choices, there was a distinct lack of bullshit.

If that carries over to their customer facing folks and how Render as a team has executed since then I'd absolutely recommend taking a look at them.

26. Takennickname ◴[] No.36811948{6}[source]
In the git repo even
replies(1): >>36821651 #
27. solarkraft ◴[] No.36812801[source]
I've been using a Postgres DB on Railway's free plan (that is going away) and it was great. It did everything I wanted (excluding external access and PostGIS) for cents. The support community is nice.

I didn't use it for much more, but my experience has been great. They deserve way more air time than they currently get.

28. solarkraft ◴[] No.36812847[source]
I like Hetzner, they certainly radiate the feeling of quality (the management UI is great, for instance). The servers themselves are competitively priced (and they have ARM boxes!) - but for more storage than the little that they include I find the price pretty outrageous, compared to the base price, anyway. You'd end up about doubling the price for a "reasonable" amount of storage you can confidently run your base system on.
29. js4ever ◴[] No.36817346[source]
Try https://elest.io (Check the CI/CD part)
30. Fire-Dragon-DoL ◴[] No.36821651{7}[source]
The images are supplied by the users, so that wouldn't be an option
31. Fire-Dragon-DoL ◴[] No.36821661{6}[source]
That's an option, but I want to keep things simple and the assumption is usually "filesystem" but weirdly most libraries assume S3 usage. I don't think I've seen native support for db-stored images in any of the libraries I use, which is sad but a reality.
replies(2): >>36823046 #>>36824604 #
32. Dylan16807 ◴[] No.36823046{7}[source]
Maybe not directly in libraries but there's a few programs to make a fuse filesystem backed by a database.
33. bongobingo1 ◴[] No.36824604{7}[source]
Ya cant just throw em at a blob type field/column?