Today's top stories

Serverless computing: the basics

The latest cloud buzzword sounds like an oxymoron; it’s actually a new programming model that abstracts away even more complexity and offers great economics — in the cloud or even on your own servers. Here's what savvy CIOs need to know.

Become An Insider

Sign up now and get FREE access to hundreds of Insider articles, guides, reviews, interviews, blogs, and other premium content. Learn more.

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.”

To continue reading this article register now