Need advice about which tool to choose?Ask the StackShare community!
Apache OpenWhisk vs Knative: What are the differences?
Cost model: One key difference between Apache OpenWhisk and Knative is their cost model. OpenWhisk follows a traditional pay-per-use model, where users are billed based on the actual usage of compute resources. On the other hand, Knative provides a more flexible pricing structure by allowing users to define their own custom metrics and thresholds for resource usage, thus enabling more granular and efficient cost management.
Language Support: While both OpenWhisk and Knative support multiple programming languages, there is a difference in the level of language support. OpenWhisk has wider language support as it can execute code written in several languages, including Java, JavaScript, Python, Swift, and more. Knative, on the other hand, primarily focuses on supporting container-based workloads, which means it can work with any programming language as long as it can be packaged as a container.
Eventing Model: Apache OpenWhisk and Knative have different eventing models. OpenWhisk uses a fully event-driven model, where actions are triggered by events and can perform a specific task in response to an event. Knative also has eventing capabilities but provides a more structured event-driven approach by allowing users to define sources, filters, and channels, enabling more sophisticated event management and routing.
Scaling Technology: Another important difference lies in the scaling technology employed by OpenWhisk and Knative. OpenWhisk uses a technology called "scale-to-zero," where functions are automatically scaled down to zero when not in use, leading to efficient resource utilization. On the other hand, Knative utilizes a "scale-to-one" approach, where it keeps at least one instance of a service running at all times, reducing the cold start delay but potentially consuming more resources when idle.
Deployment Flexibility: OpenWhisk and Knative also differ in terms of deployment flexibility. Apache OpenWhisk provides a fully managed serverless platform, where users do not need to worry about infrastructure management. Knative, on the other hand, can be deployed on any Kubernetes cluster, providing more flexibility and control over the underlying infrastructure.
Community Support: The level of community support and adoption also differs between Apache OpenWhisk and Knative. OpenWhisk has been around for a longer time and has established a larger community with a broader range of contributors, resulting in a more extensive ecosystem of tools, plugins, and integrations. Knative, being a relatively newer project, has a smaller community but is rapidly gaining popularity, especially within the Kubernetes community.
In Summary, Apache OpenWhisk and Knative differ in their cost model, language support, eventing model, scaling technology, deployment flexibility, and community support.
Pros of Apache OpenWhisk
- You are not tied to a provider. IBM available however4
- Still exploring... its just intresting3
Pros of Knative
- Portability5
- Autoscaling4
- Open source3
- Eventing3
- Secure Eventing3
- On top of Kubernetes3