Free is great, and you can get a decent mileage out of cobbling together a few services.
But I'd personally be way too stressed and annoyed by worrying about the often very restrictive free tier limits. You can very easily blow through the network egress, for example.
For things I want to be cheap I've started hosting a lot of things on Hetzner Cloud [1].
Even their cheapest instance (1vCPU/2GB RAM/20TB traffic) at 2.5 Euro/month can run a k3s Kubernetes cluster with Traefik ingress, loki logging, their own CSI driver, cert-manager, Grafana and a 2 or 3 light weight Go/Rust services. With their Terraform provider I can easily scale up the cluster in less than a minute.
And since it's Kubernetes I can also always move things to GC or AWS if required.
That's incredibly cheap, and you don't have to worry about limits or free tier periods ending, etc. It's a long-term solution.
I'm sure there are some other similar providers out there.
edit: to be clear, I also have clients with sizable production workloads on the same infrastructure, it's not just for tiny toy deployments. Above is just an example how far you can go for almost no money.
I didn't know Hetzner Cloud, an first thought, "wow, it's even cheaper than OVH, which is already a bargain" (https://www.ovhcloud.com/fr/vps/).
But then I realized you are limited in bandwithd to 20 TB, while OVH provides, for barely more €, unmetered traffic. It's huge because you never have to worry about a random spike day, a bot doing something stupid, an attack, or a use case switch (ex: video streaming).
OVH might give you 'unmetered' traffic, but their connectivity _sucks_. Hetzner's 20TB/mo is equivalent to a constant measly ~60Mbps, but at least you'll reliably get this rate to most of the Internet, and very often will be able to saturate your link speed for peak usage.
There have been times where I wasn't able to get more than a handful Mbps from an OVH box in RBX to any network I've tried (multiple eyeball networks, Google Cloud, AS204880...). I also know multiple people who had to quickly migrate out of OVH because they suddenly got DSL-tier performance to their critical customers, and there was nothing they could do about it.
So it might be theoretically unmetered, but technically... I'd be surprised if you'd be reliably able to push more than 20TB in a month to outside OVH's AS, or even datacenter. You get what you pay for, and while network connectivity is not nearly as expensive as what large cloud providers would like you to believe, it's not free.
A true unmetered, non-oversubscribed, globally reaching Gbps link would run you something close to $200/mo in T1 transit commitment costs alone, and that's if you buy in bulk and already have good settlement-free peering with large networks to supplement that T1 transit.
not really. 90% of people using the cheapest vps are going to host wordpress or crud apps on there, not their video streaming startup that competes with youtube.
You think cloud is good wait till you use the dedicated servers :). I was sold on Hetzner after running into their robot marketplace (on HN I think) years ago. Fantastic provider if you can live with a little bit of latency depending on where you are.
With what Hetzner prices at I'm always on the look out for a US competitor but there doesn't seem to be one yet -- best prices consistently come from OVH most of the time or LeaseWeb.
Generally latency the other way is 100-120ms if both sides are close to an exchange. If you live way out in the boonies those numbers to straight out the window.
Sure, and that's only recommended if you know your way around Kubernetes. I just wanted to illustrate that it's possible to host a k8s cluster with some workloads for 2.5€ per month.
You can always skip the Kubernetes overhead and use plain VMs.
Obviously you can't expect too much from a single vCPU at that price, but as an example, I had the above setup plus miniflux (feed reader), Postgres, Maddy (mail server) and Nginx for a few static sites, all on the cheapest instance. It was mostly fine, apart from occasioal stutters.
Hetzner small cloud instances mentioned are insanely performant. They don’t seem to limit small instances like other cloud providers do. So you can do around 160MiB / s of disk writes and 1gbit network, for $2.5/month.
That depends. Nowadyas installing k8s is easy enough that it is probably the most strightforward way of getting automated deployments that is reasonably reliable. The only issue is that the control plane is somewhat heavy weight, which can be issue for these small cheap VM instances (and I suspect that the reason why they are cheap is that they are intentionally sized such as not to make sense for production k8s deployment).
I think it boils down to what people deem "reasonably reliable" for such starting situations or whether that's a requirement in the first place. Related to whether it's better/required to structure your software as set of services or a monolith.
Of course, if you're already doing a devops or particularly mean full stack regular job where this is your daily bread, you might as well use the knowledge.
Installation is easy, but maintenance/upkeep is non-trivial. Kubernetes ecosystem is complex by itself, without having to run non-managed control plane.
They have K8s cloud controller manager to manage load balancers and private networking, and driver for attaching persistent volumes. Also, instances go up to 32 vCPU/128 GB of memory, so they are more than enough to run most loads, including the control plane.
Hetzner's dedicated server offerings are great. But their cloud offering seems rather limited.
For that I'd rather look into scaleway (starting at 15 EUR/month for DEV1-M), who offer services like managed kubernetes or S3 compatible object storage. What I like about their pricing is that it's very predictable. For example traffic is free (but bandwidth is limited) and object storage is only billed by size, not by API calls.
(disclaimer: I didn't use scaleway yet, so I don't know if it works reliably in practice)
Used them for a few years and recently started switching everything over to hetzner. Scaleway’s products are fine but their support sucks and was either unresponsive or offering little to no help.
The biggest downside of hetzner is the lack of managed containers. Which means I'm responsible for securing and maintaining the whole server, instead of just my applications.
I was considering Hetzner as well, but, as opposed to OVH, they don't have managed Postgres database in their offer. I could just run both the backend and the db on the same VPS, or split them into two, sure, but then managing it falls onto me.
In terms of usability (their UI/UX, integration with Terraform, etc.), features and support, would you recommend Hetzner Cloud over Digital Ocean? I'm really interested, but, for instance, I don't see Hetzner offers VPCs, right?
DigitalOcean unlike other providers does not allow you to easily download your disk images or backups of your own servers.
It has been a feature requested many times and support simply lets you (eventually) know that it’s not going to happen.
That means you cannot have backups stored in more than one location, and more regularly, it’s a veiled form of lock in to make it unable for you to move.
Other vendors simply let you download your disk image, snapshot or backup at anytime.
DO has a good interface, but so do others. Proxmox or ESXi can be run pretty easily on a piece of equipment too.
OVH and Hetzner are strong options, and I have heard good experiences with Linode, who’s pricing is on part with DO.
The UI is very responsive and well done. The TF provider has been excellent and bug free, in my experience.
DO has a few features that Hetzner lacks: S3 equivalent, managed Kubernetes and managed databases. So you need to have enough tolerance for managing all of that yourself. (they do have storage volumes, so you can get there with self hosted Minio etc, but it's obviously more work)
Support is pretty good, but quite a bit more responsive if you have larger deployments.
I tried to use DO Spaces (their S3 equivalent) to store 13 Kb of Pulumi state data, it took 5 minutes to save. Switched to AWS S3, it took less than a second.
It seems to be seriously rate limited to the point of being unusable.
Thanks for this, it answers my question partially - the author talks about Hugo-based static sites. As for OP, I’d be curious to know how services with more dynamic workloads fare. However, reading another comment of theirs, it confirms my suspicion that it was for their personal services, not public.
I edited my I initial comment to mention this, but I also know companies with sizeable production deployments.
It's definitely viable for businesses if you need to save money.
Although I primarily recommend it for secondary workloads.
As a business you will probably be better off having S3/GCS and managed Kubernetes, managed databases etc. Better guarantees and less risk. And everyone is familiar with the big clouds, so less training for new hires.
But I'd personally be way too stressed and annoyed by worrying about the often very restrictive free tier limits. You can very easily blow through the network egress, for example.
For things I want to be cheap I've started hosting a lot of things on Hetzner Cloud [1].
Even their cheapest instance (1vCPU/2GB RAM/20TB traffic) at 2.5 Euro/month can run a k3s Kubernetes cluster with Traefik ingress, loki logging, their own CSI driver, cert-manager, Grafana and a 2 or 3 light weight Go/Rust services. With their Terraform provider I can easily scale up the cluster in less than a minute.
And since it's Kubernetes I can also always move things to GC or AWS if required.
That's incredibly cheap, and you don't have to worry about limits or free tier periods ending, etc. It's a long-term solution.
I'm sure there are some other similar providers out there.
edit: to be clear, I also have clients with sizable production workloads on the same infrastructure, it's not just for tiny toy deployments. Above is just an example how far you can go for almost no money.
[1] https://www.hetzner.com/cloud