The Inevitability of Serverless
In the spirit of the holidays, for keynotes at Serverless Computing London and CodeMotion Madrid, I decided to reenact Charles Dickens’ Christmas Carol, set upon a brief history of technology with visits (and bad acting) from Jacob Marley and the “Ghosts of Serverless Past, Present, and Yet-to-come”. Each visit tells a story of the shift in computing from physical connections with stuff we can see, touch, feel (think pets), to digital connections with infinite hidden stuff (think cattle), and the yet-to-come ends with a “dramatic” near-death scene where Ebenezer is warned his organization is not ready for this sea-change and will die. Yep. I admit this is totally ridiculous (and point that out in my talk), but as the first 9am keynote of each conference, I figured if I simply woke up the audience then it’s not a total loss.
The main takeaway of the talk is that serverless computing, whether we call it that or not, is inevitable, and that it will define how an entire generation of developers build. My childhood was full of things only “nerds” wanted to touch — BBS’s, war dialing, robotics camps, DOS hacking, LAN gaming, early software piracy (c’mon I was 11), RPG’s full of D20 die, etc. Tinkering deep into the internals of stuff was both necessity and curiosity and were core to these activities. It’s this same endorphin-producing tinkering that shepherded my generation of nerds into software development. But this is changing.
The newer generation of builders aren’t starting at the systems-tinkering level. They are starting with iOS (vs DOS), Scratch (vs hypercard), YouTube (vs encyclopedias, vhs, etc.), Fortnight (vs lan games), iPhones (vs everything), all consumed “as a service” in unlimited quantities — no physical limitations, less internal tinkering. The ways in which the newer generations are experiencing, interacting, and manipulating the world are on-demand, virtual, instant, infinite, abstract. Now think about the promises of serverless — creation that is on-demand, infinite, virtual, instant, pay-as-you-go, and abstracted from hardware. These two mental models of the world, the former the world we live in, and the latter the creation of stuff to manipulate it, are the same! The shift to serverless is inevitable.
But anybody who’s been around tech longer than a few years raises the point that “serverless is just X with a new name”, and they are correct! Our world model is a continuously evolving spectrum with intermittent major leaps forward, and it is the same for how we create software and technology to manipulate it. Serverless computing has been evolving for decades. We just have a name for it now.
The final thing I’ll say is because we now have a name for it, everyone has these drastic expectations and thus we spin around existential debates of whether or not serverless is better at X than Y. Yes, S3, Lambda, and other similar services are major leaps forward, but we’re still in the evolve stage. This will take years. That’s why getting hung up on definitions is counterproductive. Definitions come with expectations. Instead, let’s simply focus on evolution and make building easier for everyone. I (obviously) have thoughts here too but I’ll save for another blog post. Plus I can’t predict the future. You’ll have to ask the Ghost of Serverless Yet-to-come for that.
Feel free to leave your thoughts back on hacker news.