# Fission / Knative Serving

Functions you run. Fission is Apache-2.0 on Kubernetes; Knative Serving is Apache-2.0 scale-to-zero — Cloudflare Workers and AWS Lambda without the invocation meter.

**Replaces:** Cloudflare Workers / AWS Lambda

**Tier:** Medium

## Problem

Cloudflare Workers is a hosted isolate/Wasm runtime. AWS Lambda meters requests and duration. You wanted functions on a cluster you control. Fission is Apache-2.0 (fission/fission). Knative Serving is Apache-2.0 (knative/serving) if you want scale-to-zero on Kubernetes. Spin (spinframework/spin, Apache-2.0) is the Wasm/Workers-shaped sibling; wasmCloud is the CNCF Wasm host. OpenFaaS CE is not the path: the repo LICENSE requires a commercial EULA for commercial use of CE. This is not every Workers KV, Durable Object, or Lambda trigger.

## Stack

- [Fission](https://fission.io) — Apache-2.0 serverless functions on Kubernetes
- [Knative Serving](https://knative.dev/docs/serving/) — Apache-2.0 scale-to-zero request-driven compute
- [Spin](https://spinframework.dev) — Apache-2.0 Wasm serverless if the job is Workers-shaped isolates

## Estimated SaaS cost saved

| You stop paying | Typical / year | Self-host instead |
|---|---:|---|
| Cloudflare Workers / AWS Lambda (small team) | $1,200 | Fission, Knative Serving, or Spin |

**About $1,200 / year** on a small team, before you count lock-in.

## Deploy on Railway

Placeholder: Fission and Knative want Kubernetes. Spin can run as a Wasm host on a VM. A single Railway service is often the wrong size — a cluster or a VPS is the honest path. No one-click template in this repo yet — Start on Railway. A git-push PaaS stays on /stacks/coolify-paas.

[Start on Railway](https://c17.io/go/railway/fission-functions?from=%2Fstacks%2Ffission-functions.md)

[Coolify if this is git-push PaaS, not functions](https://c17.io/stacks/coolify-paas)

## AGENT_PROMPT

```
Replace Cloudflare Workers or AWS Lambda with Fission (Kubernetes functions), Knative Serving (scale-to-zero), or Spin (Wasm).

- Fission/Knative: a cluster you already run. Spin: follow spinframework.dev on a VM if you want Wasm.
- Port one function. Do not claim Workers KV, Durable Objects, or every Lambda event source. Write AGENT_PROMPT.md.
- OpenFaaS CE is not the OSS path (commercial EULA for CE commercial use).
```

## FAQ

### Fission, Knative, or Spin?

Fission if you want functions on Kubernetes. Knative if you want scale-to-zero serving. Spin if the job is Wasm/Workers-shaped. Pick one runtime on day one.

### Why not OpenFaaS?

The faas LICENSE puts OpenFaaS Ltd contributions behind a Community Edition EULA for commercial use. This page uses Apache-2.0 runtimes instead.

### Is this Coolify?

Coolify is git-push PaaS (/replace/heroku). This page is functions. Different job.

Source: https://c17.io/stacks/fission-functions
