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," observes 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 web page apps, which are now commonly coded in serverless, reports 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 notes. "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. "When a client has a large or complex solution but needs to add a capability of one sort or another, serverless can be ideal." For example, instead of opening a large application to insert a simple function, such as adding a customer record from a new source, a serverless function can be easily created to capture the new input and call the application's API. "A quick, painless and reliable approach" Kralj says.
Cost benefits of serverless computing
By nature, serverless computing architectures tend to be more cost-effective than alternative approaches. "A core capability of serverless is that it scales up and down to zero so that when it’s not being used you aren’t paying for it," Austin advises.
With serverless technology, the customer pays for consumption, not capacity, says Kevin McMahon, executive director of mobile and emerging technologies at consulting firm SPR. He compares the serverless model to owning a car versus using a ride-sharing service. "Prior to ride sharing, if you wanted to get from point A to B reliably you likely owned a car, paid for insurance and had to maintain it," he explains. "With ride-sharing, you no longer have to worry about the car, you can just pay to get from A to B when you want—you simply pay for the job that needs to be done instead of the additional infrastructure and maintenance."
Serverless computing can also help adopters avoid costs related to the overallocation of resources, ensuring that expenses are in line with actual consumption, observes Craig Tavares, head of cloud at IT service management company Aptum. Additionally, by segmenting applications into simple, purpose-driven functions, they can be quickly and cheaply deployed and distributed within the cloud. "Increased velocity in the development cycle also improves go-to-market, thus enabling organizations to focus on continuous improvements and customer satisfaction," Tavares adds.
Thanks to pay-per-use pricing, there is no uptime cost, says Tim Growney, CTO of Medinas, which operates a marketplace for pre-owned medical equipment. "Your mileage will definitely vary depending on your use case, but I can say for my company ... we will typically never fall outside of the AWS free tier, making our Web hosting costs almost zero."
Does serverless impact IT workload?
Serverless computing can lighten IT workloads in several ways, most noticeably by freeing staff from routinely managing server performance, reliability, maintenance and security tasks. "The need to implement health checks to ensure application uptime, managing the underlying OS in regard to applying the latest security patch, or ensuring the underlying infrastructure has been provisioned with enough capacity to handle peak workloads are all things that are essentially handled for you by the serverless platform," Austin says.
Read more on the next page...