I have been freeloading on the public cloud since free tiers first appeared.
Professionally, I have happily spent other people's money on AWS, GCP, Azure and, more recently, Oracle Cloud. But for my own purposes, I have always been attracted to the cloud's most beautiful feature:
Somebody will give you a Linux machine for free.
For decades, having a publicly addressable Linux box has been remarkably useful. It is easier than punching holes through a home router, dealing with NAT, dynamic DNS and port forwarding, and then wondering why something stopped working six months later.
A free cloud VM can be:
- A network proxy.
- A VPN endpoint.
- A 24x7 cron machine.
- A lightweight web server.
- A service monitor.
- A remote shell.
- A place to run some weird little Unix job that needs to stay alive forever.
For a long time, Google was the clear winner.
I was an early Gmail beta user and, through friends at Google, got an unusually early look at the company's consumer services. I used practically everything: Gmail, Drive, Photos, Notes, Google Voice, Hangouts and their various predecessors and successors. I have written about my adventures with VOIP and video conferencing.
Google's cloud was good.
For years, Google offered a remarkably useful Always-Free tier. Its command-line tools were excellent, and the GCP interface generally made sense to Unix users rather than web pages full of menus and buttons.
AWS was different.
I have used AWS extensively for work and was comfortable with it. S3 was—and remains—excellent. AWS has enormous breadth and an ecosystem that effectively became the definition of "cloud."
But the AWS free tier was never compelling. AWS wants you in the GUI console, whereas GCP is command line friendly.
Then there was Azure.
My early Azure experience, around 2011–2012, was painful enough to leave scars.
Linux support was puke-awful. Some services seemed to require XML configuration for things that Unix had solved with a tiny config file and a few shell commands decades earlier.
Azure Subscriptions.
I understand:
- Accounts.
- Users.
- IAM.
- Machines.
- Networks.
- Storage.
Apparently Microsoft thinks we all need an extra, arcane conceptual hierarchy.
Subscriptions.
Eventually I learned enough Azure to limp along. But it always felt like Microsoft's enterprise software culture had been poured over a cloud architecture and allowed to harden.
Oracle Cloud wasn't even on my radar.
For years, Oracle was simply Oracle: expensive databases, enormous enterprise contracts, and software I encountered mostly when some other company had already made the unfortunate decision to buy it.
Then OCI started getting interesting.
Very interesting.
Oracle began offering an absurdly generous Always Free tier. And unlike many "free" tiers, it included things I actually wanted:
Compute.
Memory.
Persistent storage.
Lots of it.
I now have an Ubuntu VM with:
- 24 GB of RAM
- Four powerful ARM virtual CPUs
- Four VNICs
- 200 GB of storage
It is more powerful than my laptop.
And it costs me nothing.
That's a hell of a deal.
The 200 GB Problem
This is where the public-cloud economics get interesting.
Two hundred gigabytes sounds like an ordinary amount of storage until you try to get it for free.
S3? Great.
Cheap? Relatively.
Free? No.
Google consumer storage? Wonderful integration.
200 GB? Pay up.
The cloud vendors have become remarkably skilled at offering you something that sounds free until you actually try to use it.
The free tier often means:
Here's a tiny amount of the thing you want, plus a generous allocation of six services you don't want, don't understand, and will eventually discover on your bill that they have conveniently enabled for you without telling you.
Google, in particular, has been getting very good at this enshittifcation.
Google: From Evangelist to Customer
I don't enjoy saying this because I was an enthusiastic Google user for a very long time.
But Google's enshittification has become difficult to ignore.
Products that once seemed almost ridiculously generous now come with restrictions, quotas, pricing changes, product discontinuations, forced migrations, or some new "experience" for which nobody asked.
Just as Lync was probably Microsoft's best video conferencing and VOIP system, so too was Google Hangouts with integrated Google Voice the best all-in-one Video conference + VOIP system. Hangouts was always free!
Google's brand has eroded badly in my eyes.
Meanwhile, Oracle—of all companies—has been moving in the opposite direction on price/performance.
OCI became particularly aggressive around compute and GPU-heavy workloads. The other cloud providers eventually had to respond with their own spectacularly low pricing, sometimes looking suspiciously like they were willing to lose money simply to keep Oracle from stealing customers.
That changed the equation.
And it made OCI's free tier even more interesting to a cheapskate like me.
Unfortunately, there is a catch.
OCI is insane.
Not expensive-insane.
Configuration-insane.
Welcome to OCI
If AWS is a large city and GCP is a large city with reasonably good signage, OCI is a city whose streets were designed by a committee of civil engineers who refused to speak to each other.
You don't merely have a machine.
You have an instance.
It has an instance ID.
It lives in a compartment.
The compartment lives in an availability domain.
The machine has a VNIC.
The storage has a volume ID.
The storage may be paravirtualized.
Authentication involves PEM keys.
The keys are stored somewhere.
Possibly somewhere sensible.
Possibly somewhere you will not remember.
And there are security lists, network security groups, route tables, gateways, policies, OCIDs and approximately seventeen other nouns that appear to exist primarily because Oracle's architects were forbidden from using a noun twice.
The terminology isn't merely unfamiliar.
It is needlessly granular, verbose, with SHA-256 strings everywhere.
And the configuration complexity often bears little apparent relationship to the thing you are actually trying to accomplish.
The really modern indignity is that even the AI assistants have no clue how to navigate OCI.
Ask an AI chatbot about an OCI error and you may get a beautifully reasoned, technically plausible explanation of a configuration that Oracle does not actually permit.
So now you have:
Oracle's error message.
Your own confusion.
The AI's confident hallucination.
And somewhere behind all three is an Oracle engineer who apparently understands exactly what is happening.
Probably. Maybe?
And Yet...
I keep coming back.
Because underneath all the architectural cruft, OCI is offering us an astonishing amount of computing power for free.
For a cheapskate developer, that is difficult to resist.
Oracle may have found the perfect combination:
Give away an extraordinary amount of hardware.
Make the software configuration sufficiently maddening that people question their life choices.
Eventually, "This too shall pass."
Google already demonstrated that "Always Free" can become considerably less "free" on a whim.
Oracle will eventually discover that thousands of freeloaders are running around with 24 GB of RAM and 200 GB of storage and contributing exactly zero dollars to their quarterly earnings report.
When that happens, I will grudgingly pay, migrate, or move on.
But for now:
- 200 GB.
- 24 GB RAM.
- Four ARM CPUs.
- Four VNICs.
- Ubuntu.
- Public Internet.
- $0.00.
Cheaper than dirt. Frustrating as hell.