Today’s Best Band Ever™ is Sprints. There’s something … honest about them. I had their debut album on repeat for several days. And will do it again.
Difficulty: Hey, not too rough.
The World.
We are officially screwing the planet, but that doesn’t stop humanity from having multiple hot wars. It’s as if there’s a group of people in a burning house but instead of extinguishing the fire, they are occupied playing the game of Musical Chairs. With knifes.
It's been quite busy for me recently. I started writing this in mid-January and, I must say, the humans are steadily on track for self extinction.
Interestingly, things in Ukraine are stable bad. But stable. Every day moscovia is not winning, is a day closer to them losing.
If you meet the Buddha on the road, kill him
Despite sounding dramatic (them oldins also liked clickbait, I guess), this Buddhist koan is rather simple. Buddhism is all about getting rid of illusions, misconceptions and, eventually, concepts and abstractions in general, to be able to see the world just like it is.
Abstractions, or at least the useful ones, are important for the general grasp, but they all hide the too-detailed reality. Good for an initial assessment, counterproductive for proper understanding.
Believe it or not, this post is about cloud costs. Let’s see if I can dig myself out of this hole.
Anyway, I probably sound like a broken record, but I’m really convinced that we’re past the radical innovation phase of the cloud and have mostly entered the rationalization one. I'd propose to call it The Cloud Hangover.
Watch my hands closely.
Left hand: the success story of 37signals leaving the cloud.
Right hand: a random blog post about the joys of self-hosting.
Believe it or not, it’s the same post. Well, kind of.
Our guy from the right hand discovered that at the hacker stage, aka messing around, enterprise-grade tools are too expensive. Translating that to the real world would be discovering that renting a multi-ton excavator to play in the sandbox is (probably) super fun, but much more expensive than the plastic shovel from the toy shop.
Did you know that it’s possible to make a RaspberyPI running on your home Wi-Fi, host a public website?
But Sascha, you might say, the 37signals is a mature company making a significant profit. They could not possibly be in the same category as some random guy who is “in the hacker stage and hasn’t yet started making money.”
But they are. And here's the trick.
While you were watching my left and right hands, out of thin air I pulled the [Cost optimisation pillar](https://docs.aws.amazon.com/wellarchitected/latest/cost-optimization-pillar/optimize-over-time.html) (editing substack articles on a mobile phone is quite a challenge) and the “Optimize over time” in particular. Allow me to quote:
… you optimize over time by reviewing new services and implementing them in your Workload. … it is a best practice to review your existing architectural decisions to ensure that they remain cost effective. As your requirements change, be aggressive in decommissioning resources, components, and workloads that you no longer require.
This is a really interesting piece, let's break it down.
You have to continuously review and update your solutions. AWS says your architecture is likely outdated if it's older than two years.
You don't do that for the sake of new technology, but for the sake of efficiency. Ultimately, cost reduction.
Now our young explorer realised that they don't really have an architecture and thus paying for that makes little sense.
The 37signals, on the other hand, concluded that their architecture (I believe a classical web application with a lot of Elastic Search) doesn't need evolution (totally reasonable) and thus the only way to reduce costs is to optimise the infrastructure.
Traditionally, that is done by rightsizing and purchasing reservations. Which, I'm sure, they did.
But they didn't stop there and replaced reservations with their own hardware.
I think this is brilliant and despite them calling it “cloud exit”, I think this move is canonically cloud.
In other words, you don't need to use a cloud hyperscaler, to *do cloud*.
That's the paradox of meeting a Buddha.
There's one last question left - should everybody just buy their own hardware and “leave” cloud?
The answer is, of course, “it depends”. Here's a checklist I'd like to suggest:
You have no variability in stack/architecture over a long time (e.g. you're a LAMP shop. Does anybody still run Apache web server?)
You have no variability in usage and your growth is predictable over a long time
You're a software shop and anyway have people managing infra/Linux
All you use in the cloud is VMs (open search is VMs)
You are an established business with a relatively constant user base. I think 37signals made it an official statement that they don't seek a massive growth, they prefer acquiring new customers slowly but serving them over a very long (for a capitalist measures) time.
If all those points check for you, then after you squeezed reserved instances, the logical next step is to do your own hardware managed by a third party in a third-party data center.
Take care and stop aggressors.
PS. This post is still stubbornly 100% GPT-free.