openwhisk-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ben Browning <bbrow...@redhat.com>
Subject Knative, Kubernetes, and Apache OpenWhisk
Date Wed, 25 Jul 2018 01:28:59 GMT
The Kubernetes serverless space just got a lot more interesting with
the public announcement of the Knative open source project from Google
- https://github.com/knative/

The Knative docs (https://github.com/knative/docs) and this Hacker
News thread (https://news.ycombinator.com/item?id=17602377) provide
more context on what Knative is and who the target audience is.

Essentially, Knative is a set of building blocks that can be used to
create a serverless platform on top of Kubernetes. It's not something
intended to be used directly by serverless developers but instead
integrated into other projects and vendor platforms.

Several OpenWhisk contributors are involved in Knative, as are
contributors from a number of other projects in the Kubernetes
serverless space. I believe we're going to see the combined knowledge
of all Kubernetes serverless projects end up in these common building
blocks. And this combined community will improve the serverless
experience on Kubernetes for all that layer on top of it.

So, to that end, I'd like to open a discussion on whether and how we
should rearchitect OpenWhisk to take advantage of Knative.


To kick things off, here's my personal opinion:

Kubernetes has won the container orchestration battle. Knative builds
on top of Kubernetes and will make Kubernetes the best place to build
serverless platforms. Apache OpenWhisk should go all-in on Knative and
Kubernetes. We should become the best serverless platform that can be
deployed by any cloud provider or company in their own datacenter.

We should take the best parts of the OpenWhisk server-side components
and get those concepts and knowledge, even if not the direct code,
into Knative. OpenWhisk has a lot of real-world knowledge around
container pooling, load-balancing, warm and pre-warm containers, etc
that Knative will need.

Then, we should take the OpenWhisk client tools and extend them to
work not just with functions and containers but also more traditional
applications. Knative brings the concept of event-driven autoscaling
to more than just functions and we should embrace that. We should also
integrate Knative's concept of Builds into OpenWhisk client tools,
which fills a gap we have today.

Finally, we need to reach out to other serverless projects and figure
out how we can work together. There's going to be a lot of overlapping
and wasted effort in OpenWhisk, Riff, Kubeless, Fission, OpenFaaS, and
so on all competing on the developer experience when we're all running
on top of Kubernetes and Knative. OpenWhisk is already at the Apache
Foundation which makes us a natural vendor-neutral choice for a
combined effort.


So, discuss!

Ben

Mime
View raw message