Research & Papers

Optimizing OpenFaaS on Kubernetes: Comparative Analysis of Language Runtimes and Cluster Distributions

A comprehensive benchmark reveals Go as the top runtime, with K3s and Kubeadm as the leading Kubernetes distributions for serverless functions.

Deep Dive

A new academic paper provides crucial performance benchmarks for engineers deploying serverless functions with OpenFaaS on Kubernetes. The study, conducted by researchers Ehsan Ataie, Mohammadreza Pooshani, and Hossein Aqasizade, systematically evaluated the popular open-source platform across four major Kubernetes distributions—Kubeadm, K3s, MicroK8s, and K0s—while also testing three common programming language runtimes: Python, Go, and .NET. Using the CloudLab testbed, the team measured key metrics like throughput, CPU usage, and invocation delay under varying concurrent loads to determine the optimal stack for performance and efficiency.

The results deliver clear, actionable guidance for infrastructure teams. The Go runtime emerged as the unequivocal winner, consistently outperforming both Python and .NET in terms of raw throughput and CPU utilization, making it the ideal choice for performance-critical serverless applications. Among the Kubernetes distributions, K3s demonstrated superior throughput, making it excellent for high-volume workloads, while Kubeadm excelled at maintaining low latency and efficient CPU usage, ideal for responsive applications. This comparative analysis effectively maps the performance trade-offs, allowing developers to choose the right combination of runtime and distribution based on their specific workload requirements—whether prioritizing speed, cost-efficiency, or responsiveness.

Ultimately, this research moves beyond theoretical discussion to offer a practical optimization guide. By quantifying the impact of foundational technology choices, it empowers platform engineers and DevOps professionals to build more efficient and cost-effective serverless architectures. The findings are particularly valuable for organizations scaling their FaaS deployments, as they provide evidence-based recommendations to reduce cloud spend and improve application performance directly at the infrastructure layer.

Key Points
  • Go runtime outperformed Python and .NET, showing superior throughput and CPU efficiency for serverless functions.
  • K3s distribution achieved the highest throughput, while Kubeadm maintained the lowest latency and most efficient CPU usage.
  • The study provides a direct performance comparison across four Kubernetes distros and three runtimes using the CloudLab test infrastructure.

Why It Matters

Provides data-driven guidance for engineers to build faster, more cost-efficient serverless platforms, directly impacting cloud spend and application performance.