One of the by-products of serverless's rapid rise to prominence has been a lack of standardization and interoperability among cloud providers. The resulting risk of vendor lock-in has left many enterprises looking on as the serverless revolution passes them by.
To bridge the gap, Google launched Knative, which it describes as an open-source framework that provides serverless building blocks for Kubernetes, at last year's Google Next event.
As a means of broadening serverless adoption, the project—jointly developed by Google, Pivotal, IBM, SAP, and Red Hat—made sense. Kubernetes is the container platform of choice, and a collection of vendors working together on the Knative project ensured that standards would be shared across different function-as-a-service (FaaS) implementations, increasing interoperability.
Knative v0.4 was just released, and the platform has garnered attention in the media. The time is right to take a more in-depth look. Here's what Knative does, how it changes the game for FaaS, and what organizations can realistically expect from it in the coming year.
Inside the Knative framework
Knative is a set of extensions to Kubernetes that allows you to build, run and operate microservices, functions, and containers using serverless traits, according to William Markito Oliveira, senior principal product manager at Red Hat, which includes Knative in its OpenShift platform.
Knative is built on top of Kubernetes, which serves as a battle-tested ecosystem for teams that want to run serverless on premises or on any cloud platform.
The Knative platform consists of three core components that mirror the function lifecycle:
- Build controls the process of taking developers' code in the form of functions, building \and packaging it as a container that can be deployed via Kubernetes.
- Serving deploys and runs these containers, and scales them up and down as needed by application functions.
- Events provide the inputs to a function or the outputs of a function, such as an API request, new data, or a change to system.
"By relying on a Kubernetes infrastructure, a team doesn't need to manage yet another distributed system in order to operate Knative. It can focus on delivering value on top of it, making it easier for developers to build applications that can scale without learning all of the intrinsic details of the platform."
—William Markito Oliveira
Making serverless an easier sell
The use cases for Knative aren't terribly different from other serverless platforms, said RSA chief architect and DevOps leader Daniel Barker. Processing data from IoT devices, running accessibility checks against your website, and performing regular tasks such as validating that security groups are configured properly are all common applications for Knative.
But the hope (and hype) is that Knative's simple framework, broad range of potential uses, and piggybacking on Kubernetes will hasten the democratization of serverless architectures and drive wider adoption.
"Knative is delegating a lot of the operational concerns of a traditional FaaS platform to Kubernetes, and that's no small feat," Red Hat's Oliveira said. Most production-ready FaaS platforms require some effort to operationalize at scale in on-premises environments, he said.
This problem may go away if you're using a hosted system, but even those would probably work better "if you'd stick to proven solutions and tools already built for Kubernetes to operationalize FaaS," Oliveira added.
Hype aside, most experts stressed that Knative is still an immature product that's not likely to penetrate mainstream enterprises en masse anytime soon. But Arijit Mukherji, CTO of SignalFx, said Knative does make it easier for organizations to dip their toe in the serverless pool with simple use cases, then gradually move on to more complex ones as their familiarity and expertise grows.
“I feel Knative actually simplifies the [serverless] experience, especially for developers, because they don’t have to worry about many of the peripheral concerns like build and packaging, and can focus on developing core functionality."
—Arijit Mukherji
Similarly for operators, if they are familiar with deploying and operating Kubernetes, then "there's not a huge amount of extra complexity brought on by Knative," Mukherji added.
Getting started with Knative
And that's the rub. If you're not running Kubernetes—and Istio, which Knative uses as its network routing layer—then you can't run Knative. That will make the bar too high for many organizations, RSA's Barker said. Similarly, if your original system can't handle a serverless architecture, you won't be able to reap the benefits of migrating to Knative.
If, however, your organization is already part of Team Kubernetes, Knative is easy to install and configure, said Barker, "Anyone can get started today on their laptop with just a few commands and some YAML."
As easy as it is to get started, "I wouldn't put it in production for anything critical," he cautioned. Luckily, applications built on these types of platforms are inherently resistant to failure, he added.
"If you're planning on using Knative soon, then you should go into it with the mindset of helping the project out and using your system to discover bugs."
—Daniel Barker
The platform already allows developers to build and deploy applications using multiple advanced technologies, Red Hat's Oliveira said. But he acknowledged that the main challenge now is around enhancing that developer experience with tooling, while the companies participating on the project test and solidify their APIs.
The future of FaaS?
It's too soon to say whether Knative definitively represents the next phase of serverless. Knative is one of many competitors in this space, RSA's Barker said, but competition breeds innovation.
Still, Barker does see Knative ultimately making an impact. "Knative will ultimately push serverless platforms toward a more modular, pluggable system with interoperability through CloudEvents," he said.
From his vantage point, SignalFx's Mukherji sees a bright near future for Knative, citing an increasing level of interest from both developers as well as the companies they work for.
He predicted widespread awareness, if not adoption, of the platform by the end of this year, and he expects to see some experimental projects spin up among early-adopter Kubernetes shops. These early experiments will influence the direction of Knative development, he said.
"I also expect to see cloud vendors form an opinion on Knative this year. While a common, vendor-neutral, serverless framework may not be in the best commercial interest of cloud service providers, greater adoption of serverless most surely is."
—Arijit Mukherji
Keep learning
Choose the right ESM tool for your needs. Get up to speed with the our Buyer's Guide to Enterprise Service Management Tools
What will the next generation of enterprise service management tools look like? TechBeacon's Guide to Optimizing Enterprise Service Management offers the insights.
Discover more about IT Operations Monitoring with TechBeacon's Guide.
What's the best way to get your robotic process automation project off the ground? Find out how to choose the right tools—and the right project.
Ready to advance up the IT career ladder? TechBeacon's Careers Topic Center provides expert advice you need to prepare for your next move.