A Three-Cloud Prism

Triangulating AWS, Azure, and GCP for perspective

Here’s something I found myself saying — it’s stuck with me and that’s prompted me to look into it:

“Technology isn’t a thing you do, it’s a metaphor for exploring a philosophy of being”

Photo by Zane Lee

There’s a moment in every discipline, art, craft and practice when you find yourself reaching beyond what you see, through the looking glass, to touch the essence. What is cloud really about?

Leaving home

My last couple of work years have sent me on a pilgrimage, prised me from my slumbering comfort zone and put me on a hard trail of discovery — to walk the halls of the three great American clouds — the great religious institutions of the technology world.

There are still plenty of smaller pagan outposts of course. Mysterious, ancient places, crumbling datacentres, temples stacked with dusty hardware, tended by hard-drive priests. A long tail of sweating assets shuffling off their magnetic coil, inexorably preparing to join the telegraph and the fax macihne in that nostalgic, posthumous-Jedi-glow.

It’s a rare endeavour that doesn’t already have a sworn allegiance to one of the great cloud cathedrals. A rarer one still that knows the visceral reality of life under more than one regime. I’ve been granted the upsetting privilege of having to reconfigure my internal compass to each of the three different North stars.

Which is best?

I won’t judge you if this is the question that comes to mind. The real answer is a question of who you are. Let’s just say that’s an ecumenical matter. My father was fond of saying “travel is a far better education than you’ll ever get in school”. I certainly feel wiser for this triumvirate journey.

Perhaps one reason so few of us make this journey is that it’s, quite literally, too hard. The level of investment an averagely busy professional needs to make in order to meaningfully engage with these alternate realities is substantial, and longer than any of the free-tier trial periods on offer. So most of us land in a tribe, take on local orthodoxy and try to square with the sectarianism.

Whether it’s the feeling of drowning in complexity (a fair deal of it justifiable), rage-inducing paucity of user experience, or the swirling melting-pot of overlapping layers of features and services at different stages on the circle of life, it feels like you’re attending a birth, a wedding and a funeral, simultaneously, for a hundred people, and you don’t know who’s who and which is which.

Touching the void

If you live in sufficiently interesting times you may find yourself a metaphorical refugee, moving between ethnic groups and trying to make a temporary home in each town you pass through. Hopefully a few friendly faces and occasionally some golden memories, but a lot of transience, a lot of trust-building, a heavy suitcase of uncertainty and just your wits and the kindness of people who are initially strangers to call home.

It can be exhausting adapting to all these worlds, but it’s certainly not boring. It can be frustrating when you want to bring the delights you’ve collected on the journey, but local customs are prescriptive, proscribing much of the mind-altering wonder you’ve suffered to learn. But you yourself have learned and that’s a good thing.

At some point the years of learning, unlearning, reorienting, dismantling what you know to be so and putting on the unfamiliar until it feels natural bring you to a place where you can see through the stone walls and institutional strictures. You start to perceive the shape and nature of the world, beyond its visible surface.

What I’ve learned

I think I’ve finally understood why some organisations have had to disaggregate “Digital” from “IT”. Not all technology is the same. One part is a cost centre, the other a profit centre. It’s helpful language that distinguishes “what my mum thinks I do”, which is fixing her laptop, from what I actually do, which is listen, understand what value organisations are trying to create and then manifest just enough technology to bring that into reality.

What I’ve learned from doing that in the context of our differing cloud tribes is that there’s a journey of discovery, from fumbling novice to quiet master even within the cloud. And that journey continues apace.

You may start with a virtual machine, you’ll probably move on to auto-scaling groups, you’ll realise it’s important to be stateless when computers can appear and evaporate by the second, you’ll start building stateful database instances, you’ll wander, eyes aglow into the land of containers, you may come to see that stateful containers are darkness, you’ll get frustrated with managing instances and then one day you realise: there is no spoon.

Letting go of computers

As I peer into the cloud, I realise that most of it needs to disappear. I’ve started talking about “zero-IP architectures”. It might sound like crazy talk, but what if everything — your database, your functions, your queues, everything in your design — was a service, resiliently managed for you behind a DNS name? Invoke an http function, that posts to a named queue, that’s picked up by an ephemeral container, that writes data to a storage bucket and updates a named database. No visible networks, no CIDR blocks, no IP addresses you need to care about.

Then you realise: there really is no spoon. It’s a far cry from a world of stateful, long-lived, physical servers. The cloud isn’t “someone else’s computers” any more, it is the computer, and you’re inside it. To quote Ariadne’s line from Inception: it’s pure creation. Perhaps this is a culmination of the oft-invoked “Lego” metaphor.

And here’s where my three-prism journey ends. Delaminating your creation from the computers that, somewhere under that hyperscale duvet, tirelessly build your reality, one-by-zero-by-pixel-by-packet. You realise the purpose of each revolutionary advance is to eclipse the one before, allowing it to slip below the waterline of commodity, whilst forcing you to reinvent your thinking once again, or slide into the deep with it.

Looking at the clouds

From a place of creating systems whilst simultaneously letting go of the systems that make it possible, expressing in near-pure design what it is that uniquely needs to be said for a particular endeavour, there’s less and less need to work out the hard, solvable practicalities. You reach a Jonathan Livingston Seagull moment of clarity about what those three clouds are pointing at. You forget about squabbling over high-availability strategies and start to think about flying.

Each cloud seems, at one end of their scale, to try to keep alive the “normal” world their congregations live in, (after all, it’s the paying public that keeps the doors open) whilst stretching with the other hand to reach almost into a different dimension — one that will seem normal in years to come, but which for many isn’t even a concept at this stage. Reality is too pressing for that.

It’s tempting to say of AWS, Azure and GCP that “they’re all basically the same” but, having been there, I can tell you categorically they’re not. I can express the difference, but only in terms that make sense relative to my perspective, so I’ll leave you to explore relative to your own. I can however express with clarity that these are very much alternate realities. If you’re thinking “apples” and “oranges”, try “apples”, “purple” and “quickly”.

They exude different philosophies, run on different laws of physics and have fundamentally different ways of being. It’s as fascinating as it is hard to grasp.

I recommend the journey. I promise it won’t be easy. I hope you’ll see a deeper truth through it.

Hands-on culture and techology. Work hard be kind. CTO at Policy in Practice (https://policyinpractice.co.uk)