←back to thread

797 points burnerbob | 10 comments | | HN request time: 1.169s | source | bottom
Show context
TekMol ◴[] No.36810722[source]
What do people get out of using special services like Fly.io instead of standard VMs like the ones you can get from $5/month these days?

Can anybody who uses Fly.io explain their rationale? Why do the additional integration with Fly.io, trust and install their special software on your machines and tie your project into their ecosystem?

What type of application are you running? How many users are using it?

replies(2): >>36810839 #>>36811010 #
danjac ◴[] No.36811010[source]
There's a sweet spot of early startup or side project where you don't have the time, budget or people to manually set up and maintain servers on your own or deal with the complexity and cost of Kubernetes or AWS, especially when your focus is on building the product and acquiring customers.

Heroku (before its inevitable enshittification under Salesforce) was great for this use case. Sure you will outgrow it at some point, and it did get expensive, but when you just want to throw up an MVP with minimum fuss and maintenance you could do much worse.

replies(1): >>36811235 #
1. TekMol ◴[] No.36811235[source]
What exactly does Fly.io give you?

You already know how to set up your project locally. Why not just do the same setup on any cloud VM and boom it is online?

replies(4): >>36811471 #>>36812342 #>>36813296 #>>36813720 #
2. danjac ◴[] No.36811471[source]
Not sure what fly.io offers vs Heroku or others (I have played with it some time ago but not used for anything serious), but for an equivalent I'd be looking for automated load balancer setup with SSL, easy scaling up so I can go from 1 to 2 or however many web services (with UI or CLI), simple deployment configuration with a Procfile (or whatever) and managed PostgreSQL/MySQL/Redis including backup/restore when needed.

That's more than what I would have or need locally.

replies(1): >>36811671 #
3. TekMol ◴[] No.36811671[source]
And what kind of project do you run which needs up/down scaling and load balancing?

In my experience, for a simple PHP web application, the smallest VMs already can handle a thousand concurrent users, which amounts to something like a million monthly users.

replies(1): >>36811962 #
4. preseinger ◴[] No.36811962{3}[source]
and what does your experience tell you about applications which are not written in PHP, and which need to handle more than 1000 concurrent users?
5. fauigerzigerk ◴[] No.36812342[source]
Yes, that's a viable option in many cases.

But if your users are distributed around the world and most requests are read requests then it can make sense to shave 100 or 200 ms off your response times.

You can always squander those gains later by running JavaScript for 5000 ms before showing anything :)

6. quickthrower2 ◴[] No.36813296[source]
Probably saves you a good hour of "sudo apt gets" and "vim /etc/nginx/nginx.conf" etc.

Having used various PaaS services that take this "pain" away from you, I sort of think the tradeoff isn't worth it. For $5/m DO will give you a backed up server. Add $15 for postgres that is a good deal.

7. Ensorceled ◴[] No.36813720[source]
Who fully sets up a significant project locally?

I used Heroku for a project mostly because my team didn't have skill set to set this up and I wasn't going to do it. As far as I know they are still on Heroku (with a smattering of AWS services) for that same reason: just works and cheaper than doing it yourself.

replies(1): >>36815651 #
8. api ◴[] No.36815651[source]
> Who fully sets up a significant project locally?

Who doesn't? I couldn't imagine having to push to some cloud agent and wait a random amount of time every time I want to test something. With it local I can just save, maybe rebuild or have it auto-rebuild if necessary, and test, then repeat. On a fast machine this can be a few seconds or instantaneous.

Maybe the niche I'm missing here is very "green" developers who don't know how to do any sysadmin work or deploy things.

If this is you, learn it. It pays off huge, not just during development but in being able to have a lot more choice about where you deploy and a lot more control over your own stuff.

replies(1): >>36821365 #
9. Ensorceled ◴[] No.36821365{3}[source]
Really? Redundant databases? Redundant redis servers? Caching? All locally?
replies(1): >>36822045 #
10. api ◴[] No.36822045{4}[source]
Maybe not redundant because it’s just for testing, but you absolutely can run an entire stack like that on a decent laptop. You can even use Docker to run the same containers you run in production.

I’ve run Kubernetes clusters in multiple Parallels VMs locally with work loads in them to play around.

You also learn a ton about how things work which helps you debug and fix stuff when things go wrong. Even if you use managed stuff it’s always a huge plus to understand at least the basics of how it runs.