Hacker News new | past | comments | ask | show | jobs | submit login
Stack on a Budget – A collection of services with free tiers (github.com/255kb)
352 points by bryanrasmussen 7 days ago | hide | past | favorite | 78 comments

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.

[1] https://www.hetzner.com/cloud

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.

>But then I realized you are limited in bandwithd to 20 TB

How are you using 20TB/month? Are you running a tor relay or something?

Streaming, webrtc, chat, file storage and upload, torrenting, file conversion, proxying, web crawling, backups, sync...

There is more to the web than crud.

> There is more to the web than crud.

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.

10% is significantly higher than 0.


20TB is not the limit but what is included in the VPS costs. Afterwards it's 1€ (plus VAT) / TB

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.

How's the latency from NA to their German datacenters? Their offerings seem much better than my current Digital Ocean setup at the $10 bracket

(as a side note, is there an NA-equivalent of Hetzner?)

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.

That's a lot of moving parts. To give me an idea of what's left over, how lightweight are we talking when you say, "2 or 3 light weight Go services"?

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.

The amount of time and the opportunity cost involved in "knowing your way around Kubernetes", might as well just pay for Slack.

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's quite early to go Kubernetes cluster. (I'm reminded of the old "does it run Beowulf" meme)

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 is great! I have a k3s cluster running there and can't complain, my experience has been very smooth.

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.

+1 for hetzner

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?

I would be weary of DigitalOcean.

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.

Can't you just:

1. mount /mnt/archive <block_storage>

2. dd if=/dev/<your_sda_partition> of=/mnt/archive/<my_image> bs=64K conv=noerror,sync

3. Download your image from your block.


Sure. The point is it’s not one click to download like other vendors.

It’s an active and intentional hurdle, it could just link to the file of the snapshot and allow you to DL.

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.

I dont want to judge but, are you really over engineering all that stuff to run on a 1 core 1GB ram machine? Is it really necessary?

Do you have an estimate of how much traffic/load this can serve? Your description doesn’t make it sound like these are for public services.

Yesterday there was a blog post by someone receiving HN traffic on a cheap Hetzner instance:


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.

Good for hobby or personal projects, but not if you’re building something for work. Many of these “free” tiers are designed to vendor lock you before they walk you off a pricing cliff.

Take Auth0. Free for up to 7,000 user but then it jumps to about $250/month. Migrating from Auth0 is a pain. You should really only consider these “free” services if you think you’ll always be in the free tier, and if you’d use the service even if it wasn’t free.

The time it takes to integrate ( and switch) many of these services may not be much less than spinning up something comparable yourself between docker, k8, lxc containers, etc.

Prematurely building scaling into every single layer of a test project might be a bit much, especially when it might not be known where the bottlenecks may occur.

In many cases, early prototypes/mvps should be semi throwaway anyways.

The idea of having a turnkey stack like this, maybe even with a script remains intriguing tho :)

It's missing Oracle Cloud's free tier.

Now, I don't like Oracle, their goings about with Java or their database (fortunately currently I don't have to maintain any of those), but their always free tier is solid, and I'd rank it as the best among free offerings.

I made an issue for it's inclusion, but for those who want a decent free cloud service, do check it out https://www.oracle.com/cloud/free/

You get 2 VMs with 1GB RAM, 2 Block Volumes for 100GB total, 10GB Object Storage, 10GB Archive Storage, 2 Virtual Oracle Databases (20GB) , Load balancer, 10TB outbound traffic/month and 10TB outbound bandwidth

FWIW, I feel like hating Oracle is a perfect reason to use as much of their free service offerings as you possibly can... bleed them dry! ;P

I guess you could create and share a "continuous cartesian join" image in whatever their equivalent of an AMI is.

