Share this post:
Today, in collaboration with Google Cloud and the open community, we are one step closer to ending the serverless versus containers debate among developers.
We’ve long been of the belief that developers shouldn’t have to choose between the two when building a new app on the cloud. Ideally, the consistency and availability of containers should be augmented with the powerful scaling and on-demand access to the cloud that serverless provides.
This is why we’ve teamed with Google Cloud and the open community to build Knative, a new open source project that provides the building blocks for serverless platforms to run on top of Kubernetes. Knative provides serverless capabilities with a Kubernetes-native foundation and broadens the spectrum of applications that can take advantage of the real-time cloud access, minimal infrastructure concerns and scale that serverless architectures offer.
Ultimately, we anticipate Knative becoming a foundational component for serverless architectures that can take advantage of all types of cloud-native tools. For example, Knative could one day enable a developer to use Apache OpenWhisk to orchestrate all parts of a cloud app in a serverless fashion, such as running both containers and functions-as-a-service events, all on-demand and on an as-needed basis. This could drastically expand the scope of how serverless tools such as OpenWhisk can be used, evolving beyond functions into a complete foundation for full-scale apps in production.
Battle-tested serverless technology
As active contributors to Knative, we supplied our experiences building OpenWhisk, the serverless incubator project we donated to the Apache Foundation in close partnership with tech leaders such as Adobe and RedHat.
While building OpenWhisk, we’ve been using its same codebase as the core of our commercially offered serverless tool: IBM Cloud Functions. The lessons we’ve learned from implementing serverless architectures for clients has helped us to improve and harden OpenWhisk at the same time, making it one of the few – if not the only – open serverless projects that has been battle-tested in big production environments. This large-scale expertise is critical for Knative to mature in this same way, and will open up the door for it to serve as an orchestration and routing layer underneath serverless technologies such as OpenWhisk.
When we began our journey with serverless, we quickly recognized that a common concern is the potential vendor lock-in it can generate. This is why we believe the implementation of serverless runtimes should be done in the open and why we rapidly donated OpenWhisk to the open community. Besides avoiding vendor lock-in, open development brings the strengths of technology leaders together and spurs the creation of what’s needed most to solve developer challenges.
“IBM’s deep expertise helping businesses build with serverless, and extensive experience with open technologies such as Kubernetes, Istio and OpenWhisk makes them an ideal partner to provide real-world leadership and hands-on contributions to Knative,” said DeWitt Clinton of Google Cloud.
The launch of Knative is just the beginning. We see many opportunities with this project, and we plan to continue contributing our talent and resources to it. We will evolve how Knative can be used with OpenWhisk and expand how companies can use it as the base for their apps. Below is how we envision OpenWhisk, Knative and Kubernetes building on top of each other:
Development in the open
Besides our activities in the serverless space, we’re extremely active in other areas of the open community redefining how cloud platforms are built, including containers. We are strong contributors to and operators of Kubernetes and the projects spurred by its ecosystem. We defined and founded the Istio project with Google Cloud. Our work to build open innovation has grown our IBM Cloud Kubernetes Service into a way for companies around the world to build with containers with the right mix of performance and security that works best for them. As open projects such as Knative continue to grow, we’re exploring different ways to evolve how containers can be used in tandem with these emerging technologies even further.
To help our users to gain their first hands-on experience around Knative, we created instructions on how to setup Knative on the IBM Cloud Kubernetes service. Give it a try and get involved with Knative.
Note: Statements regarding the future direction of IBM and intent are subject to change or withdrawal without notice, and represent goals and objectives only.