82
339
+ 1
21

What is Knative?

Knative provides a set of middleware components that are essential to build modern, source-centric, and container-based applications that can run anywhere: on premises, in the cloud, or even in a third-party data center
Knative is a tool in the Serverless / Task Processing category of a tech stack.
Knative is an open source tool with 5.5K GitHub stars and 1.1K GitHub forks. Here’s a link to Knative's open source repository on GitHub

Who uses Knative?

Companies
7 companies reportedly use Knative in their tech stacks, including Nando's Stack, jjjj, and Geniusee.

Developers
74 developers on StackShare have stated that they use Knative.

Knative Integrations

Google Kubernetes Engine, Google Cloud Run, Gravity, Otomi, and Octo CLI are some of the popular tools that integrate with Knative. Here's a list of all 5 tools that integrate with Knative.
Pros of Knative
5
Portability
4
Autoscaling
3
Open source
3
Eventing
3
Secure Eventing
3
On top of Kubernetes
Decisions about Knative

Here are some stack decisions, common use cases and reviews by companies and developers who chose Knative in their tech stack.

Currently been using an older version of OpenFaaS, but the new version now requires payment for things we did on the older version. Been looking for alternatives to OpenFaas that have Kafka integrations, and scale to 0 capabilities.

looked at Apache OpenWhisk, but we run on RKE2, and my initial install of Openwhisk appears to be too out of date to support RKE2 and missing images from docker.io. So now looking at Knative. What are your thoughts? We need support to be able to process functions about 10k a min, which can vary on time of execution, between ms and mins. So looking for horizontal scaling that can be controlled by other metrics, than just cpu and ram utilization, but more so, for example if the wait is over 5 scale out.. Issue with older openfaas, was scaling on RKE2 was not working great, for example, I could get it to scale from 5 to 20 pods, but only 12 of them would ever have data, but my backlog would have 100k's of files waiting.. So even though it scaled up, it was as if the distribution of work was only being married to specific pods. If I killed the pods that had no work, they come up again with no work, if I killed one with work, then another pod would scale up and another pod would start to get work. And On occasion with hours, it would reset down to the original deployment allotment of pods, and never scale up again, until I go into Kubernetes and tell it to add more pods.

So hoping to find a solution that doesn't require as much triage, to work with scaling, as points in time we are at higher volume and other points of time could be no volume.

See more

Knative's Features

  • Serving - Scale to zero, request-driven compute model
  • Build - Cloud-native source to container orchestration
  • Events - Universal subscription, delivery and management of events
  • Serverless add-on on GKE - Enable GCP managed serverless stack on Kubernetes

Knative Alternatives & Comparisons

What are some alternatives to Knative?
Kubeless
Kubeless is a Kubernetes native serverless Framework. Kubeless supports both HTTP and event based functions triggers. It has a serverless plugin, a graphical user interface and multiple runtimes, including Python and Node.js.
Kubernetes
Kubernetes is an open source orchestration system for Docker containers. It handles scheduling onto nodes in a compute cluster and actively manages workloads to ensure that their state matches the users declared intentions.
OpenFaaS
Serverless Functions Made Simple for Docker and Kubernetes
Fission
Write short-lived functions in any language, and map them to HTTP requests (or other event triggers). Deploy functions instantly with one command. There are no containers to build, and no Docker registries to manage.
Google Cloud Functions
Construct applications from bite-sized business logic billed to the nearest 100 milliseconds, only while your code is running
See all alternatives

Knative's Followers
339 developers follow Knative to keep up with related blogs and decisions.