Abstract
Microservices deployed and managed by container orchestration frameworks like Kubernetes are the bases of modern cloud applications. In microservice performance modeling and prediction, simulations provide a lightweight alternative to experimental analysis, which requires dedicated infrastructure and a laborious setup. However, existing simulators cannot run realistic scenarios, as performance-critical orchestration mechanisms (like scheduling or autoscaling) are manually modeled and can consequently not be represented in their full complexity and configuration space. This work combines a state-of-the-art simulation for microservice performance with Kubernetes container orchestration. Hereby, we include the original implementation of Kubernetes artifacts enabling realistic scenarios and testing of orchestration policies with low overhead. In two experiments with Kubernetes’ kube-scheduler and cluster-autoscaler, we demonstrate that our framework can correctly handle different configurations of these orchestration mechanisms boosting both the simulation’s use cases and authenticity.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Aslanpour, M.S., Toosi, A.N., Taheri, J., Gaire, R.: Autoscalesim: A simulation toolkit for auto-scaling web applications in clouds. Simul. Modelling Pract. Theory (2021)
Bao, L., Wu, C., Bu, X., Ren, N., Shen, M.: Performance modeling and workflow scheduling of microservice-based applications in clouds. IEEE Trans. Parallel Distrib. Syst. (2019)
Becker, M., Becker, S., Meyer, J.: Simulizar: design-time modeling and performance analysis of self-adaptive systems. Softw. Eng. (2013)
Ben Ayed, M., Zouari, L., Abid, M.: Software in the loop simulation for robot manipulators. Eng., Technol. Appl. Sci. Res. (2017)
Bozóki, S., Szalontai, J., Pethő, D., Kocsis, I., Pataricza, A., Suskovics, P., Kovács, B.: Application of extreme value analysis for characterizing the execution time of resilience supporting mechanisms in Kubernetes. In: Dependable Computing—EDCC 2020 Workshops (2020)
Carrión, C.: Kubernetes Scheduling: Taxonomy, Ongoing Issues and Challenges. ACM Comput, Surv. (2022)
Cloud Native Computing Foundation: Cncf annual survey 2022 (2023). https://www.cncf.io/reports/cncf-annual-report-2022/
Demers, S., Gopalakrishnan, P., Kant, L.: A generic solution to software-in-the-loop. In: MILCOM 2007—IEEE Military Communications Conference (2007)
Eismann, S., Walter, J., von Kistowski, J., Kounev, S.: Modeling of parametric dependencies for performance prediction of component-based software systems at run-time. In: IEEE International Conference on Software Architecture (ICSA) (2018)
Erb, B., Kargl, F.: Combining discrete event simulations and event sourcing. In: Proceedings of the 7th International ICST Conference on Simulation Tools and Techniques. SIMUTools 14 (2014)
Frank, S., Wagner, L., Hakamian, A., Straesser, M., van Hoorn, A.: Misim: a simulator for resilience assessment of microservice-based architectures. In: IEEE 22nd International Conference on Software Quality, Reliability and Security (QRS) (2022)
Friedman, N.: Kubernetes cluster autoscaler command line options (2023). https://gist.github.com/neerfri/4bd7477920cb33a2a229807ed10c29c2
Hellerer, M., Schuster, M.J., Lichtenheldt, R.: Software-in-the-loop simulation of a planetary rover. In: The International Symposium on Artificial Intelligence, Robotics and Automation in Space (2016)
IBM Market Development & Insights: Microservices in the enterprise (2021). https://www.ibm.com/downloads/cas/OQG4AJAM
Jawarneh, I.M.A., Bellavista, P., Bosi, F., Foschini, L., Martuscelli, G., Montanari, R., Palopoli, A.: Container orchestration engines: a thorough functional and performance comparison. In: IEEE International Conference on Communications (ICC) (2019)
Jindal, A., Podolskiy, V., Gerndt, M.: Performance modeling for cloud microservice applications. In: Proceedings of the ACM/SPEC International Conference on Performance Engineering (2019)
von Kistowski, J., Eismann, S., Schmitt, N., Bauer, A., Grohmann, J., Kounev, S.: Teastore: a micro-service reference application for benchmarking, modeling and resource management research. In: IEEE 26th International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS) (2018)
Kubernetes Documentation: Assign pods to nodes using node affinity (2023). https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/
Kubernetes Documentation: Kubernetes API concepts (2023). https://kubernetes.io/docs/reference/using-api/api-concepts/
Kubernetes Documentation: The kubernetes cluster autoscaler (2023). https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/README.md
Kubernetes Documentation: Kubernetes components (2023). https://kubernetes.io/docs/concepts/overview/components/
Kubernetes Documentation: Scheduling framework (2023). https://kubernetes.io/docs/concepts/scheduling-eviction/scheduling-framework/
Kubernetes SIG Cluster API: Kubernetes cluster API (2023). https://cluster-api.sigs.k8s.io/
Kubernetes SIG Scheduling: Kube-scheduler-simulator (2023). https://github.com/kubernetes-sigs/kube-scheduler-simulator
Law, A.M., Kelton, W.D.: Simulation modeling and analysis, vol. 3. Mcgraw-hill New York (2007)
Lechler, T., Page, B.: Desmo-j: An object oriented discrete simulation framework in java. In: Proceedings of the 11th European Simulation Symposium (ESS) (1999)
von Massow, R., van Hoorn, A., Hasselbring, W.: Performance simulation of runtime reconfigurable component-based software architectures. In: 5th European Conference on Software Architecture (ECSA) (2011)
Matarneh, R.J.: Self-adjustment time quantum in round robin algorithm depending on burst time of the now running processes. Am. J. Appl. Sci. (2009)
Mekki, M., Toumi, N., Ksentini, A.: Microservices configurations and the impact on the performance in cloud native environments. In: IEEE 47th Conference on Local Computer Networks (LCN) (2022)
Michelson, B.M.: Event-driven architecture overview. Patricia Seybold Group (2006)
Pan, Y., Chen, I., Brasileiro, F., Jayaputera, G., Sinnott, R.: A performance comparison of cloud-based container orchestration tools. In: IEEE International Conference on Big Knowledge (ICBK) (2019)
Schmoll, R., Fischer, T., Salah, H., Fitzek, F.H.P.: Comparing and evaluating application-specific boot times of virtualized instances. In: 2nd IEEE 5G World Forum (2019)
Straesser, M., Bauer, A., Leppich, R., Herbst, N., Chard, K., Foster, I., Kounev, S.: An empirical study of container image configurations and their impact on start times. In: 23rd IEEE International Symposium on Cluster, Cloud and Internet Computing (CCGrid) (2023)
Straesser, M., Grohmann, J., von Kistowski, J., Eismann, S., Bauer, A., Kounev, S.: Why is it not solved yet? challenges for production-ready autoscaling. In: Proceedings of the ACM/SPEC on International Conference on Performance Engineering (2022)
Straesser, M., Mathiasch, J., Bauer, A., Kounev, S.: A systematic approach for benchmarking of container orchestration frameworks. In: Proceedings of the ACM/SPEC International Conference on Performance Engineering (2023)
Tamiru, M.A., Tordsson, J., Elmroth, E., Pierre, G.: An experimental evaluation of the Kubernetes cluster autoscaler in the cloud. In: IEEE International Conference on Cloud Computing Technology and Science (CloudCom) (2020)
Tesfatsion, S.K., Klein, C., Tordsson, J.: Virtualization techniques compared: Performance, resource, and power usage overheads in clouds. In: ACM/SPEC International Conference on Performance Engineering (2018)
Truyen, E., Bruzek, M., Van Landuyt, D., Lagaisse, B., Joosen, W.: Evaluation of container orchestration systems for deploying and managing nosql database clusters. In: IEEE 11th International Conference on Cloud Computing (CLOUD) (2018)
Truyen, E., Van Landuyt, D., Lagaisse, B., Joosen, W.: Performance overhead of container orchestration frameworks for management of multi-tenant database deployments. In: Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing. SAC 19 (2019)
Valera, H.H.A., Dalmau, M., Roose, P., Larracoechea, J., Herzog, C.: Draceo: a smart simulator to deploy energy saving methods in microservices based networks. In: IEEE 29th International Conference on Enabling Technologies: Infrastructure for Collaborative Enterprises (WETICE) (2020)
VMware: K-bench (2023). https://github.com/vmware-tanzu/k-bench
Wang, M., Zhang, D., Wu, B.: A cluster autoscaler based on multiple node types in Kubernetes. In: IEEE 4th Information Technology, Networking, Electronic and Automation Control Conference (ITNEC) (2020)
Xavier, B., Ferreto, T., Jersak, L.: Time provisioning evaluation of KVM, Docker and Unikernels in a cloud platform. In: 16th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (2016)
Zhang, Y., Gan, Y., Delimitrou, C.: \(\upmu \)qsim: enabling accurate and scalable simulation for interactive microservices. In: IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS) (2019)
Acknowledgements
This work was funded by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) - 510552229. We thank the German Federal Ministry of Education and Research (dqualizer FKZ: 01IS22007B and Software Campus 2.0 — Microproject: DiSpel, FKZ: 01IS17051), the Google Cloud Research Credits program (GCP213506809) and our student researchers Lion Wagner and Lukas Mönch for supporting this work. The work was conducted in the context of the SPEC RG DevOps Performance Working Group [6].
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2024 ICST Institute for Computer Sciences, Social Informatics and Telecommunications Engineering
About this paper
Cite this paper
Straesser, M., Haas, P., Frank, S., Hakamian, A., van Hoorn, A., Kounev, S. (2024). Kubernetes-in-the-Loop: Enriching Microservice Simulation Through Authentic Container Orchestration. In: Kalyvianaki, E., Paolieri, M. (eds) Performance Evaluation Methodologies and Tools. VALUETOOLS 2023. Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering, vol 539. Springer, Cham. https://doi.org/10.1007/978-3-031-48885-6_6
Download citation
DOI: https://doi.org/10.1007/978-3-031-48885-6_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-48884-9
Online ISBN: 978-3-031-48885-6
eBook Packages: Computer ScienceComputer Science (R0)