AUTO-SCALING AND ADJUSTMENT PLATFORM FOR CLOUD-BASED SYSTEMS

Jānis Kampars, Krišjānis Pinka


##manager.scheduler.building##: Atbrivosanas aleja 115, k-4 (Faculty of Engineering)
##manager.scheduler.room##: Room 111
Last modified: 05.06.2017

Abstract

For customers of cloud-computing platforms it is important to minimize the infrastructure footprint and associated costs while providing required levels of Quality of Service (QoS) and Quality of Experience (QoE) dictated by the Service Level Agreement (SLA). To assist with that cloud service providers are offering: (1) horizontal resource scaling through provisioning and destruction of virtual machines and containers, (2) vertical scaling through changing the capacity of individual cloud nodes. Existing scaling solutions mostly concentrate on low-level metrics like CPU load and memory consumption which doesn’t always correlate with the level of SLA conformity. Such technical measures should be preprocessed and viewed from a higher level of abstraction. Application level metrics should also be considered when deciding upon scaling the cloud-based solution. Existing scaling platforms are mostly proprietary technologies owned by cloud service providers themselves or by third parties and offered as Software as a Service. Enterprise applications could span infrastructures of multiple public and private clouds, dictating that the auto-scaling solution should not be isolated inside a single cloud infrastructure.

The goal of this paper is to address the challenges above by presenting the architecture of Auto-scaling and Adjustment Platform for Cloud-based Systems (ASAPCS). It is based on open-source technologies and supports integration of various low and high level performance metrics, providing higher levels of abstraction for design of scaling algorithms. ASAPCS can be used with any cloud service provider and guarantees that move from one cloud platform to another will not result in complete redesign of the scaling algorithm. ASAPCS itself is horizontally scalable and can process large amounts of real-time data which is particularly important for applications developed following the microservices architectural style. ASAPCS approaches the scaling problem in a nonstandard way by considering real-time adjustments of the application logic to be part of the scalability strategy if it can result in performance improvements.

 


Keywords


cloud computing; auto-scaling; microservices; big data

References


[1]     M.A.S. Netto, C. Cardonha, R.L.F. Cunha and M.D. Assuncao, “Evaluating auto-scaling strategies for cloud computing environments”, in Proceedings - IEEE Computer Society's Annual International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunications Systems, MASCOTS, Sept. 2014, pp. 187 – 196. https://doi.org/10.1109/MASCOTS.2014.32

[2]     G. Toffetti, S. Brunner, M. Blöchlinger, F. Dudouet and A. Edmonds, “An architecture for self-managing microservices”, in Proceedings: Automated Incident Management in Cloud (AIMC), 1st International Workshop, in conjunction with EuroSYS 2015, pp. 19-24. https://doi.org/10.1145/2747470.2747474

[3]     N. Alshuqayran, N. Ali and R. Evans, "A Systematic Mapping Study in Microservice Architecture," in 2016 IEEE 9th International Conference on Service-Oriented Computing and Applications (SOCA), Macau, 2016, pp. 44-51. https://doi.org/10.1109/SOCA.2016.15

[4]     A. Balalaie, A. Heydarnooria and P. Jamshidi, “Microservices Architecture Enables DevOps: Migration to a Cloud-Native Architecture”, in IEEE Software, Vol., 33, Issue 3, art. no. 7436659, May - June 2016, pp. 42-52.  https://doi.org/10.1109/MS.2016.64

[5]     J. Lewis and M. Fowler. Microservices, March 2014 [Online]. Available: http://martinfowler.com/articles/microservices.html, [Accessed: Feb. 10,2017]

[6]     T. Erl, Service-Oriented Architecture: Concepts, Technology, and Design. Upper Saddle River, NJ, USA: Prentice Hall PTR, 2005. https://doi.org/10.1109/SAINTW.2003.1210138

[7]     A. Sill,”The Design and Architecture of Microservices” in IEEE Cloud Computing, Vol. 3, Issue 5, Sept. – Oct. 2016, pp. 76-80. https://doi.org/10.1109/MCC.2016.111

[8]     C. Pahl and P. Jamshidi, “Microservices: A systematic mapping study”, in Proceedings of the 6th International Conference on Cloud Computing and Services Science Vol. 1, 2016 ,pp. 137-146. https://doi.org/10.5220/0005785501370146

[9]     P.P. Kukade and G Kale, “Auto-Scaling of Micro-Services Using Containerization” International Journal of Science and Research (IJSR), Vol. 4, Issue 9, Sept. 2015, pp. 1960-1963

[10]  T. Hoßfeld, R. Schatz, M. Varela and C. Timmerer, “Challenges of QoE management for cloud applications” in IEEE Communications Magazine, Vol. 50, Issue 4, April 2012, pp. 28-36. https://doi.org/10.1109/MCOM.2012.6178831

[11] S. Berziša, G. Bravos, T.C. Gonzalez, U. Czubayko, S. España, J. Grabis, M. Henkel, L. Jokste, J. Kampars, H. Koç, J. –C. Kuhr, C. Llorca, P. Loucopoulos, R.J. Pascual, O. Pastor, K. Sandkuhl, H. Simic, J. Stirna, F.G. Valverde and J. Zdravkovic, “Capability Driven Development: An Approach to Designing Digital Enterprises”, in Business and Information Systems Engineering, Vol. 57, Issue 1, March 2015, pp. 15-25. https://doi.org/10.1007/s12599-014-0362-0