Asia's Source for Enterprise Network Knowledge

Sunday, June 25th, 2017


The basics of serverless computing

The cloud, goes the old joke, is just someone else’s computer. That’s true; except that it’s a computer that’s probably better run and more frequently patched and better secured than yours, that you didn’t have to pay for, that you can rent by the second and that offers services that let you work at a much higher level than powering on a server and installing software on it yourself.

You may think of the cloud as being about scale and cost savings, but even more important are the abstractions it introduces: storage services and data services rather than hard drives, application services rather than virtual machines, software-controlled networks rather than physical cards and cables you have to connect. As cloud has moved from IaaS to SaaS to PaaS, adding monitoring, data analytics and machine learning as well as development frameworks and application services, the level of abstraction has kept increasing.

Serverless abstracts away infrastructure

IaaS abstracts away the physical data center, but it doesn’t take away all the infrastructure, points out Azure CTO Mark Russinovich. “You still have to pick the operating system, deploy the operating system, rightsize the virtual servers, configure the networking on the virtual servers, scale out the virtual server, figure out how to deploy software into the servers, update that software, monitor that software.…”

Even with PaaS, “most services require you to request a provisioning level with some sizing unit that can even be servers, and you’re still tasked with figuring out how many of those you need and how you can most efficiently use them, you have to worry about scaling. There are still tasks involved that are not directly related to what I really want to do, which is have my app serve requests.”

Serverless takes abstraction even further. Yes, your code still runs on servers — they’re just servers that you don’t have to care about.

Russinovich views serverless as “the next generation of computing, where everything is going to be driven because that's where the maximum value comes for an organization that wants to develop a solution, by not having to worry about all of these details that a platform can deal with for them.”

Serverless is event-based programming with micro-billing

If you find the name annoying, think of it as event-based programming or functions as a service. AWS Lambda is named for lambda functions (anonymous functions that can consume and create other functions), Microsoft’s equivalent is Azure Functions, and Google has Cloud Functions.