I have a simple Flask app at https://www.smontanaro.net/. It’s currently hosted on a very cheap Oracle Cloud instance. The longer I’m there, however, the more I believe that service is way overkill for me. I haven’t used their console for many months. I just ssh into my server. I never understand the emails I get from Oracle. The latest is about enabling MFA. I tried to do that months ago but failed miserably. Now they are making noise about that again. I worry MFA will get enabled and I’ll be locked out of my server’s console.
All I really need is a small Linux virtual server with about 40GB of space which will run gnuicorn and flask and into which I can ssh. To date, my use of the Oracle server has been low enough (5k-10k hits per day) that I haven’t actually exceeded the CPU usage threshold necessary to owe them any money. Obviously, it would be great to keep it that way, but I’d be fine if that wasn’t the case.
Managing MFA in Oracle OCI is straightforward.
Another service that offer 75GB/month of free object storage is scaleway.com. You may manage to use free serverless quotas and free object storage, if it would be feasible.
I used to use Heroku extensively when they had a free tier. Now it’s not completely free, but their “Eco” offering is quite good - it’s a double meaning in that it’s economical and also ecologically-friendly. Your app will shut down when it’s idle, meaning there’s a bit of first-request delay, but that also means you can have a bunch of them on the same account and pay the same fee for them all.
As an example, I have an app called The Mustard Mine which consists of a “web” dyno (Python, gunicorn, Flask, the usual setup) plus one “postgres” dyno (unsurprisingly, a PostgreSQL database). Total bill: $5/month.
It might be possible to find something cheaper than that, but at the time I was looking (mid-2022), nothing offered a comparable price/convenience match.
I’ve heard very good things about https://fly.io, including that it is free unless you use large amounts of resources for a large amount of time. However, it’s focused on apps and not necessarily the storage requirement you have.
Personally I have a $5 linode vps that works just fine for what I need, which is probably the closest to what you have now.
AWS Elastic Beanstalk and Google App Engine can also be very affordable, but they’re more complicated to manage because they’re part of much bigger systems.
First thing I notice when I go there is that their recommended installation method is
curl | sh… that’s not a good start. Hopefully things improve from there!
For those not familiar: this is a terrible way to install anything. It looks really convenient, but it’s dangerous - any kind of network blip and you can end up running a truncated script. It’s MUCH safer to first download the script, then run it (optionally verifying it with a checksum first).
Other than that though, this is looking like something I definitely want to keep an eye on. Thanks for mentioning it.
I’ll second fly.io. I’m using it for a small side project, and while I don’t have the storage needs you have so no experience with their offerings there, I’d be happy to pay them for how well this all works but have remained at low enough usage to be in their free tier.
(I wasn’t exposed to the
curl | sh thing being on a mac, but nothing after that initial setup used anything like that. Their documentation and
fly tool is all quite nice to work with.)