Trend watch: Serverless computing
So what is it?
In a nutshell, serverless computing is a cloud model whereby businesses rent servers, but the maintenance is entirely outsourced to the provider. Security and updates are managed by the host. You pay for what you use. The best known providers include Amazon Web Services’s Lambda, Microsoft Azure Functions and IBM OpenWhisk.
If the concept sounds rather familiar to the traditional cloud model, well it is. But serverless takes outsourcing and pay-as-you-use to an extreme. Richard Munro, chief technologist at VMware cloud services in Europe, the Middle East and Africa, points out: “Even in the world of cloud famous for pay-as-you-use ideas, the reality is that a lot of resources are switched on ready for a set of functions to execute, regardless of whether they do or do not, because the application is running.
“With serverless, the only things processing, and therefore billed, should be when functions are actually being called and executing, such as when a user actually uploads an image file.”
Peak loads are easier to manage. Lisa Heneghan, head of CIO advisory at KPMG, offers this simple explanation: “If a business uses 50 servers most of the time and up to 80 servers at peak times, a traditional on physical server model may see the business paying for up to 100 servers, all day and every day, to make sure that it meets peak capacity and have contingency.
“Traditional cloud computing allows the business to pay for what it uses. In this case, the 50 servers all day, every day, plus 30 servers or more when required. Serverless computing goes one step beyond. Rather than paying by server per hour, businesses only pay for the resources that they use per transaction, which may constitute just a fraction of a server for a fraction of a second.”
In a serverless world, I no longer need to worry if one person or one million people press a button at the same time
The versatility of serverless makes it ideal for companies with sales surges or startups with unpredictable demand. Rufus Grig, chief technology officer of Maintel, says it’s great for mobile app developers as demand can be managed.
“In a serverless world, I no longer need to worry if one person or one million people press a button at the same time,” he says. “Serverless cloud provides immense scale. Likewise, if an app performs poorly one month, the creator is not left out of pocket.”
The disadvantages? Excessive usage can trigger hefty bills. An app which goes viral without a billing strategy in place could cause a headache. There’s the issue of control. Delegating management of the servers to a third-party provider eliminates the ability to audit and monitor usage, to debug and check security. This worries some companies and regulators may not approve of serverless data hosting.
Lee Atchison, senior director at analytics platform New Relic, warns: “Each service provides a different and unique method for offering serverless computing. This means that an IT professional who wants to take advantage of serverless computing will find they are locked into a single cloud service provider to a greater degree than if they use more standardised traditional server-based computing.”