A Framework for Evaluating Container Performance Across Diverse Kubernetes Environments
Resources in a cloud environment are limited. Containers in a Kubernetes Cluster are always in contention for resources. Kubernetes orchestrates the scheduling of pods on different nodes. Accommodating as many containers as possible on a node is a goal state that must be reached to ensure optimal resource utilization. This indirectly helps with operational and hardware costs. This paper evaluates the two most popular high-level container runtime systems, Docker and ContainerD. We study the impact of these two container runtimes on different computing resources such as CPU, I/O, Memory, and Network latency. The evaluation is performed on Google Kubernetes Engine (GKE) and Amazon Elastic Kubernetes Service (EKS). We study the performance of both cloud providers separately. The aforementioned has provided us with a more rigorous and accurate analysis since the underlying hardware would be the same. In the second part of the paper, we have bootstrapped our own custom Kubernetes Cluster from scratch using Terraform and Kubeadm on Amazon Web Services and performed an analysis similar to those mentioned above compared to the Managed AWS Kubernetes offering. Through the two experiments, we want to determine which container runtime system performs better in both the Managed Kubernetes Services. Secondly, whether deploying your own K8s cluster from scratch provides any significant performance gains or losses.
Authors
- Sukhmani Singh (ORCID: https://orcid.org/0000-0001-8752-5982)
- Rachit Jain (ORCID: https://orcid.org/0009-0002-3970-7815)
- FNU Shivanshi
Institutions
- Courant Institute of Mathematical Sciences (US)
- New York University (US)
Publication Details
- Published
- 2024-11-27
- DOI
- https://doi.org/10.1109/cloudnet62863.2024.10815769
- Citations
- 1
- Primary Topic
- Advanced Manufacturing and Logistics Optimization
- Type
- article
- Field-Weighted Citation Impact
- 0.35