Empowered developers, cost savings drive serverless computing adoption
Serverless computing is still in the early stages for most enterprises, which have to juggle the computing platform's merits against other abstractions such as containers and virtual machines.
With the cloud a part of everyday IT discourse, the question for many IT managers is, "what's next?"
Reinforced by software innovation and the empowerment of developers in the enterprise, serverless computing has turned into one of the "hottest" things in computing, according to Arun Chandrasekaran, speaking at the Gartner Symposium/ITxpo in Orlando, Florida in October.
Developers spend 30% to 40% of their time working on or waiting for infrastructure; and serverless computing allows them to turn their attention elsewhere, he said. Serverless computing serves as a bridge between infrastructure as a service and platform as a service, making operations and management invisible to the user and allowing them to pay and scale as they go.
Serverless computing is still in the early stages for most enterprises, which have to juggle the computing platform's merits against other abstractions such as containers and virtual machines. Early adopters are reaping many rewards, but misunderstanding what the technology is and what it can bring prevails.
The technology is still a bit of a misnomer, often confused with platform as a service, Chandrasekaran said. The operations — provision and management — are completely abstracted away from the user, but servers are still used in the background
It's also more than just compute: It's quasi-platform as a service, provisioning more than the compute power underneath, he said. It is distinct from PaaS because in a PaaS environment the user is still responsible for scaling, which is abstracted in serverless computing.
Where the technology is today
Convincing developers to invest in serverless computing can be a challenge.
People working on serverless computing are excited about the space, but the challenge for many providers is that in the rest of the market, "people don't really care" and aren't "particularly impressed or enamored" yet, said Tom McLaughlin, founder of ServerlessOps, in an interview with CIO Dive.
The market is expected to hit $7.7 billion in the next three years, with major cloud providers vying for the lead. By some estimates, Amazon Web Services has a dominant 58% of market share, but competitors are gunning for it.
Google Cloud Platform has seen especially quick growth in its serverless Cloud Functions platform, which has surpassed Microsoft Azure Functions as platform of choice for customers 23% to 10%, according to CB Insights data.
IBM Cloud Functions is another popular platform in the public and private cloud. Top private cloud platforms also include Azure Functions Runtime, Nuclio, OpenFaaS and Knative, although the full benefits of serverless computing won't be reaped in an on-premise environment, however, according to Chandrasekaran.
Businesses that find valuable applications for serverless computing are reaping benefits of resource and cost optimization. It is helping customers use data in ways they haven't before and building new ways of supporting customers, according to Michael Behrendt, distinguished engineer and chief architect of serverless and event-driven apps at IBM, in an interview with CIO Dive.
But successful implementation also demands mitigating the friction that emerges with new technology implementation.
There will be disruption in operations, but that disruption can be a good thing, according to McLaughlin. Serverless breaks the lift and shift model, which helps enable DevOps.
Many companies today that haven't fully embraced cloud or DevOps are "leap frogging" to serverless computing. Making the move to public cloud could take several years, and three to five years later a company could once again find itself behind. So some customers are just moving straight to containers or serverless, he said.
Evolution of computing abstractions
Customers aren't facing a strict tradeoff between on-premise, cloud and serverless computing. There is a series of computing abstractions available, each of which are suited to particular workloads.
Physical servers are a good fit for the business when it needs low latency, deterministic performance or isolated workloads — the latter of which is often required for security, compliance or licensing, according to Chandrasekaran.
While still popular for legacy apps, edge computing, high performance computing and big data applications, demand for physical servers is "waning with every passing day," and many of these applications will skip a generation and move to containerized or serverless environments.
|Abstraction||What is virtualized||Unit of scaling||Life span||Operational costs||Provider lock-in|
|Hypervisors||Hardware||Virtual machine||Days - months||High||Medium - high|
|Containers||Operating System||Applications||Seconds - minutes||Medium||Low|
|Serverless||Runtime||Functions||Milliseconds - seconds||Low||High|
Hypervisors, or virtual machines, are a mainstay for many enterprise workloads, but there tends to be a lot of sprawl as well as higher costs of ownership, especially through maintenance, Chandrasekaran said.
Containers and serverless have more operational control, but quality isn't "baked in" like with hypervisors.
Containers are popular for testing and development because the code can run in a consistent manner without having to be written multiple times. Containers are well suited for legacy workloads and cloud-native apps as well as licensing on per-node bases, Chandrasekaran said. They can spin things up quickly for agile workloads, but they are still immature, especially from an enterprise functionality standpoint.
Serverless is beneficial for the pay-as-you-go cost efficiency, scalability, operational simplicity, efficient resource utilization and increase in developer productivity. It also blends well with microservices architecture.
But it's not perfect: There are latency challenges, vendor lock-in risks, a lack of ecosystem support and platform capabilities as well as weaker debugging and monitoring, according to Chandrasekaran.
Serverless computing focuses on fast execution of stateless, self-contained units of logic, so the user also has to accept the operating system given by the platform, according to Behrendt. If a user needs to use Windows OS but the serverless platform offers Linux, that application wouldn't be suited and the user might then have to drop down to a container or VM platform.
It's about the tradeoff between the convenience of a platform where the user doesn't have to care about a lot of things versus the control offered by a lower level.
Where to go from here
There has been a huge uptick in serverless computing over the last two years, but the technology is still in the early stages in regards to enterprise adoption.
In the coming year, serverless computing will broaden in scope and be useful for more workloads than it is today, according to Behrendt, and deficiencies in areas such as runtime and memory will lessen or disappear entirely.
As the space develops, more companies will focus on products that are less developer-focused, helping to change the perception and conversation around the technology, according to McLaughlin.
CIOs and technology managers should have a serious conversation about what capabilities and advantages serverless computing can bring to their organization, and if the investment risks can be justified.
"Start small, but start fast," Behrendt said. Build experience with a small piece of a function, then incrementally broaden the applications using serverless. There's a lot of precedent of customers running workloads on serverless computing, so it doesn't have to be starting from complete scratch.
Businesses also need to train in cloud IaaS and PaaS environments and ensure that developers understand cloud native design principles.
Cloud native applications are stateless and services are loosely coupled, so application units are independent. This means that in containers and serverless computing, developers think about the instance instead of the infrastructure, according to Chandrasekaran.
Business need to identify event-driven use cases with isolated and independent applications. If virtual machines are already in use, pinpointing use cases from there to shift can drive immediate cost savings.
Correction: A comment about challenges to serverless adoption in the enterprise has been updated to reflect Tom McLaughlin was referring to developers, not management.
Follow Alex Hickey on Twitter