Need advice about which tool to choose?Ask the StackShare community!

Knative

82
336
+ 1
21
Kubeless

39
192
+ 1
0
Serverless

1.3K
1.2K
+ 1
26

Knative vs Kubeless vs Serverless: What are the differences?

Key differences between Knative, Kubeless, and Serverless

Knative, Kubeless, and Serverless are popular tools in the domain of serverless computing. Despite some similarities, they have key differences. Here are six essential differences between these platforms:

  1. Deployment: Knative allows developers to deploy both containerized and non-containerized workloads, offering more deployment flexibility. Kubeless, on the other hand, is specifically designed for deploying functions to Kubernetes clusters. Serverless frameworks, like AWS Lambda or Azure Functions, are typically suited for hosting functions as a service in cloud environments.

  2. Scaling: Knative offers a more advanced scaling mechanism compared to Kubeless and Serverless frameworks. It automatically scales containers based on incoming request traffic and utilizes Kubernetes' Horizontal Pod Autoscaler. Kubeless has built-in scaling capabilities for function-based workloads, while traditional Serverless frameworks rely on the provider's scaling infrastructure.

  3. Eventing: Knative provides built-in eventing support, allowing developers to easily create and consume events within their applications. Kubeless has limited support for event-driven architectures, usually relying on Kubernetes events or additional eventbus integrations. Serverless frameworks provide event triggers to execute functions in response to specific events, making them suitable for event-driven scenarios.

  4. Language Support: Knative has broader language support, allowing developers to write functions in various languages and runtimes. Kubeless also supports multiple languages, but the available runtimes may be more limited. Serverless frameworks often have a vast array of supported languages, depending on the provider's offering.

  5. Monitoring and Observability: Knative offers comprehensive monitoring and observability features, including integration with popular observability tools like Prometheus and Grafana. Kubeless provides basic monitoring capabilities, while Serverless frameworks usually have their own monitoring and logging solutions, like AWS CloudWatch or Azure Monitor.

  6. Portability: Knative, being built on top of Kubernetes, offers better portability across different environments. Kubeless is tightly integrated with Kubernetes, which provides portability within Kubernetes clusters. Serverless frameworks are tied to specific cloud providers, making it harder to switch between platforms.

In summary, Knative provides more deployment flexibility, advanced scaling mechanisms, built-in eventing, broader language support, comprehensive monitoring, and better portability compared to Kubeless and traditional Serverless frameworks.

Decisions about Knative, Kubeless, and Serverless

When adding a new feature to Checkly rearchitecting some older piece, I tend to pick Heroku for rolling it out. But not always, because sometimes I pick AWS Lambda . The short story:

  • Developer Experience trumps everything.
  • AWS Lambda is cheap. Up to a limit though. This impact not only your wallet.
  • If you need geographic spread, AWS is lonely at the top.
The setup

Recently, I was doing a brainstorm at a startup here in Berlin on the future of their infrastructure. They were ready to move on from their initial, almost 100% Ec2 + Chef based setup. Everything was on the table. But we crossed out a lot quite quickly:

  • Pure, uncut, self hosted Kubernetes — way too much complexity
  • Managed Kubernetes in various flavors — still too much complexity
  • Zeit — Maybe, but no Docker support
  • Elastic Beanstalk — Maybe, bit old but does the job
  • Heroku
  • Lambda

It became clear a mix of PaaS and FaaS was the way to go. What a surprise! That is exactly what I use for Checkly! But when do you pick which model?

I chopped that question up into the following categories:

  • Developer Experience / DX 🤓
  • Ops Experience / OX 🐂 (?)
  • Cost 💵
  • Lock in 🔐

Read the full post linked below for all details

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of Knative
Pros of Kubeless
Pros of Serverless
  • 5
    Portability
  • 4
    Autoscaling
  • 3
    Open source
  • 3
    Eventing
  • 3
    Secure Eventing
  • 3
    On top of Kubernetes
    Be the first to leave a pro
    • 14
      API integration
    • 7
      Supports cloud functions for Google, Azure, and IBM
    • 3
      Lower cost
    • 1
      Auto scale
    • 1
      Openwhisk

    Sign up to add or upvote prosMake informed product decisions

    - No public GitHub repository available -

    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

    What is 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.

    What is Serverless?

    Build applications comprised of microservices that run in response to events, auto-scale for you, and only charge you when they run. This lowers the total cost of maintaining your apps, enabling you to build more logic, faster. The Framework uses new event-driven compute services, like AWS Lambda, Google CloudFunctions, and more.

    Need advice about which tool to choose?Ask the StackShare community!

    What companies use Knative?
    What companies use Kubeless?
    What companies use Serverless?

    Sign up to get full access to all the companiesMake informed product decisions

    What tools integrate with Knative?
    What tools integrate with Kubeless?
    What tools integrate with Serverless?

    Sign up to get full access to all the tool integrationsMake informed product decisions

    What are some alternatives to Knative, Kubeless, and Serverless?
    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
    Istio
    Istio is an open platform for providing a uniform way to integrate microservices, manage traffic flow across microservices, enforce policies and aggregate telemetry data. Istio's control plane provides an abstraction layer over the underlying cluster management platform, such as Kubernetes, Mesos, etc.
    See all alternatives