GitHub Actions is completely free, and you can always use free S3-compatible storage like Cloudflare R2, making the entire setup cost nothing.
VPS has two main drawbacks:
Many don't guarantee persistent disk storage
It's not ideal for CI/CD scenarios where you need ephemeral databases for testing
But you're right - if you need a simple, always-on database, a $5 VPS might be a good choice.
Wait, this is news to me - which VPS providers do not have persistent data storage? Are you thinking of Heroku-like deployments? I feel like every VPS provider I've encountered always listed storage as a feature?
I was thinking about EC2's default instance storage - it's ephemeral and gets wiped when you restart or stop the instance. Without paying for EBS volumes, EC2's storage is non-persistent by design.
You can't rely on VPS disk - backups, data retention and recovery is all up to you in case of node failure. There are other much more expensive and much slower products (external networked volumes) that do offer guarantees, but that's additional charge.
Well, Amazon might fail as a company at some point and then all your data will be gone. Theoretically.
Much more likely, though, is that you, or some sysadmin at your company, or even some user will accidentally hit the "delete" button on something important, and then without a backup, you can't get it back. Which is honestly the thing that people usually need their backups for, anyway. This is what most "data loss incidents" are: people just messing up and deleting things they shouldn't have. Wetware is much more prone to failure than hardware, after all.
Yes, and you never use those, because if the VPS company fails, your backups are gone. So use the backup services of a second (and third) company if you value your data.
Github actions are not free, you get a bunch of free minutes. For the public repositories, you are usually queued too far if you are sending lots of actions.
I mean kinda? It's free for public repositories, but free doesn't mean free for anything. The use of GitHub actions, like most thing in life, has terms of service[1]. This use-case arguably breaks the term "for example, don't use Actions [...] as part of a serverless application". If you start using this for demos, you'd probably also be breaking "You may only access and use GitHub Actions to develop and test your application(s)".
It's up to GitHub if they choose to enforce any of these terms. I just want to point out that there are limits to "free".
> for example, don't use Actions as a content delivery network or as part of a serverless application, but a low benefit Action could be ok if it’s also low burden
Just as the wesql article states, Use Cases is Not Recommended For:
- Long-term database hosting or production workloads.
- Maintaining an always-on public database endpoint.
- Circumventing GitHub Actions usage policies.
You probably need to define "fails" for me. I've never had a VPS straight up "fail" before, as in a hardware level, can't access the data, dead. You may temporarily lose access to the data, but I've always been able to recover said data.
Imagine a restaurant offering free samples or complimentary dishes to their customers. It helps in product discovery, and indirectly in adoption of other products that they pay for.
Then a person comes in starts gobbling every sample, because they believe "free tiers are meant to be abused".
I use an approach with Github Actions where if I need small amounts of persistent data between runs, I use a filesystem based off a fresh branch in the same repository.
That branch is rebased down to $tip so it shares no commits, and the 'database' doesn't affect development in trunk.
Obviously this doesn't work for significant data analysis, but if it's just a question of 'what was the state at the last run' it's cheap and easy.
> Here's how to abuse GitHub Actions to run a database
> DISCLAIMER: DO NOT ABUSE GITHUB ACTIONS DO RUN A DATABASE!
Meanwhile, a cloud VPS is down to €3.60/mo.
Provisioning a VPS takes ~30-60 seconds, and bootstrapping them with cloudinit is an option most places, so you could even spin them up and down as you need. But honestly, the effort isn't worth saving €3.60/mo. over.
The benefits include not having to pay for the cost of owning the machine and disk, the computing nodes are only spun up when needed, and when your task is completed, the computing resources are not billed, and your data is stored on the cheaper S3.
These are the benefits brought by Wesql, a new database based on S3 that is compatible with MySQL.
Sure.
That's the fascinating aspect of WeSQL database - its compute-storage separation allows you to run the database anywhere while data persists in S3.
You can shut down the compute service and restart it anywhere else - the data will simply restore from S3.
Yep, GitHub Actions isn't meant for production deployment - it's a CI/CD service with a 6-hour limit per run.
But that's the cool thing about WeSQL - you can run it anywhere! Just fire it up like any other container. For production, throw it on ECS/EKS and you're good to go.
The article says this about VPSs:
But how is that different with S3? They also do not store the data for free.And you can delete a VPS via API just like you can delete an S3 container.