Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3626246.3653378acmconferencesArticle/Chapter ViewAbstractPublication PagesmodConference Proceedingsconference-collections
research-article
Open access

Vertically Autoscaling Monolithic Applications with CaaSPER: Scalable Container-as-a-Service Performance Enhanced Resizing Algorithm for the Cloud

Published: 09 June 2024 Publication History

Abstract

Kubernetes has emerged as a prominent open-source platform for managing cloud applications, including stateful databases. These monolithic applications rely on vertical scaling, adjusting CPU cores based on load fluctuations. However, our analysis of Kubernetes-based Database-as-a-Service (DBaaS) offerings at Microsoft revealed that many customers consistently over-provision resources for peak workloads, neglecting cost-saving opportunities through resource scale-down. We found that there is a gap in the ability of existing vertical autoscaling tools to minimize resource slack and respond promptly to throttling, leading to increased costs and impacting crucial metrics such as throughput and availability.
To address this challenge, we propose CaaSPER, a vertical autoscaling algorithm that blends reactive and proactive strategies. By dynamically adjusting CPU resources, CaaSPER minimizes resource slack, maintains optimal CPU utilization, and reduces throttling. Importantly, customers have the flexibility to prioritize either cost savings or high performance based on their preferences. Extensive testing demonstrates that CaaSPER effectively reduces throttling and keeps CPU utilization within target levels. CaaSPER is designed to be application-agnostic and platform-agnostic, with potential for extension to other applications requiring vertical autoscaling.

References

