# Fission — Fast Serverless Functions on Kubernetes > Fission is an open-source serverless framework for Kubernetes that lets developers deploy functions in Python, Go, Node.js, and other languages with sub-second cold starts and no container builds required. ## Install Save in your project root: # Fission — Fast Serverless Functions on Kubernetes ## Quick Use ```bash # Install Fission CLI curl -Lo fission https://github.com/fission/fission/releases/latest/download/fission-cli-linux chmod +x fission && sudo mv fission /usr/local/bin/ # Install on existing K8s cluster kubectl create -k "github.com/fission/fission/crds/v1?ref=v1.20.5" helm install fission fission-charts/fission-all --namespace fission --create-namespace # Deploy a function fission env create --name python --image fission/python-env fission fn create --name hello --env python --code hello.py fission route create --method GET --url /hello --function hello curl http://$FISSION_ROUTER/hello ``` ## Introduction Fission brings serverless functions to any Kubernetes cluster without vendor lock-in. Developers write functions in their preferred language, and Fission handles packaging, routing, scaling, and lifecycle management with minimal cold-start latency. ## What Fission Does - Deploys functions from source code directly, no Dockerfile or container build step needed - Maintains pre-warmed environment pools for sub-second cold starts - Automatically scales functions from zero to thousands of instances based on demand - Provides HTTP triggers, message queue triggers (Kafka, NATS), and timer triggers - Supports canary deployments with traffic splitting for safe function rollouts ## Architecture Overview Fission runs three core components on Kubernetes: the Controller (API server), the Router (HTTP gateway), and the Executor (manages function pods). The Executor uses a pool-based strategy that keeps warm containers ready, or a new-deploy strategy for heavier workloads. Functions are injected into pre-built environment containers at invocation time. ## Self-Hosting & Configuration - Requires an existing Kubernetes cluster (1.23+) with Helm 3 for installation - Environment images for Python, Go, Node.js, Java, Ruby, and .NET are provided officially - Persistent storage for function source and build artifacts uses Kubernetes PVCs - Prometheus and OpenTelemetry integrations are available for metrics and tracing - Istio integration enables advanced traffic management and mTLS between functions ## Key Features - Pool-based executor pre-warms containers for sub-second cold starts - Multi-language support with pluggable environment images - Built-in Kafka and NATS connectors for event-driven architectures - Canary deployments with percentage-based traffic splitting - Composable workflows chain multiple functions into pipelines ## Comparison with Similar Tools - **OpenFaaS** — Also runs on K8s but requires building container images; Fission deploys from source directly - **Knative** — More general-purpose serving platform; Fission is purpose-built for functions with faster cold starts - **Kubeless** — Archived project; Fission is actively maintained with regular releases - **AWS Lambda** — Vendor-locked SaaS; Fission runs on any Kubernetes cluster you control - **Nuclio** — Strong on real-time data; Fission offers broader language support and simpler developer experience ## FAQ **Q: How fast are Fission cold starts?** A: With pool-based execution, cold starts are typically under 100ms since containers are pre-warmed and only the function code is loaded at invocation. **Q: Can I use custom container images?** A: Yes. You can build custom environment images or use the new-deploy executor strategy with your own Docker images. **Q: Does Fission scale to zero?** A: Yes. The new-deploy executor scales functions to zero replicas when idle and scales up on incoming requests. **Q: What languages are supported?** A: Official environments exist for Python, Go, Node.js, Java, Ruby, PHP, and .NET. Custom environments can be created for any language. ## Sources - https://github.com/fission/fission - https://fission.io/docs/ --- Source: https://tokrepo.com/en/workflows/781fc161-39c9-11f1-9bc6-00163e2b0d79 Author: AI Open Source