openwhisk-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From James Thomas <>
Subject Re: OpenWhisk Apps on Knative
Date Fri, 15 Mar 2019 12:06:00 GMT
My 2 cents (from a personal perspective - these views are my own and not my
employers yada yada)...

Despite the marketing hype, (at the moment) knative isn't a serverless
platform like openwhisk.

It's a Containers-as-a-Service platform (which scales from zero) than a
Functions-as-a-Service platform. It exposes lots of low-level plumbing to
the user, (scaling behaviour, k8s YAML, images), which is all hidden in a
serverless platform.

I think the description on their Github organisation makes more sense...

"Kubernetes-based platform to build, deploy, and manage modern serverless

Building primitives into k8s to make running serverless workloads easier
make sense. It doesn't necessary mean that developers will use these
primitives directly.

All the current open-source faas platforms (openwhisk, openfaas, kubeless,
fission, fn project..) have had to implement the same custom runtime
primitives on top of lower-level infrastructure services. Those services
(roughly) map to the knative projects (build, serving, events) being

If you follow Simon Wardley's work, you'll recognise this as a known
process as these components shifting from custom-built/product-rental to
commodity/utility on the technology evolution lifecycle.

In theory, Apache OpenWhisk adopting those knative primitives means we can
focus on higher-order systems and new innovations in the serverless space,
whilst leaving the lower-level plumbing to the downstream project.

Kelsey Hightower has regularly stated both k8s and knative are tools for
building platforms, not the platforms developers use.

There are lots of questions about knative that make things more


   Will knative stay as lower-level k8s primitives to run serverless
   workloads or move "up the stack" and starts to provide developer tools or
   frameworks for serverless apps? The former leaves a gap for openwhisk, the
   later less so much (in openwhisk's current incarnation).

   What is the governance model for knative? It is not in a foundation at
   the moment and currently (mostly) controlled by Google. Re-basing solely on
   knative comes with more of a risk until this is cleared up.

   Knative is still extremely immature, it's at like v0.4. The projects
   under the knative organisation, their APIs and goals might change
   substantially over the next 12-24 months.

On Thu, 14 Mar 2019 at 01:45, Carlos Santana <> wrote:

> I echo Dave’s words
> To add:
> OpenWhisk was born before Kubernetes was mainstream
> OpenWhisk took advantage at that time of Docker CLI and Docker Engine
> avoiding to re-invent the wheel.
> OpenWhisk was build and deploy using bash and ant at one point, then
> gradle, ansible, compose and later Helm
> Kubernetes has become mainstream and there are things that OpenWhisk do
> and is concerned today that could be delegated to Kubernetes or Kubernetes
> ecosystem tools and patterns such as Istio, CRD, Controllers, Operators,
> etc...
> Like Dave said OpenWhisk can still provide a a better developer experience
> to people that just want to build serverless applications and don’t have
> any interest on how the low level infrastructure, installation, deployment,
> or scaling layers work.
> Maybe it means additions to v1, maybe it takes a re-imagination as a v2,
> maybe it takes building on top of Knative, maybe takes integrating trigger
> providers in the form of native CRDs and Operators, or maybe fusing parts
> of both projects
> Like Dave said is up to the community and not a single person or single
> company
> - Carlos Santana
> @csantanapr
> > On Mar 13, 2019, at 9:17 PM, David P Grove <> wrote:
> >
> >
> > "Michele Sciabarra" <> wrote on 03/13/2019 04:08:15
> > PM:=
> >>
> >> So, is the focus of the project shifting on Knative? Dropping the
> >> current invoker and controller, keeping the runtimes and run them
> >> with Knative?
> >>
> >
> > My 2 cents as an individual is that there is quite a bit of value in
> being
> > able to program against the OpenWhisk programming model and its runtimes
> in
> > a more Kubernetes-centric world.
> >
> > I think it is still an open question what the best underlying runtime
> > system for that programming model is (and even if there is a single best
> > runtime system that spans all the possible scenarios in terms of scale,
> > multi-tenancy, etc.). As a system researcher, one of the best ways I know
> > to explore that question is to be able to run the exact same
> > program/workload on multiple runtime systems under different scenarios
> and
> > measure what happens.
> >
> > Our current runtime system probably does need to evolve to better exploit
> > Mesos/Kubernetes (eg Tyson's recent PR).  Kubernetes itself is likely to
> > evolve to better support FaaS-style workloads so we will be able to have
> a
> > thinner OpenWhisk-specific layer.  I don't think we should expect every
> > runtime system design decision we have made to hold constant as
> technology
> > evolves around us.  But the system-level OpenWhisk runtime could
> completely
> > change without any disruption to the user-level programming model and
> > developer tooling.   For example, IBM Cloud Functions switched from a
> > "classic" ansible-driven VM-based deployment to a Kubernetes-based
> > deployment of OpenWhisk in the middle of 2018.  None of our customers
> > noticed or cared (from their perspective nothing changed and all their
> > existing programs still run just fine).
> >
> > Finally, the focus of this project is where the community takes it. We
> can
> > even go multiple directions simultaneously. That's how open source works
> :)
> >
> >
> > --dave

James Thomas

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message