[1]
2015. Cgroups v2. https://www.kernel.org/doc/html/latest/admin-guide/cgroupv2. html Accessed on May 23, 2023.
[2]
2023. Nodes, pods, and the vertical autoscaler. https://docs.openshift.com/ container-platform/4.9/nodes/pods/nodes-pods-vertical-autoscaler.html Accessed May 2023.
[3]
2023. sktime. https://github.com/sktime/sktime/tree/main Accessed May 2023.
[4]
2023. Student's t-test: Paired samples. https://en.wikipedia.org/wiki/Student% 27s_t-test#Paired_samples Accessed on June 02, 2023.
[5]
Alibaba Inc. 2018. Alibaba Open Cluster Trace. https://github.com/alibaba/ clusterdata.
[6]
Amazon. 2023. AWS. https://aws.amazon.com/.
[7]
Pankaj Arora, Surajit Chaudhuri, Sudipto Das, Junfeng Dong, Cyril George, Ajay Kalhan, Arnd Christian König, Willis Lang, Changsong Li, Feng Li, Jiaqi Liu, Lukas Maas, Akshay Mata, Ishai Menache, Justin Moeller, Vivek Narasayya, Matthaios Olma, Morgan Oslake, Elnaz Rezai, Yi Shan, Manoj Syamala, Shize Xu, and Vasileios Zois. 2023. Flexible Resource Allocation for Relational Database-as-a-Service. In 49th International Conference on Very Large Data Bases. VLDB Endowment, VLDB, 4202--4215.
[8]
Mohammad S. Aslanpour, Adel N. Toosi, Javid Taheri, and Raj Gaire. 2021. AutoScaleSim: A simulation toolkit for auto-scaling Web applications in clouds. Simulation Modelling Practice and Theory 108 (April 2021), 102245. https: //doi.org/10.1016/j.simpat.2020.102245
[9]
Luciano Baresi and Giovanni Quattrocchi. 2020. A simulation-based comparison between industrial autoscaling solutions and cocos for cloud applications. In 2020 IEEE International Conference on Web Services (ICWS). IEEE, 94--101.
[10]
Christopher M Bishop and Nasser M Nasrabadi. 2006. Pattern recognition and machine learning. Vol. 4. Springer.
[11]
Joyce Cahoon, Wenjing Wang, Yiwen Zhu, Katherine Lin, Sean Liu, Raymond Truong, Neetu Singh, Chengcheng Wan, Alexandra M Ciortea, Sreraman Narasimhan, and Subru Krishnan. 2022. Doppler: Automated SKU Recommendation in Migrating SQL Workloads to the Cloud. PVLDB 15, 12 (2022).
[12]
Cristian Cardas, José F Aldana-Martín, Antonio M Burgueno-Romero, Antonio J Nebro, Jose M Mateos, and Juan J Sánchez. 2022. On the performance of SQL scalable systems on Kubernetes: a comparative study. Cluster Computing (2022), 1--13.
[13]
Mesut Celik. 2019. Hazelcast: High Performance Cloud-Native Microservices With Distributed Caching. https://files.devnetwork.cloud/DeveloperWeekAustin/ presentations/2019/Mesut-Celik.pdf
[14]
Georgia Christofidi, Konstantinos Papaioannou, and Thaleia Dimitra Doudali. 2023. Is Machine Learning Necessary for Cloud Resource Usage Forecasting?. In Proceedings of the 2023 ACM Symposium on Cloud Computing (Santa Cruz, CA, USA) (SoCC '23). Association for Computing Machinery, New York, NY, USA, 544--554. https://doi.org/10.1145/3620678.3624790
[15]
Kristof Coussement and Dries F Benoit. 2021. Interpretable data science for decision making., 113664 pages.
[16]
Carlo Curino, Evan P. C. Jones, Samuel Madden, and Hari Balakrishnan. 2011. Workload-aware database monitoring and consolidation. In Proceedings of the ACM SIGMOD International Conference on Management of Data, SIGMOD 2011, Athens, Greece, June 12--16, 2011. ACM, 313--324. https://doi.org/10.1145/1989323. 1989357
[17]
Sudipto Das, Feng Li, Vivek R. Narasayya, and Arnd Christian König. 2016. Automated Demand-Driven Resource Scaling in Relational Database-as-a-Service. In Proceedings of the 2016 International Conference on Management of Data (San Francisco, California, USA) (SIGMOD '16). Association for Computing Machinery, New York, NY, USA, 1923--1934. https://doi.org/10.1145/2882903.2903733
[18]
Jeffrey Dean and Luiz André Barroso. 2013. The tail at scale. Commun. ACM 56, 2 (2013), 74--80.
[19]
Djellel Eddine Difallah, Andrew Pavlo, Carlo Curino, and Philippe Cudré-Mauroux. 2013. OLTP-Bench: An Extensible Testbed for Benchmarking Relational Databases. PVLDB 7, 4 (2013), 277--288. http://www.vldb.org/pvldb/vol7/p277-difallah.pdf
[20]
Charlotte Dillon. 2020. How to run a software-as-a-service on Kubernetes. https: //www.cockroachlabs.com/blog/kubernetes-saas-implementation/
[21]
Aaron J. Elmore, Sudipto Das, Alexander Pucher, Divyakant Agrawal, Amr El Abbadi, and Xifeng Yan. 2013. Characterizing tenant behavior for placement and crisis mitigation in multitenant DBMSs. In Proceedings of the ACM SIGMOD International Conference on Management of Data, SIGMOD 2013, New York, NY, USA, June 22--27, 2013. ACM, 517--528. https://doi.org/10.1145/2463676.2465308
[22]
Alexandros Evangelidis, David Parker, and Rami Bahsoon. 2018. Performance modelling and verification of cloud-based auto-scaling policies. Future Generation Computer Systems 87 (2018), 629--638.
[23]
Iure Fé, Rubens Matos, Jamilson Dantas, Carlos Melo, Tuan Anh Nguyen, Dugki Min, Eunmi Choi, Francisco Airton Silva, and Paulo Romero Martins Maciel. 2022. Performance-Cost Trade-Off in Auto-Scaling Mechanisms for Cloud Computing. Sensors 22, 3 (Feb. 2022), 1221. https://doi.org/10.3390/s22031221
[24]
Daniela Florescu and Donald Kossmann. 2009. Rethinking Cost and Performance of Database Systems. SIGMOD Rec. 38, 1 (jun 2009), 43--48. https://doi.org/10.1145/1558334.1558339
[25]
Michael A. Georgiou, Aristodemos Paphitis, Michael Sirivianos, and Herodotos Herodotou. 2019. Towards Auto-Scaling Existing Transactional Databases with Strong Consistency. In 2019 IEEE 35th International Conference on Data Engineering Workshops (ICDEW). 107--112. https://doi.org/10.1109/ICDEW.2019.00--26
[26]
Zhenhuan Gong, Xiaohui Gu, and John Wilkes. 2010. PRESS: PRedictive Elastic ReSource Scaling for cloud systems. In 2010 International Conference on Network and Service Management. 9--16. https://doi.org/10.1109/CNSM.2010.5691343
[27]
Google. 2023. Google Cloud Platform. https://console.cloud.google.com.
[28]
Jim Gray, Pat Helland, Patrick O'Neil, and Dennis Shasha. 1996. The Dangers of Replication and a Solution. In Proceedings of the 1996 ACM SIGMOD International Conference on Management of Data (Montreal, Quebec, Canada) (SIGMOD '96). Association for Computing Machinery, New York, NY, USA, 173--182. https: //doi.org/10.1145/233269.233330
[29]
Arpan Gujarati, Sameh Elnikety, Yuxiong He, Kathryn S. McKinley, and Björn B. Brandenburg. 2017. Swayam: Distributed Autoscaling to Meet SLAs of Machine Learning Inference Services with Resource Efficiency. In Proceedings of the 18th ACM/IFIP/USENIX Middleware Conference (Las Vegas, Nevada) (Middleware '17). Association for Computing Machinery, New York, NY, USA, 109--120. https: //doi.org/10.1145/3135974.3135993
[30]
Hamed Hamzeh, Sofia Meacham, and Kashaf Khan. 2019. A New Approach to Calculate Resource Limits with Fairness in Kubernetes. In 2019 First International Conference on Digital Data Processing (DDP). 51--58. https://doi.org/10.1109/DDP. 2019.00020
[31]
https://kubernetes.io/. 2023. Assign CPU Resources to Containers and Pods. https: //kubernetes.io/docs/tasks/configure-pod-container/assign-cpu-resource/
[32]
https://kubernetes.io/. 2023. In-Place Update of Pod Resources. https://github. com/kubernetes/enhancements/issues/1287
[33]
https://kubernetes.io/. 2023. Kubernetes' Vertical Pod Autoscaler. https://github. com/kubernetes/autoscaler/tree/master/vertical-pod-autoscaler
[34]
https://kubernetes.io/. 2023. Resource Management for Pods and Containers. https: //kubernetes.io/docs/concepts/configuration/manage-resources-containers/
[35]
https://kubernetes.io/. 2023. StatefulSets. https://kubernetes.io/docs/concepts/ workloads/controllers/statefulset/
[36]
Gaopan Huang, Songyun Wang, Mingming Zhang, Yefei Li, Zhuzhong Qian, Yuan Chen, and Sheng Zhang. 2016. Auto scaling virtual machines for web applications with queueing theory. In 2016 3rd International conference on systems and informatics (ICSAI). IEEE, 433--438.
[37]
Jiamin Huang, Barzan Mozafari, Grant Schoenebeck, and Thomas F. Wenisch. 2017. A Top-Down Approach to Achieving Performance Predictability in Database Systems. In Proceedings of the 2017 ACM International Conference on Management of Data, SIGMOD Conference 2017, Chicago, IL, USA, May 14--19, 2017, Semih Salihoglu, Wenchao Zhou, Rada Chirkova, Jun Yang, and Dan Suciu (Eds.). ACM, 745--758. https://doi.org/10.1145/3035918.3064016
[38]
Xiuqi Huang, Yunlong Cheng, Xiaofeng Gao, and Guihai Chen. 2022. TEALED: A Multi-Step Workload Forecasting Approach Using Time-Sensitive EMD and Auto LSTM Encoder-Decoder. In Database Systems for Advanced Applications. 706--713.
[39]
IBM. 2023. IBM Cloud Databases for PostgreSQL. https://www.ibm.com/cloud/ databases-for-postgresql
[40]
Anshul Jindal, Vladimir Podolskiy, and Michael Gerndt. 2019. Performance Modeling for Cloud Microservice Applications. In Proceedings of the 2019 ACM/SPEC International Conference on Performance Engineering (Mumbai, India) (ICPE '19). Association for Computing Machinery, New York, NY, USA, 25--32. https: //doi.org/10.1145/3297663.3310309
[41]
MotherDuck Jordan Tigani. 2023. The Simple Joys of Scaling Up. https: //motherduck.com/blog/the-simple-joys-of-scaling-up/
[42]
Vasiliki Kalavri, John Liagouris, Moritz Hoffmann, Desislava Dimitrova, Matthew Forshaw, and Timothy Roscoe. 2018. Three Steps is All You Need: Fast, Accurate, Automatic Scaling Decisions for Distributed Streaming Dataflows. In Proceedings of the 13th USENIX Conference on Operating Systems Design and Implementation (Carlsbad, CA, USA) (OSDI'18). USENIX Association, USA, 783--798.
[43]
Bettina Kemme and Gustavo Alonso. 2010. Database Replication: A Tale of Research across Communities. Proc. VLDB Endow. 3, 1--2 (sep 2010), 5--12. https: //doi.org/10.14778/1920841.1920847
[44]
Floriment Klinaku, Sandro Speth, Markus Zilch, and Steffen Becker. 2023. Hitchhiker's Guide for Explainability in Autoscaling. In Companion of the 2023 ACM SPEC International Conference on Performance Engineering. 277--282.
[45]
Kubernetes. 2023. Kubernetes. https://kubernetes.io/
[46]
Arnd Christian König, Yi Shan, Karan Newatia, Luke Marshall, and Vivek Narasayya. 2023. Solver-In-The-Loop Cluster Resource Management for Database-as-a-Service. In 50th International Conference on Very Large Databases. VLDB Endowment, Inc.
[47]
Tirthankar Lahiri, Marie-Anne Neimat, and Steve Folkman. 2013. Oracle TimesTen: An In-Memory Database for Enterprise Applications. IEEE Data Eng. Bull. 36, 2 (2013), 6--13. http://sites.computer.org/debull/A13june/TimesTen1.pdf
[48]
Noam Levy. 2022. Groundcover: Between predictable and practical - on kubernetes limits. https://www.groundcover.com/blog/kubernetes-limits
[49]
Jiexing Li, Arnd Christian König, Vivek R. Narasayya, and Surajit Chaudhuri. 2012. Robust Estimation of Resource Consumption for SQL Queries using Statistical Techniques. Proc. VLDB Endow. 5, 11 (2012), 1555--1566. https://doi.org/10.14778/ 2350229.2350269
[50]
Tania Lorido-Botran, Jose Miguel-Alonso, and Jose A Lozano. 2014. A review of auto-scaling techniques for elastic applications in cloud environments. Journal of grid computing 12 (2014), 559--592.
[51]
Venkata Vamsikrishna Meduri, Kanchan Chowdhury, and Mohamed Sarwat. 2021. Evaluation of machine learning algorithms in predicting the next SQL query from the future. ACM Transactions on Database Systems (TODS) 46, 1 (2021), 1--46.
[52]
Themis Melissaris, Kunal Nabar, Rares Radut, Samir Rehmtulla, Arthur Shi, Samartha Chandrashekar, and Ioannis Papapanagiotou. 2022. Elastic Cloud Services: Scaling Snowflake's Control Plane. In Proceedings of the 13th Symposium on Cloud Computing (San Francisco, California) (SoCC '22). Association for Computing Machinery, New York, NY, USA, 142--157. https://doi.org/10.1145/3542929. 3563483
[53]
Microsoft. 2023. Azure. https://azure.microsoft.com/en-us.
[54]
Microsoft. 2023. Azure Arc-enabled SQL Managed Instance. https://learn.microsoft. com/en-us/azure/azure-arc/data/managed-instance-overview
[55]
Microsoft. 2023. Stitcher workload Pull Request 361 · cmu-db/benchbase - github.com. https://github.com/cmu-db/benchbase/pull/361.
[56]
Ross Mistry and Stacia Misner. 2014. Introducing Microsoft SQL Server 2014. Microsoft Press.
[57]
Barzan Mozafari, Carlo Curino, Alekh Jindal, and Samuel Madden. 2013. Performance and resource modeling in highly-concurrent OLTP workloads. In Proceedings of the ACM SIGMOD International Conference on Management of Data, SIGMOD 2013, New York, NY, USA, June 22--27, 2013. ACM, 301--312. https://doi.org/10.1145/2463676.2467800
[58]
Vivek Narasayya, Sudipto Das, Manoj Syamala, Badrish Chandramouli, and Surajit Chaudhuri. 2013. SQLVM: Performance Isolation in Multi-Tenant Relational Database-as-a-Service. In CIDR 2013 (cidr 2013 ed.). 6th Biennial Conference on Innovative Data Systems Research. https://www.microsoft.com/en-us/research/publication/sqlvm-performanceisolation-in-multi-tenant-relational-database-as-a-service/
[59]
Vivek Narasayya, Ishai Menache, Mohit Singh, Feng Li, Manoj Syamala, and Surajit Chaudhuri. 2015. Sharing Buffer Pool Memory in Multi-Tenant Relational Database-as-a-Service. Proc. VLDB Endow. 8, 7 (feb 2015), 726--737. https://doi. org/10.14778/2752939.2752942
[60]
Thanh-Tung Nguyen, Yu-Jin Yeom, Taehong Kim, Dae-Heon Park, and Sehan Kim. 2020. Horizontal pod autoscaling in Kubernetes for elastic container orchestration. Sensors 20, 16 (2020), 4621.
[61]
Zhicheng Pan, Yihang Wang, Yingying Zhang, Sean Bin Yang, Yunyao Cheng, Peng Chen, Chenjuan Guo, Qingsong Wen, Xiduo Tian, Yunliang Dou, Zhiqiang Zhou, Chengcheng Yang, Aoying Zhou, and Bin Yang. 2023. MagicScaler: Uncertainty-Aware, Predictive Autoscaling. Proc. VLDB Endow. 16, 12 (aug 2023), 3808--3821. https://doi.org/10.14778/3611540.3611566
[62]
Anna Pavlenko, Karla Saur, Yiwen Zhu, Brian Kroth, Joyce Cahoon, and Jesús Camacho-Rodríguez. 2024. VASIM: Vertical Autoscaling Simulator Toolkit. In IEEE International Conference on Data Engineering (ICDE 2024).
[63]
Linh-An Phan, Taehong Kim, et al. 2022. Traffic-aware horizontal pod autoscaler in Kubernetes-based edge computing infrastructure. IEEE Access 10 (2022), 18966--18977.
[64]
Vladimir Podolskiy. 2021. Multilayered Autoscaling Policies Simulation Toolbox. https://github.com/Remit/autoscaling-simulator
[65]
Vladimir Podolskiy. 2021. Predictive Autoscaling for Multilayered Cloud Deployments., 183 pages.
[66]
Olga Poppe, Pablo Castro, Willis Lang, and Jyoti Leeka. 2023. Proactive Resource Allocation Policy for Microsoft Azure Cognitive Search. SIGMOD Rec. 52, 3 (September 2023), 41--48.
[67]
Olga Poppe, Qun Guo, Willis Lang, Pankaj Arora, Morgan Oslake, Shize Xu, and Ajay Kalhan. 2022. Moneyball: Proactive Auto-Scaling in Microsoft Azure SQL Database Serverless. In VLDB 2022. ACM, 1279--1287.
[68]
Sergey Pronin. 2023. DBaaS on Kubernetes: Under the Hood. https://www.percona. com/blog/dbaas-on-kubernetes-under-the-hood/
[69]
Krzysztof Rzadca, Pawel Findeisen, Jacek Swiderski, Przemyslaw Zych, Przemyslaw Broniek, Jarek Kusmierek, Pawel Nowak, Beata Strack, Piotr Witusowski, Steven Hand, and John Wilkes. 2020. Autopilot:Workload Autoscaling at Google. In Proceedings of the Fifteenth European Conference on Computer Systems (Heraklion, Greece) (EuroSys '20). Association for Computing Machinery, New York, NY, USA, Article 16, 16 pages. https://doi.org/10.1145/3342195.3387524
[70]
Ahmed A. Soror, Umar Farooq Minhas, Ashraf Aboulnaga, Kenneth Salem, Peter Kokosielis, and Sunil Kamath. 2008. Automatic virtual machine configuration for database workloads. In Proceedings of the ACM SIGMOD International Conference on Management of Data, SIGMOD 2008, Vancouver, BC, Canada, June 10--12, 2008. ACM, 953--966. https://doi.org/10.1145/1376616.1376711
[71]
SpeedScale. [n.d.]. How to Test Autoscaling in Kubernetes. https://speedscale. com/blog/how-to-test-kubernetes-autoscaling/
[72]
Sean J Taylor and Benjamin Letham. 2018. Forecasting at scale. The American Statistician 72, 1 (2018), 37--45.
[73]
VMware. 2022. Use the Autoscaler in Simulation Mode to Learn Service Behavior Without Scaling the Target Service. https://docs.vmware.com/en/VMware-Tanzu-Service-Mesh/services/service-autoscaling-with-tsm-user-guide/GUID-54E2BDEC-283F-4BB7-A786--5E260E806EF5.html
[74]
ChengchengWan, Yiwen Zhu, Joyce Cahoon,WenjingWang, Katherine Lin, Sean Liu, Raymond Truong, Neetu Singh, Alexandra Ciortea, Konstantinos Karanasos, et al. 2023. Stitcher: Learned Workload Synthesis from Historical Performance Footprints. (2023).
[75]
ThomasWang, Simone Ferlin, and Marco Chiesa. 2021. Predicting CPU Usage for Proactive Autoscaling. In Proceedings of the 1stWorkshop on Machine Learning and Systems (Online, United Kingdom) (EuroMLSys '21). Association for Computing Machinery, New York, NY, USA, 31--38. https://doi.org/10.1145/3437984.3458831
[76]
Yi Wei, Daniel Kudenko, Shijun Liu, Li Pan, Lei Wu, and Xiangxu Meng. 2019. A reinforcement learning based auto-scaling approach for SaaS providers in dynamic cloud environment. Mathematical Problems in Engineering 2019 (2019).
[77]
Wikipedia. 2023. Pareto front. https://en.wikipedia.org/wiki/Pareto_front.
[78]
Yuxuan Zhao and Alexandru Uta. 2022. Tiny Autoscalers for Tiny Workloads: Dynamic CPU Allocation for Serverless Functions. In 22nd IEEE International Symposium on Cluster, Cloud and Internet Computing, CCGrid 2022, Taormina, Italy, May 16--19, 2022. IEEE, 170--179. https://doi.org/10.1109/CCGrid54584.2022.00026

Index Terms

  1. Vertically Autoscaling Monolithic Applications with CaaSPER: Scalable Container-as-a-Service Performance Enhanced Resizing Algorithm for the Cloud

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    SIGMOD/PODS '24: Companion of the 2024 International Conference on Management of Data
    June 2024
    694 pages
    ISBN:9798400704222
    DOI:10.1145/3626246
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 09 June 2024

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. containers
    2. kubernetes
    3. resource optimization
    4. vertical auto-scaling

    Qualifiers

    • Research-article

    Conference

    SIGMOD/PODS '24
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 785 of 4,003 submissions, 20%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • 0
      Total Citations
    • 234
      Total Downloads
    • Downloads (Last 12 months)234
    • Downloads (Last 6 weeks)101
    Reflects downloads up to 06 Oct 2024

    Other Metrics

    Citations

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Get Access

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media