Donation of the month: Coolify. Open source Vercel alternative

August's donation is for Coolify, which is an open-source & self-hostable Heroku / Netlify / Vercel alternative.

public
2 min read
Donation of the month: Coolify. Open source Vercel alternative

My approach to the big cloud providers, (AWS, GCP, Azure etc.) is to embrace with caution... Let me delve into what I mean. One approach would be go all-in on say, AWS. This has the advantages of infinite scalability, reliable uptime, and services that abstract away whole classes of engineering problems.

However there are trade-offs. Big-cloud can be expensive, and their billing models are complex. It's extremely easy to over spend, and easy to over-engineer. I'm skeptical of architectures that rely on dozens of small components all using different, obscure AWS services.

For more simplicity, you could adopt one of the big cloud wrapper services, such as Vercel, Firebase, or Netlify. However these providers are themselves hosted on big cloud, so need to add their margin on top. They're great for prototyping, or for less experienced teams. However if you do start to grow, they can be eyewateringly expensive. The price you pay for not having to think at all about servers or scaling at all is, unsurprisingly, high. I suspect this will come down over time.

At the 2014 San Francisco AWS Summit, Infor CEO Charles Phillips stated: "friends don’t let friends build data centers", and that he was going 'all-in' on AWS.

In 2018, in response to Dropbox saving $75m by moving away from AWS, Cloudflare CEO Matthew Price stated: "Friends don't let friends use AWS". I think he had a point.

Obviously the other extreme isn't ideal, either. Building your own datacentres, or using bare-metal machines is just not practical for most teams.

Coolify

I think over time cloud services will become commoditised, and the big cloud providers will use walled gardens to try and prevent this.

A new breed of open source software is attempting to bridge the gap by making cloud abstraction open source and therefore cheaper to use. I've used Coolify a few times and found so far to be really reliable and easy. If you can't, or won't, use something like Kubernetes, it offers a simpler way to orchestrate apps using any VPS you've provisioned yourself.

Once Coolify is up and running on say, an EC2 instance, you could use it's UI to deploy a Postgres database, or Docker image of your application. It's easy to add more servers, and you can save a lot by opting for something like Hetzner as the underlying provider. How this will work at scale, is to be determined, but it's worth watching this space.