The dream of abundant computing

7 Jan 2024

Late last year, Bejamin Reinhardt wrote an article for Works In Progress about the potential of abundant energy. It immediate struck a chord with me, words put to something you know to be true. Many things I value require energy. Having a lot more cheap, clean energy could mean a lot more value in the world.

Unlike energy, compute has been getting cheaper and faster for decades. On paper, I have more capacity at my fingertips than ever before. Why do I still feel a sense of scarcity when it comes to getting things done with code?

Laptops, desktops, servers

When I think about compute capacity, I think of personal computers and cloud servers.

Personal computers are a lot more powerful and more portable than in the past, and a norm has developed around mobility: every workplace uses laptops; most people's single computer is a work laptop. But laptops stop when you shut the lid, you can't rely on them to expand your capabilities with automation or supporting services.

Remote work re-opens the possibility of a desktop computer for work. But homes still routinely lack the kind of network connection1 that would let you use automation on them as a rock-solid reliable part of your life, even if you had a desktop that wasn't for gaming.

Cloud servers have become cheaper, but the performance gap between your personal computer and cloud servers has widened, so often your laptop is the much more powerful machine. Pick a bunch of cores and 16GB RAM, the minimum for data work these days, and the cost is no longer casual. Using a server like this outside an business setting feels like renting a hotel room for a year, just in case you need it.

Exemplars

In contrast, a few individual services and providers have given me the glimpse of what it all could look like.

Cloudflare

There's something magical and Cloudflare's free and low-cost offerings that still blows my mind.

Our World In Data had an immensely expensive enterprise Netlify contract for years. All that time, they were also using Cloudflare, and in fact Cloudflare was casually serving 75% of the traffic for free, terrabytes a month. When we switched to Cloudflare serving 100% of traffic, hosting costs reduced 10x.2

I had a similar experience in the small, running the Great Language Game, where Cloudflare cached and served audio files for 100 languages for me, offloading a ton of work off my server and making the experience much faster for users, without charging a cent.

Google BigQuery

I learned about data warehousing when Hadoop and map-reduce were huge. I ran a Hadoop cluster for work, and did data pipelines in Hive with individual steps that occasionally took 6h to complete, and could still fail with a JVM OutOfMemoryError near the end.

The first time using BigQuery was a breath of fresh air. No query or data change took longer than 90 seconds. It cost almost nothing to run, and the size of the data you were querying basically didn't matter.

BigQuery's the kind of product that's so good, it made orgs that were previously AWS-only multi-cloud by accident, a gravity well of productivity that sucked in whole data teams and suddenly made it reasonable to export your entire database across clouds daily, and just adapt to that.

As well being fast, and scaling compute and storage for you, BigQuery is also cheap, which lets you just do your work and not think about it.

Hetzner

I've written before about using Hetzner, a German hosting company that offers dedicated servers for a fraction of the cost of the big cloud providers.

Something unusual about Hetzner is that they rent out dedicated servers with consumer desktop CPUs, rather than the server CPUs that cloud providers use. However they manage it, their pricing for these servers is just really reasonable.

For example, you can get a server with a 16-core Ryzen 9 5950X CPU, 2x4TB NVMe disks, 128GB RAM for $100/month. I priced a comparable but slightly worse machine at ~$1000/month with normal cloud provider, 10x more.

At work, where we run memory-hungry data pipelines, we've been able to get a lot more compute for our money by using Hetzner servers. Unlike the previous two options, Hetzner servers still cost money, but they're so much cheaper than their competition that they also evoke this feeling of abundance.

Reflection

Our tools are an extension of minds. We want them to be great at things our minds struggle at, and also to allow us to expand our thinking, our reasoning and our power to act.

My current toolkit doesn't support quick-fire expansion to run tasks across an instant cloud cluster, but frameworks that allow that exist. My access to automation might be improved by using severless functions, which again cost nothing when not in use.

Perhaps this abundant future is here, but only in some places, and I'm just not using the right tools. Or, perhaps with the advent of LLMs, our compute demands inflate so that they always exceed our growth in capacity, and the feeling I'm chasing will always be a three steps away.

Since this experience is personal, I'm curious: what tools, services or situations trigger a sense of expansiveness and abundance for you?

Footnotes

  1. In Oxford, in 2024, the best available home internet where I live is a hugely variable 4G connection that gets worse when it rains. It rains often in Oxford.

  2. Cloudflare's free offering builds incredible goodwill; it makes me want to explore what they can do and pay them more, quite a change from other cloud providers.