Configs2026年4月16日·1 分钟阅读

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.

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

讨论

登录后参与讨论。
还没有评论,来写第一条吧。

相关资产