Serverless computing is catching on – and quickly. A recent survey by the Cloud Foundry Foundation (a non-profit collaborative project of the Linux Foundation that oversees an open source platform) surveyed more than 250 users and found that 22 per cent are already using serverless technology. And almost half are thinking about it.
Serverless has led to a range of providers offering Functions-as-a-Service (FaaS)—that is, offering computing power for individual code functions or specific actions as part of a broader application development process. Perhaps the most widely used (and known) such provider is AWS Lambda from Amazon Web Services.
It might be called ‘serverless’, but of course, that doesn’t mean there are no servers involved. FaaS providers use servers, either real or virtual, but the difference is that end users don’t have to factor them in to their estimates. Rather than hosting an app as they would in traditional cloud computing, for example, the app simply alerts the cloud servers when it needs to for a specific action, such as in-app activity tracking or transaction order processing. It then disengages the server until it’s next required.
The benefits seem obvious. Since you only pay for the computing time during which the action is in progress, it costs less, because your apps aren’t required to be ‘always on’ 24-7. It also reduces complexity because changes can be made without having to make significant changes to each environment every time a minor upgrade or correction is required. These savings on time and cost should in theory allow developers to spend more time focused on solving business problems such as faster app deployment, and that should lead to happier customers and greater market differentiation.
But serverless is evolving fast, and while the rate of adoption seems precipitous, there are a few things to consider before getting on board the serverless train.
Organisations are going serverless in two quite distinct ways. The traditional route for organisations to adopt new technology, outlined in Geoffrey Moore’s book Crossing the Chasm, involves ‘pre-chasm’, technology-driven early adopters latching on to the new thing, followed by more cautious adopters who make the move when business value is more apparent. Leaping the ‘chasm’ between the technology-focused early adopters and the later adopters who base their move on business value is one of the most difficult transitions for any technology to make. Many never do of course, and flounder, while those which do tend to become an established part of the market.
For serverless technology, we’re currently in the pre-chasm stage, but the speed at which it’s already being adopted means that a massive move based on business value is unlikely to be far behind. That will mean many more frameworks developing around event-driven (or FaaS) concepts and the industry will need to build up a set of best practices to pave the way for mainstream adoption.
Why serverless is different
The speed with which serverless is being adopted, however, would seem to put it outside the traditional model. This may be because it’s so obviously useful and the immediate benefits are manifest. Cloud providers offer a wide range of options for building applications and systems, and to tie these together, event-driven FaaS capabilities are perfect to act as the ‘glue’ to bind them.
When a server’s OS is used to host applications, there’s usually a lot of scripting involved to help operate the server, automate parts of the application and generally administer the environment. FaaS makes it easy to run simple bits of code that respond to various events in the environment without the need to run everything else in the same environment.
So effectively there are two ways that organisations are adopting serverless technologies: for business applications and as platform-level glue code.
So should you go serverless?
If you’re already using one or more public clouds at a high level, it’s likely that your organisation’s developers are already using FaaS to a greater or lesser extent. They’ve got a job to do and they’ll use the best tools available to get it done.
That said, it’s worth considering how a serverless model for application development can best benefit your dev teams. There are potentially huge gains to be had. But in the ‘pre-chasm’ period before general adoption, the industry has yet to develop enough best practices. There will be much to learn, and some relatively uncharted territory still to navigate.
Another thing to consider is just how reliant on a single cloud provider you want to be. If you use a single provider, it’s probably worth adopting their FaaS services as they become available. But if you’re using several providers, it could be more difficult. Each will have their own FaaS standards and platforms, so it may be worth considering an open source alternative that can give you FaaS on whichever infrastructure you prefer.
Chip Childers, CTO Cloud Foundry Foundation
Image Credit: RAID