We don't use Cloudflare, yet Prisma depends on it so the outage broke our infra

1 hour ago 1

After AWS, now Cloudflare is down. It's always the same story: we, builders, are lazy, we start depending on things that are not necessary, we pay the price and then everything becomes potential failure points.

Normally, this does not affect my projects. I tend to self host as much as possible, on simple, powerful infra.

And because of that Ariana, my current product, does too: it's hosted on dedicated bare-metal servers, somewhere in Europe. No big cloud slopware included, just Ubuntu.

And yet, we still got affected this time with Cloudflare.

Why Deploy This Way?

Sure, I had to personally spend time and effort to learn precisely how everything I depend on works, such that now I can lead our company to work this way.

Yes, I refused free money from AWS to use their stuff, but it's not like what I learned was more time consuming than learning to use AWS, Azure, GCP the proper way.

I also got schooled by more senior founders and engineers so many times for not taking the "easy" way, but sorry guys I think from first principles, not from example.

My principles say you can always spend 1 more hour today to learn the hard way, so you can compound the next 10 years, rather than skip the hard work and pay later.

The Benefits of First-Principles Thinking

And it paid off, not only is hosting the way we do super simple and fast, it also means our servers don't turn off without warning, don't change location in our back, don't cost 60x what they're worth. If new people come at the company we can quickly teach them regardless of their past experience. All you need is elementary CS knowledge and no-bs first-principles thinking.

By being so bare, so simple, our infra has a low surface area for unknown unknowns. It never costs more than anticipated, never dies under load, and almost never breaks while we sleep, and if it ever did, we're confident it wouldn't be in an overly obscure way.

We pay 80€ per month for most of our infra, we know it will suffice at the beginning, and even then, we know exactly how we will scale it in a simple, fail proof way.

Furthermore, what we've learned in order to operate at this self-sufficient level, represents the fundamentals that will make us quickly master big cloud providers, potentially above the abilities of teams who only learned the top before learning the bottom.

So Why Were We Affected?

Rest assured, https://ariana.dev and https://ariana.dev/app our products are all up and operational. That's the power of our approach, not fully invulnerable as all things ever will be, but never killed by a small mistake done at the other side of the world.

What went wrong is that, in order to push an update we depend on a US based service for our ORM: Prisma. Which in the big dev tool startup fashion was over engineered just a little bit. (I hope I get rid of this soon)

For reason they decided they needed to depend on entire Cloudflare just for a simple file download mechanism. Which itself is questionable: why download new versions of your binaries every time we just want to migrate? If the CLI is installed via npm it should suffice normally, or at least come with an initial version that is pretty up to date. Because when I build a docker image I expect everything I run on it to be ready, not to need yet another update or install mechanism to happen.

Anyway, it broke our update pipeline so we couldn't push our big update on time ;-(

Many lessons to learn on both sides of the pond!

About Ariana

Ariana lets you run multiple Claude Code instances at once without worries or a local git worktree & ports conflict mess by having them run in isolated Ubuntu VPSs, pre-configured with most dev tools and languages for you.

On top of that you can configure environments, automations and share it all along with agent conversations with your teams.

Each VPS is hosted on Hetzner and hardened by us, comes with its own IPv4, and since you get sudo rights you can basically just do anything you want on them with the help of Claude Code: host your entire infra with docker compose, install a remote desktop and make a bot to control it, spin up long running tasks, host development builds & demos for your team, host a minecraft server??? whatever you want.

Read Entire Article