- Author: Klint Finley
The Promise of (Practically) ‘Serverless Computing’
- Author: Klint Finley
The Promise of (Practically) ‘Serverless Computing’
The definition of cloud computing may be nebulous, but its promise is clear. Instead of filling a warehouse with servers and paying people to manage them, a company can pay a cloud computing provider to provide computing resources on demand and pay only for what it actually uses.
This prospect lured organizations ranging from startups to massive corporations to stodgy government agencies onto cloud offerings from Amazon, Google, Microsoft, and others. Those now well-established services might save companies from buying and managing physical servers, but they don't quite deliver on the dream of paying only for what you use.
Services like Amazon’s EC2 still require you to select—and pay for—a specific amount of computing resources, including memory and network capacity. You can dial those resources up or down as demand for your web application changes. But that might still leave you with less computing power than you need for a sudden or unanticipated spike in traffic, leaving your app less responsive to users. So, many cloud customers agree to pay for more resources than they routinely need.
Worse, these virtual servers still require customers to do a lot of real maintenance, says Donald F. Ferguson, the cofounder and CTO of video-streaming company Seeka TV and a professor of computer science at Columbia University. For example, customers still need to install security updates, and test them to make sure they don't break existing features. Ferguson, who spent decades as a software architect for companies including Dell and Microsoft and helped create IBM’s application server WebSphere, says this consumes more time than you might think. "For most projects, we'd spend 20 percent of our time managing cloud environments," he says.
That's why Seeka TV relies on a burgeoning approach to cloud computing that eliminates virtual servers. The idea goes by the paradoxical name of "serverless computing." So-called "serverless" services do actually rely on servers. The difference is that users don't manage the servers. Instead of renting and managing virtual servers, simply upload the code you want to run, or the data you want to store, and pay for the resources you actually use. For the developer, the server is practically invisible.
Ferguson says about 99 percent of Seeka TV's code runs on serverless platforms. That’s reduced the time spent managing the cloud environment to practically zero, he says.
It’s not just startups using serverless. Motorola Solutions uses serverless computing for some of its work with law enforcement and public safety customers, says executive Andrew Sinclair. "Serverless functions allow us to spend more time on developing new features and less time on provisioning and managing servers," he says.
Cloud management company Cloudability saw a nearly seven-fold increase in serverless usage among its customers in the last quarter of 2017, compared with the prior quarter, according to a report the company released earlier this year. "Everybody knows about serverless, and everyone is thinking about where to use it," says Craig Lowery, research director at industry analysis firm Gartner.
'Function as a Service'
Serverless computing has been around for years, but only recently has it become viable to create entire applications based on it. Over the past decade, programmers have shifted more of the code for running applications from servers to either your phone or your browser. Many developers would prefer not to maintain servers for the few things that can't run on the user’s device, like data storage and password authentication. The earliest serverless services, which were designed to handle specific tasks, helped developers outsource these sorts of things. Amazon's storage service S3, for example, allows you to upload data without worrying about how many servers it's stored on, and only pay for what you use. Twilio offers a service that lets developers use its computing infrastructure to send text messages to users, without installing or configuring specific servers. A newer service called Auth0 handles tasks like password verification.
The first wave of serverless computing proved popular with app developers, but developers still needed traditional servers for a lot of their custom code. That changed in 2014 with the launch of "function-as-a-service" offerings like Hook.io and Amazon Lambda, which enable developers to upload small chunks of their own code, and pay only for the computing resources that code consumes. That made it possible for companies like Seeka TV to rely almost exclusively on serverless computing.
Relying on serverless computing presents challenges. For one, developers must write software differently than if they planned to run an application on a desktop or traditional cloud service. And some services, including Amazon Lambda limit the size of a code package, meaning developers of large applications must divide them into pieces. That’s complicated for existing applications, so serverless is more suited for creating new applications that are built with this sort of modularity in mind.
Performance can also be an issue for serverless computing. A traditional, server-based application typically runs non-stop, ready to answer any query from a user. But services like Lambda stop running code that isn't in use and only load it back into memory when it's needed. That can slow response time for users. Additional delays develop as different serverless components communicate with one another over a network. Sinclair says Motorola Solutions shies away from serverless computing for applications that need quick responses after lengthy periods of inactivity.
That means there will always be a market for more conventional cloud computing services, says Mango Capital founder Robin Vasan, who has invested both in serverless companies like Netlify and companies that offer tools for managing more traditional cloud services. "I think serverless is the future, but it's not the future for everything," he says. "Not every function should live in a serverless framework."
Ferguson admits that serverless computing isn't right for every problem, but says the sorts of performance issues that Vasan describes are rarely a problem for Seeka TV. Its code is used often enough that Amazon Lambda rarely, if ever, has to shut it down.
Meanwhile, an ecosystem of tools is emerging to help with the challenges of serverless computing. Motorola Solutions uses a service called Twistlock to monitor security of its serverless code, for example.
Lowery and Ferguson liken serverless computing today to "object-oriented programming," which made it easier for software developers to reuse code, in the 1980s. It took time for developers to learn the new approach, and for the tools and other resources to mature. By the 1990s, though, it became the default, but not exclusive, approach to programming. They think serverless will follow a similar path.
"Any application that can be made serverless, will be made serverless," Lowery says. "If it won't work as serverless, then you'd look at other options."
Ferguson's students are already there. He still teaches students to build software using methods other than serverless computing. "But it feels like I'm punishing the students," he says. "Because serverless is so much easier."
More Great WIRED Stories
- This genius neuroscientist might hold the key to true AI
- Luxuriate in this teardown of a 1974 Harley Davidson
- Lock down what websites can access on your computer
- What a school bus schedule can teach us about AI
- PHOTOS: The scrap yards sending copper to China
- Get even more of our inside scoops with our weekly Backchannel newsletter
Related Video
How Apple's iPhones Change the Smartphone Market Every Year
The launch of Apple’s iPhone X brought face recognition, animoji, and the notch into the mainstream.
More Stories
- Issie Lapowsky
Facing UK Regulation, Big Tech Sends a Lobbyist to London
- Louise Matsakis
Amazon’s HQ2 Hunger Games Are Over, and Jeff Bezos Won
- Mark Harris
If You Drive in Los Angeles, the Cops Can Track Your Every Move
- Tom Simonite
The DIY Tinkerers Harnessing the Power of Artificial Intelligence
- Tim Wu
How Google and Amazon Got Away With Not Being Regulated
More business
- protests
Where Did the 'Freedom From Facebook' Campaign Come From?
Author: Louise Matsakis
- Foggy Outlook
What Diane Greene's Departure Means for Google Cloud
Author: Tom Simonite
- The Know-It-Alls
What Is a Bot?
Author: Paris Martineau
- Vaping
Juul Can Breathe After Dodging Full Ban on Flavored E-Cigs
Author: Nitasha Tiku
- News Feed
Facebook Moves to Limit Toxic Content as Scandal Swirls
Author: Issie Lapowsky
- Data Hygiene
Google's Past Data Use Could Impede Health Care Push
Author: Tom Simonite
We Recommend
Has Silicon Valley Lost Its Soul? The Case for and Against
- Nicholas Thompson
6 Questions From *The New York Times*' Facebook Bombshell
- Louise Matsakis
Why Amazon’s Search for a Second Headquarters Backfired
- Tom Simonite
This US Firm Wants to Help Build China’s Surveillance State
- Nitasha Tiku
Juul Pledges Big Changes, but the Impact May Be Small