Give them a fake phone number though (if possible, I can't remember if they require SMS auth), they called me for like two weeks asking for me to spend money until I explained I was in college and I wasn't going to spend money.

Should've read this earlier. Hopefully they keep their sales pitch to a minimum in my country...

FWIW, I've not had any spam whatsoever from them.

> I'd rank it as the best among free offerings.

Had the opposite experience. They killed my free tier stuff after about two months.

Also their VM images come with extra bloatware

Seconded, i run some basic etl jobs there on a cron. VM 100% uptime for 1 yr so far. Also the S3-compatible 10GB block storage is just awesome.

Hi, I'm the creator of this repo :) Thank you for sharing it on HN! I am glad you people find it useful. Feel free to contribute if there is anything that needs to be updated, I will do my best to review and merge today.

And also, thanks to all the contributors who helped creating this awesome list.

Our project started on a free Heroku tier (which funnily enough, to this day, is the reason our DB is postgres), but quickly outgrew that and I heard horror stories about how quickly it got expensive.

We then switched to the cheapest Hetzner tier, which was just astoundingly cheap and performed very well for two years or so.

Eventually we had to upgrade and are now paying EUR 5 for an instance that's probably beefier than we need.

All of this is backed by Dokku (haven't found a use case for k8s yet, single-machine is good enough for now).

Be interesting to see what happens if we ever wanted to scale horizontally, but there's quite a few Hetzner instances we can scale to vertically, before needing to go horizontal I think.

We also used some other 'free' services, like Netlify for hosting the static sites our product spits out, but we found that they have a lot of hidden (and surprisingly expensive) costs, like form handling. Those costs add up quickly.

Ended up going with Cloudflare for that, which delivers a lot on their free tier (and less worrying about getting DDosed by something like HN).

This is a great resource, my currency API [1] has actually been on this list for a while!

One thing that amazes me though is some of the places people rely on free services. As someone who has run a free and open access API for over 10 years now it never ceases to amaze me how people integrate free services into critical production code and high volume, high availability contexts.

Sometimes I can see from my logs and sometimes because users end up contacting me - developers happily include the version of my API that doesn't require any API key [2] in large corporate ERPs, apps in the Atlassian app store, shopping carts of super high volume e-commerce stores etc. etc.

Obviously I take great care in how my free APIs are provisioned and monitored, but it is still shocking to me that people just pick an API off a list and then rely on it in a system that probably cost millions in developer salaries to build...

[1] https://www.exchangerate-api.com [2] https://www.exchangerate-api.com/docs/free

For anyone looking for really straightforward way to get cloud hosting credits, checkout out IBM cloud: https://developer.ibm.com/startups/ you can get a $1000/month credit for one year no commitment to continue using them after.

$1000/month is actually really impressive. I have seen a couple of others that offer some free credit but not nearly as much. For example Azure only gives $200 for your first 30 days https://azure.microsoft.com/en-us/free/search

The real question is: is using IBM cloud worth it? I haven't had any experience but I might be willing to try if they are just handing out money like that.

Was spending $20k/mo with IBM at the peak in 2019, have since migrated to AWS and left IBM completely.


- Support, including paid enterprise support, was hilariously bad. It would take 3 days of escalations to the account manager to get even get someone to look at a ticket, weeks to resolve anything.

- Billing is a broken mess. There is no common uuid between the billing and storage systems. It's literally not possible to link a billing line to a storage resource. Nobody at IBM I discussed this with felt it was a problem, but my stack dynamically provisions disks so this was actually a huge issue for me.

- Managed IoT services would change under us with no notice, new quotas kicking in that took us completely offline. Nobody bothered to reach out before flipping the quotas on.

I could continue but I think you get the picture.. dont take their $1k/mo poison pill, you dont want to go prod with these incapable morons.

> Support, including paid enterprise support, was hilariously bad. It would take 3 days of escalations to the account manager to get even get someone to look at a ticket, weeks to resolve anything.

Having just finished a job that used an IBM tool ( IBM Sterling File Gateway ) , I want to throw in that I'll _never_ pay for an IBM product again, their support was awful , I think they actually helped the situation once out of the 30 times we called them.

You have to apply for the free credits, by filling out simple form, so there might be cases where you don't qualify.

Among the people who applied I don't know of anyone who was rejected.

One year goes fast. I'd hate knowing I have to move a year from now.

Have an open mind, maybe you wouldn't want to move.

For some of us, it is simply a question of budget. I'm using these tiers to run static sites for non-profits with no money and no plans to raise any.

I'm a bit tired of submitting to these lists-as-git...

If you are interested in web scraping, you can use my SaaS free: https://PhantomJsCloud.com I've had the same free tier since 2017.

Grafana Cloud, which provides Loki logging and all the Grafana goodness. It has a free tier: https://grafana.com/products/cloud/pricing/

(Not associated with Grafana, but have used this free tier for personal projects and to learn Grafana/ Loki)

I was delighted to see Opbeat on there (under Application Performance Monitoring).

Opbeat was acquired by Elastic, Inc and turned into their APM product. You can try the Elastic APM product for free as well: https://www.elastic.co/apm

(I was an Opbeat co-founder and part of the team that built Elastic APM)

In terms of business use (not personal use), if free is appealing, your business is under-capitalized. Building a business is about building relationships. Not just customer relationships, but business to business relationships. Customer retention is important and so is vendor retention. Customer churn is a drag on operations, so is vendor churn.

The cost of a vendor is mostly the time and energy that is put into building your operations on top of their platform. It is also cash of course. But free means that your vendor will have trouble staying in business. That is not what you want.

Free is a huge liability, there is no contract, implicit or explicit. Free can go away, either by having the service disappear or being priced out of reach.

Having TF scripts that can provision dev environments quickly and reliably is a more mature engineering approach than stitching together a bunch of free tier services.

If one literally has no money and the free tier means the difference between doing a thing and not doing a thing, by all means, embrace the free tier. Otherwise it is a liability, esp if it is easy to exceed the limits of the free tier and having to handle uncontrolled charges.

I wanted to use Geojango and Postgis, the framework for GIS apps. I chose Cloud Run, since it allows me to install system packages in container, can scale down to zero, can scale up to meet demand. But I had to mess with Docker etc. I wonder if a much simpler PHP stack can absorb 5-10 RPS without an autoscaling containerized setup, be cheaper than a VPS and can still interact with Postgis in a concise way as Geodjango. I wonder if I'm pragmatic or wasting massive effort.

Very nice, thanks for sharing!

Speaking of free services, one thing I've been looking for with not much luck is a Google groups equivalent. It can be paid as well, just not hosted by Google because I don't trust them to not discontinue it in the (not so distant) future.

One more: AWS Graviton t4g.micro vm instances using the 64-bit ARM Neoverse N1 cores are free until Jun 30 ;)


What's really nice about this repo is that it has pros/cons and specs for each service. It's actually a really nice way to learn how one might use a service. I thought this was a nice side-effect.

That was my goal when I created it. I wanted it to be an explanation on how and why a service is good or ready for free prod usage :)

There is also PythonAnywhere which isnt mentioned here

So cool! What else good is missing? Maybe customer service like chat (Drift etc) or CRM (free tiers)?

Erxes.io does both :P

This is nice. Thanks for sharing!

I really wish we had a more robust solution to the “free vs paid” problem where you can trust the free solutions don’t do anything nefarious or shady. Maybe this is already the ideal model and there’s always going to be some downsides, but I long for the days when some filecoin-esque or subsidy option is available.

I hate people who spend $10,000 of time to save 10 cents. Is anybody collecting a list of people interested in these things so I can send their resume to my competitor?

Some people don't even earn $10,000 per year, so that's probably an exaggeration. I agree that it'd be unreasonable to spend a year or even months looking for ways to save money, but if it's a few simple choices that you can make while researching what to use, it would probably be worth it! Besides, if you intend to keep a project alive, it makes sense to minimize the expenses that it'll passively incur.

The choice between using SaaS platforms (any of the managed DB services, Auth0 etc.), PaaS platforms (like Heroku), the big IaaS vendors (AWS, GCP, Azure, Alibaba) and just hosting most of those yourself in something like Docker containers on cheap VPSes (think Hetzner, OVH, Contabo or Time4VPS) can result in an order of magnitude less or more expenditures.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact