While interest in serverless computing frameworks is rising sharply, the risk associated with being locked into proprietary architectures or investing in a framework that ultimately dies on the vine due to a lack of industry support is a major concern for most IT organizations.
To help alleviate those concerns, providers of cloud computing services and platforms such as IBM, Pivotal, Red Hat and SAP are embracing Knative, a set of open source, reusable middleware components developed by Google for Kubernetes clusters for creating workflows, routing and managing traffic during deployment, auto-scaling your workloads, and binding running services to an event-driven architecture that is at the core of any serverless computing framework.
Serverless computing frameworks, also known as function-as-a-service (FaaS), make use of event-driven architectures to create a layer of abstraction based on containers that eliminates the need for application developers to be aware of server constraints when building an application. When additional resources are required, a developer creates a function that calls a stateless set of compute functions that are made readily available. Functions are self-contained modules of code that accomplish a specific task. Once a function is written, it can be reused multiple times. That approach creates an additional layer of abstraction that makes it possible to inject a level of parallelization into so-called cloud-native applications running on top of a Kubernetes platform, says Reza Shafii, vice president of platform services for OpenShift at Red Hat.
“You don’t need to know Kubernetes is running,” says Shafii.
In theory, an entire stateless application could be developed using functions that would then be executed on a serverless computing framework. On a practical level, functions are too granular a construct for building applications. Most IT organizations would not have the processes required to manage all the functions that would be required to build an entire application. It’s also worth noting that most enterprise IT applications are stateful in that they require access to persistent data residing in a storage system. Many stateful applications are now being built using containers that invoke functions as a child process whenever a stateless serverless computing service can be employed to process a specific task. The irony is that containers such as Docker were originally employed mainly to run stateless applications. But as usage of containers continues to mature, organizations are expected to increasingly rely on containers for stateful applications, while relying more on serverless computing frameworks to process stateless workloads.
In fact, a report published this week by Zion Market Research estimates the size of the global market for serverless architectures will reach $18 billion by 2024, representing a compound annual growth rate of 27 percent on a base of $3.5 billion in 2017.
The serverless computing framework most widely employed today is Lambda from Amazon Web Services (AWS). First launched in late 2016, AWS Lambda is a proprietary serverless computing framework that AWS makes available as a managed hosted service. As serverless computing has become more widely accepted by IT organizations, AWS rivals are now racing to catch up in a segment of the cloud computing market in which AWS once again established an early lead. By throwing their collective weight behind Knative middleware, Google, IBM and Pivotal are making a case of being able to invoke multiple serverless computing frameworks without having to become locked into a specific service.
That’s crucial because each cloud service provider has embraced different serverless computing frameworks, such as Google Cloud Functions, available as a service on the Google Cloud Platform, and Azure Functions and nuclio on the Microsoft Azure cloud. Oracle, meanwhile, is trying to advance an open source Fn Project that it developed for the Oracle Cloud Platform, while IBM supports a rival open source serverless computing framework known as OpenWhisk.
Like most cloud service providers, however, IBM enables customers to deploy their own serverless computing framework or employ a managed service. Knative middleware is important because there are over 35 different types of serverless computing frameworks, says Jason McGee, vice president and CTO for the IBM Cloud.
“It’s very fragmented,” says McGee.
In fact, McGee contends that as cloud computing becomes more varied and complex, more organizations will conclude that it’s simpler to rely on managed services providers to manage all the underlying cloud infrastructure on their behalf.
That increased level of diversity is why Pivotal is also throwing its support behind Knative, says James Watters, senior vice president of strategy for Pivotal. Project riff, an open source initiative to add tooling to Knative middleware, is at the core of a Pivotal Function Service (PFS) that can be deployed in a cloud or in an on-premises IT environment running an instance of Kubernetes container orchestration software. Pivotal expects to see IT organizations embrace both microservices-based applications based on Kubernetes and serverless computing frameworks alongside existing platform-as-a-service (PaaS) environments running 12-factor applications, says Watters.
“IT organizations are going to be pragmatic,” says Watters.
But not everyone necessarily agrees that Knative is the best way to achieve that pragmatism. Because of concerns about needing to compete with AWS, vendors are rushing to embrace Knative middleware developed by Google with not enough input from the rest of the open source community, cautions Alex Ellis, a senior staff engineer at VMware who is the author of OpenFaaS, a framework for building serverless computing functions using Docker containers running on Kubernetes clusters. Serverless interoperability goals can be achieved at a much lower level, says Ellis. In fact, Ellis worries that Google is exerting too much influence over conference agenda in the Kubernetes community to advance offering such as Knative and Istio, an instance of a services mesh for integrating microservices.
“Google is trying to exercise a lot of influence through marketing,” says Ellis.
It may be a while before a handful of serverless computing frameworks finally emerge as de facto standards. But the one thing that is clear is that serverless computing frameworks are emerging as critical aspects of any cloud computing strategy. The challenge now is how best to take advantage of any of those frameworks without waking up one day to discover the IT organization either bet on the wrong framework with no way out, or worse yet, is dependent on a proprietary framework that makes the IT organization wholly dependent on a single cloud service provider.