Serverless computing: Ready or not?

Like any disruptive technology, serverless computing is surrounded by plenty of hope and hype. Getting at the truth and deciding if the technology is right for your organization requires an objective attitude and careful planning.

binary code vortex

Until a few years ago, physical servers were a bedrock technology, the beating digital heart of every data center. Then the cloud materialized. Today, as organizations continue to shovel an ever-growing number of services toward cloud providers, on-premises servers seem to be on the verge of becoming an endangered species.

Serverless computing is doing its share to accelerate the demise of on-premises servers. The concept of turning to a cloud provider to dynamically manage the allocation of machine resources and bill users only for the actual amount of resources consumed by applications is gaining increasing acceptance. A late 2019 survey conducted by technical media and training firm O’Reilly found that four out of 10 enterprises, spanning a wide range of locations and industries, have already adopted serverless technologies.

Don’t be misled, however. Despite its name, serverless computing still relies on servers. "Serverless computing is really running on a server, but your cloud provider provisions the services as needed; you don’t own the virtual server or app service," says Joe Wilson, owner of Volare Systems, a serverless-software developer. In essence, serverless is an application-deployment architecture that enables developers to write code and then execute it on-demand.

Serverless is not just a technology, but an entirely new way of viewing fundamental IT operations. "A major benefit of serverless is that it forces you to think about designing your systems in a cloud-native way," says Brent Austin, senior architect of cloud platform strategy at Liberty Mutual Insurance. "If you think about designing applications with a serverless-first mindset, you’re more likely to implement a cost-effective, scalable, and resilient architecture, without being bound by specific technical choices within that system."

Where to use serverless computing

Serverless computing can be deployed in an almost unlimited number of ways. Many use cases focus on relatively simple needs, such as webpage apps, which are now commonly coded in serverless, says Miha Kralj, managing director of cloud strategy, architecture, and delivery at professional-services firm Accenture. "Because serverless platforms automatically scale up when needed, simple applications can be quickly developed without having to worry about the complexities of infrastructure."

Serverless excels in the coordination of different application systems. "Serverless computing is ideal for detecting [an] event and informing another application or system, for example when changes in a database will trigger code change or a security review," Kralj says. "Serverless can be a great way to create these sorts of automated workflows between systems."

Serverless can also be a good choice for "bolt-on" needs, Kralj says.

To continue reading this article register now