🤖 AI Summary
This study systematically evaluates the performance trade-offs of lightweight Kubernetes distributions—Kubeadm, K3s, MicroK8s, and K0s—combined with multi-language runtimes (Python, Go, Node.js) on the OpenFaaS serverless platform. Conducting concurrent workload experiments on CloudLab, the work quantifies function throughput, latency, and CPU utilization across configurations. Results demonstrate that Go significantly outperforms other runtimes in both throughput and CPU efficiency, while Kubeadm achieves the lowest latency and highest resource efficiency, and K3s delivers the highest throughput among the Kubernetes variants. To the best of our knowledge, this is the first comprehensive performance benchmark spanning multiple Kubernetes distributions and language runtimes, offering empirical, quantitative guidance for selecting optimal deployment stacks in production serverless environments.
📝 Abstract
Serverless computing, particularly Function-as-a-Service (FaaS), has revolutionized cloud computing by abstracting infrastructure management and enabling dynamic resource allocation. This paper examines the performance and compatibility of OpenFaaS, an open-source serverless platform, when deployed on various Kubernetes distributions, including Kubeadm, K3s, MicroK8s, and K0s. Moreover, leveraging the CloudLab infrastructure, this study examines the impact of Python, Go, and Node.js programming languages on the performance of Kubernetes-enabled OpenFaaS, specifically when these languages are used to develop functions deployed on the platform. The performance is evaluated and analyzed under various levels of concurrent invocations using several usage-level metrics, such as throughput and CPU usage, as well as responsiveness metrics, such as delay. According to our findings, Go consistently outperforms Python and Node.js in terms of throughput and CPU usage, making it the ideal runtime for serverless applications. Among the Kubernetes distributions, K3s and Kubeadm exhibit superior performance, with Kubeadm maintaining low latency and efficient CPU usage, and K3s demonstrating high throughput. This study provides valuable insights into optimizing the Kubernetes-enabled OpenFaaS platform, highlighting the strengths and trade-offs of different Kubernetes distributions and language runtimes.