Abstract
We propose a performance engineering technique for self-adaptive container cluster management, often used in cloud environments now. We focus here on an abstract model that can be used by simulation tools to identify an optimal configuration for such a system, capable of providing reliable performance to service consumers. The aim of the model-based tool is to identify and analyse a set of rules capable of balancing resource demands for this platform. We present an executable model for a simulation environment that allows container cluster architectures to be studied. We have selected the Kubernetes cluster management platform as the target. Our models reflect the current Kubernetes platform, but we also introduce an advanced controller model going beyond current Kubernetes capabilities. We use the Palladio Eclipse plugin as the simulation environment. The outcome is a working simulator, that applied to a concrete container-based cluster architecture could be used by developers to understand and configure self-adaptive system behavior.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Arabnejad, H., Pahl, C., Jamshidi, P., Estrada, G.: A comparison of reinforcement learning techniques for fuzzy cloud auto-scaling. In: CCGRID (2017)
CloudSim: A Framework for Modeling and Simulation of Cloud Computing Infrastructures and Services (2018). http://www.cloudbus.org/cloudsim/
El Ioini, N., Pahl, C.: A review of distributed ledger technologies. In: Panetto, H., Debruyne, C., Proper, H.A., Ardagna, C.A., Roman, D., Meersman, R. (eds.) OTM 2018. LNCS, vol. 11230, pp. 277–288. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-02671-4_16
El Ioini, N., Pahl, C.: Trustworthy orchestration of container based edge computing using permissioned blockchain. In: International Conference on Internet of Things: Systems, Management and Security (2018)
Fine, S., Singer, Y., Tishby, N.: The hierarchical hidden Markov model: analysis and applications. Mach. Learn. 32, 41–62 (1998)
Fowley, F., Pahl, C., Jamshidi, P., Fang, D., Liu, X.: A classification and comparison framework for cloud service brokerage architectures. IEEE Trans. Cloud Comput. 6(2), 358–371 (2018)
Heinrich, R., et al.: Performance engineering for microservices: research challenges and directions. In: International Conference on Performance Engineering Companion (2017)
Jamshidi, P., Pahl, C., Mendonca, N.C., Lewis, J., Tilkov, S.: Microservices: the journey so far and challenges ahead. IEEE Softw. 35(3), 24–35 (2018)
Jamshidi, P., Sharifloo, A., Pahl, C., Metzger, A., Estrada, G.: Self-learning cloud controllers: fuzzy Q-learning for knowledge evolution. In: ICCAC (2015)
Jamshidi, P., Sharifloo, A., Pahl, C., Metzger, A., Estrada, G.: Fuzzy self-learning controllers for elasticity management in dynamic cloud architectures. QoSA (2016)
Jamshidi, P., Pahl, C., Mendonca, N.C.: Managing uncertainty in autonomic cloud elasticity controllers. IEEE Cloud Comput. 3(3), 50–60 (2016)
Introduction to Kubernetes (2018). https://x-team.com/blog/introduction-kubernetes-architecture/
Autoscaling in Kubernetes (2018). http://blog.kubernetes.io/2016/07/autoscaling-in-kubernetes.html
Lim , H.C., et al.: Automated control in cloud computing: challenges and opportunities. In: Workshop Automated Control for Datacenters and Clouds (2009)
Lorido-Botran, T., Miguel-Alonso, J., Lozano, J.A.: A Review of auto-scaling techniques for elastic applications in cloud environments. J. Grid Comput. 12(4), 559–592 (2014)
Medel, V., Rana, O., Banares, J.A.l., Arronategui, U.: Modelling performance & resource management in Kubernetes. In: International Conference on Utility and Cloud Computing (2016)
Pahl, C., El Ioini, N., Helmer, S., Lee, B.: An architecture pattern for trusted orchestration in IoT edge clouds. In: International Conference on Fog and Mobile Edge Computing (2018)
Pahl, C., Brogi, A., Soldani, J., Jamshidi, P.: Cloud container technologies: a state-of-the-art review. IEEE Trans. Cloud Comput. (2017)
Pahl, C., Jamshidi, P., Weyns, D.: Cloud architecture continuity: change models and change rules for sustainable cloud software architectures. J. Softw. Evol. Process. 29(2), e1849 (2017)
Pahl, C., Jamshidi, P., Zimmermann, O.: Architectural principles for cloud software. ACM Trans. Internet Technol. (TOIT) 18(2), 1–23 (2018)
Palladio Simulator (2018). http://www.palladio-simulator.com/about_palladio/
Reussner, R.H., et al.: Modelling and Simulating Software Architecture - The Palladio Approach. MIT Press, Cambridge (2016)
Taibi, D., Lenarduzzi, V., Pahl, C.: Processes, motivations, and issues for migrating to microservices architectures: an empirical investigation. Cloud Comp. 4(5), 22–32 (2017)
Taibi, D., Lenarduzzi, V., Pahl, C.: Architectural patterns for microservices: a systematic mapping study. In: International Conference on Cloud Computing and Services Science (2018)
Vaquero, L.M., Rodero-Merino, L., Buyya, R.: Dynamically scaling applications in the cloud. ACM SIGCOMM Comput. Comm. Rev. 41(51), 45–52 (2011)
Acknowledgments
The authors are particularly grateful to the Palladio team at KIT for their support regarding the Palladio tool.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Ghirardini, F., Samir, A., Fronza, I., Pahl, C. (2020). Model-Driven Simulation for Performance Engineering of Kubernetes-Style Cloud Cluster Architectures. In: Fazio, M., Zimmermann, W. (eds) Advances in Service-Oriented and Cloud Computing. ESOCC 2018. Communications in Computer and Information Science, vol 1115. Springer, Cham. https://doi.org/10.1007/978-3-030-63161-1_1
Download citation
DOI: https://doi.org/10.1007/978-3-030-63161-1_1
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-63160-4
Online ISBN: 978-3-030-63161-1
eBook Packages: Computer ScienceComputer Science (R0)