If there is one trend that permeates all of industry, it is the drive to move forward. All processes evolve to become more efficient. New things are built on the old. Things get smaller, simpler, cheaper. IT is no exception. The technology industry has progressed from the room-sized computers of the 1950s (for which it is said there was a market of maybe five throughout the world) to the wristwatch-sized computers of the modern age. The steps along the way have been punctuated by “revolutions,” of which serverless is among the newest.
Most of these revolutions, particularly in the IT infrastructure arena, have been cost based. Some examples from my time have been the move from large multiple-U rack servers to “pizza boxes,” the move from individual servers to VMs running on some virtualization platform, and the move to colocation services for Internet-facing servers, among many others. Each of these moves has been characterised by an up-front cost, such as investments in new hardware or in the software that ultimately offers an advantage going forward. Many of us got around these huge initial costs by leveraging planned renewals—by hiding the costs within an existing budget to replace kit.
Each of these steps has come from out of the blue, from newer, younger companies. HP and Dell didn’t come from nowhere, but they ousted Sun within a decade with cheap, small servers that replaced Sun’s larger, more costly alternatives. VMware didn’t oust Microsoft, but it owned the virtualization market single-handedly for almost a decade.
The next revolution is already here. This one, however, is different. It feels to me relatively silent, but not because it’s getting no press. Just the opposite, in fact: it’s as full of buzzwords as any revolution we’ve ever seen. It seems silent because it doesn’t come with up-front costs. Most companies now have software in the cloud, with either Software as a Service (SaaS) or Infrastructure as a Service (IaaS) solutions in place—or in most cases, both. IaaS started out as the other revolution. The move to cloud involved new cost models, and virtual machines sat on other people’s servers. AWS, Google Cloud, and Azure became new lines on the finance spreadsheets, and the board saw the migration.
Serverless, though, doesn’t involve new providers. It doesn’t involve firing up new infrastructure or new cost models. Serverless simply involves paying the same for small chunks of much more specialised servers. Serverless is insidious. Once your web farm is living in AWS, it’s simple for developers to start activating serverless code to make their life easier. There are no financials to worry about, no board sign-off: just another line on an already quite large bill from the cloud provider.
This new model is simply an extension of the way systems have been becoming smaller and more specialised over time. Instead of one massive server running every job in turn, or a rack of pizza boxes running web servers with another running databases and another running an application layer, we have virtual machines that are powered on to execute a single function and return a value. We have functions that can be used by any of our apps without copying of code and that can be managed as individual entities, and even sold.
Serverless will start small within many organisations. It will be a collection of commonly used methods, such as authentication or database access, that are common to all of the internal applications—functions that don’t stretch outside of the cloud in which the VMs live. It will be an issue only for the developers, who can save time and effort by calling something they know to be simple and solid—an extension of the API model we’ve been using for years.
It won’t stop there. Coevolving alongside this will be a similar culture. In the same way that pizza boxes brought us ITIL and cloud brought us DevOps, serverless will bring us a new model, one of small, cross-functional teams. Of self-organised teams, and teams time-limited to a single project. Of teams that take off-the-shelf functions for 80% or 90% of what they build and put together applications that can be passed on to other small teams to maintain. From pizza box servers, we will evolve into “two-pizza teams,” following DevOps principles of involving the customer and of failing early and often.
Serverless is a glorious new world, one that will sneak in the back door.