We are still early with the cloud: why software development is overdue for a change
robort - 2023-04-26 13:37:32
This is is in many respects a successor to a blog post I wrote last year about what I want from software infrastructure, but the ideas morphed in my head into something sort of wider.
The genesis
I encountered AWS in 2006 or 2007 and remember thinking that it's crazy — why would anyone want to put their stuff in someone else's data center? But only a couple of years later, I was running a bunch of stuff on top of AWS.
Back then, AWS had something like two services: EC2 and S3. Today, that number is closer to 350: 1
And today, the cloud is obviously here… I mean, despite what some people may think about cloud adoption 2 it's clear that building technology is vastly different today than it was a decade ago, and the cloud deserves a big part of the credits for it.
I think we might be early though?
In some sort of theoretical abstract platonic form type thing, the cloud should offer us
- Infinite scalability
- Less time spent on infrastructure
- Fewer constraints
- Lower costs.
Here's a random assortment of things I feel like we should have, if the cloud had truly delivered. But we don't:
- When I compile code, I want to fire up 1000 serverless container and compile tiny parts of my code in parallel.
- When I run tests, I want to parallelize all of them. Or define a grid with a 1000 combinations of parameters, or whatever.
- I never ever again want to think about IP rules. I want to tell the cloud to connect service A and B!
- Why is Bob in the ops team sending the engineers a bunch of shell commands they need to run to update their dev environment to support the latest Frobnicator version? For the third time this month?
- Why do I need to SSH into a CI runner to debug some test failure that I can't repro locally?