[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3194133.3194162acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
short-paper

K8-scalar: a workbench to compare autoscalers for container-orchestrated database clusters

Published: 28 May 2018 Publication History

Abstract

Although a considerable amount of research exists on auto-scaling of database clusters, the design of an effective auto-scaling strategy requires fine-grained tailoring towards the specific application scenario.
This paper presents an easy-to-use and extensible workbench exemplar, named K8-Scalar (Kube-Scalar), which allows researchers to implement and evaluate different self-adaptive approaches to auto-scaling container-orchestrated services. The workbench is based on Docker, a popular technology for easing the deployment of containerized software that also has been positioned as an enabler for reproducible research. The workbench also relies on a container orchestration framework: Kubernetes (K8s), the de-facto industry standard for orchestration and monitoring of elastically scalable container-based services. Finally, it integrates and extends Scalar, a generic testbed for evaluating the scalability of large-scale systems with support for evaluating the performance of autoscalers for database clusters.
The paper discusses (i) the architecture and implementation of K8-Scalar and how a particular autoscaler can be plugged in, (ii) sketches the design of a Riemann-based autoscaler for database clusters, (iii) illustrates how to design, setup and analyze a series of experiments to configure and evaluate the performance of this autoscaler for a particular database (i.e., Cassandra) and a particular workload type, and (iv) validates the effectiveness of K8-Scalar as a workbench for accurately comparing the performance of different auto-scaling strategies.

References

[1]
Apache. 2018. Apache Mesos. URL: http://mesos.apache.org/, accessed 2018-0123. (2018).
[2]
Khun Ban, Robert Scott, Huijun Yan, and Kingsum Chow. 2011. Delivering Quality in Software Performance and Scalability Testing. In Pacific Northwest Software Quality Conference.
[3]
Cornel Barna, Hamzeh Khazaei, Marios Fokaefs, and Marin Litoiu. 2017. Delivering Elastic Containerized Cloud Applications to Enable DevOps. Proceedings - 2017 IEEE/ACM 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2017 (2017), 65--75. https: // 2017.12
[4]
Carl Boettiger. 2015. An Introduction to Docker for Reproducible Research. SIGOPS Oper. Syst. Rev. 49, 1 (Jan. 2015), 71--79.
[5]
E. Brewer. 2012. CAP twelve years later: How the "rules" have changed. Computer 45, 2 (2012), 23--29.
[6]
Brendan Burns, Brian Grant, David Oppenheimer, Eric Brewer, and John Wilkes. 2016. Borg, Omega, and Kubernetes. Commun. ACM 59, 5 (2016), 50--57.
[7]
Jeff Carpenter and Eben Hewitt. 2017. Cassandra: The Definitive Guide: Distributed Data at Web Scale. O'Reilly. Chapter 2, page 18.
[8]
Apache Cassandra. 2017. MemTables and SSTables. URL: https://wiki.apache.org/cassandra/MemtableSSTable, accessed 2017-08-04. (2017).
[9]
Apache Cassandra. 2018. Understanding the architecture. URL: http://docs.datastax.com/en/cassandra/3.0/cassandra/architecture/archTOC.html, accessed 2018-01-29. (2018).
[10]
Yong Chen and Xian-He Sun. 2006. Stas: A scalability testing and analysis system. In Cluster Computing, 2006 IEEE International Conference on. IEEE, 1--10.
[11]
Brian F. Cooper, Adam Silberstein, Erwin Tam, Raghu Ramakrishnan, and Russell Sears. 2010. Benchmarking cloud serving systems with YCSB. Proceedings of the 1st ACM symposium on Cloud computing - SoCC '10 (2010), 143--154.
[12]
Ioannis Konstantinou Dimitrios Tsoumakos and Christina Boumpouka. 2013. Automated, Elastic Resource Provisioning for NoSQL Clusters Using TIRAMOLA. IEEE. Conference paper at Delft, Netherlands.
[13]
Amr El Abbadi Divyakant Agrawal and Sudipto Das. 2011. Database scalability, elasticity, and autonomy in the cloud. Springer-Verlag Berlin. DASFAA'11, Volume Part I, pages 2--15.
[14]
Simon Dobson, Spyros Denazis, Antonio Fernández, Dominique Gaïti, Erol Gelenbe, Fabio Massacci, Paddy Nixon, Fabrice Saffre, Nikita Schmidt, and Franco Zambonelli. 2006. A Survey of Autonomic Communications. ACM Trans. Auton. Adapt. Syst. 1, 2 (Dec. 2006), 223--259.
[15]
Docker. 2018. Docker Engine. https://docs.docker.com/engine/, accessed 201801-24. (2018).
[16]
Docker. 2018. Swarm mode overview. URL: https://docs.docker.com/engine/ swarm/, accessed 2017-08-04. (2018).
[17]
Betty H. C. Cheng et al. 2009. Software Engineering for Self-Adaptive Systems: A Research Roadmap. In Software Engineering for Self-Adaptive Systems (Lecture Notes in Computer Science), Betty H C Cheng, Rogério de Lemos, Holger Giese, Paola Inverardi, and Jeff Magee (Eds.), Vol. 5525. Springer, 1--26.
[18]
Ludwig Heiko et al. 2003. Web service level agreement (WSLA) language specification. IBM Corporation. pages 815--824.
[19]
Google. {n. d.}. Compare Mesos, Kubernetes and Docker Swarm. URL: https://trends.google.com/trends/explore?q=mesos,Kubernetes,DockerSwarm, accessed 2018-01-23. ({n. d.}).
[20]
Grafana. 2017. The leading open source software for time series analytics. URL: https://grafana.com/, accessed 2017-08-04. (2017).
[21]
Neil J. Gunther. 2007. Guerrilla Capacity Planning. Springer-Verlag, Heidelberg, Germany.
[22]
Neil J. Gunther. 2008. A general theory of computational scalability based on rational functions. arXiv preprint arXiv:0808.1431 (2008).
[23]
Thomas Heyman, Davy Preuveneers, and Wouter Joosen. 2014. Scalar: Systematic scalability analysis with the Universal Scalability Law. In 2014 International Conference on Future Internet of Things and Cloud. 497--504. https://lirias.kuleuven.be/handle/123456789/460752
[24]
KU Leuven imec DistriNet. 2018. K8-Scalar. URL: https://github.com/k8-scalar/k8-scalar, accessed 2018-01-29. (2018).
[25]
Prasad Jogalekar and Murray Woodside. 2000. Evaluating the scalability of distributed systems. IEEE Transactions on parallel and distributed systems 11, 6 (2000), 589--603.
[26]
Jeffrey O. Kephart and David M. Chess. 2003. The vision of autonomic computing. Computer 36, 1 (2003), 41--50.
[27]
Kubernetes. 2017. Heapster. URL: https://github.com/kubernetes/heapster/blob/master/docs/storage-schema.md, accessed 2018-01-26. (2017).
[28]
Kubernetes. 2017. Heapster sink configuration. URL: https://github.com/kubernetes/heapster/blob/master/docs/sink-configuration.md, accessed 2018-01-26. (2017).
[29]
Kubernetes. 2017. Kubernetes components. URL: https://kubernetes.io/docs/concepts/overview/components/, accessed 2017-08-04. (2017).
[30]
Kubernetes. 2018. Kubernetes setup solutions. https://kubernetes.io/docs/setup/pick-right-solution/. (2018). Accessed: January 23 2018.
[31]
Kubernetes. 2018. Production-Grade Container Orchestration. URL: https://kubernetes.io/, accessed 2018-01-23. (2018).
[32]
Kubernetes. 2018. StatefulSets. https://kubernetes.io/docs/concepts/workloads/ controllers/statefulset/. (2018). Accessed: January 23 2018.
[33]
Kubernetes. 2018. Using kubeadm to Create a Cluster. URL: https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/, accessed 2018-01-29. (2018).
[34]
Michlmayr A Leitner P. 2011. Monitoring, prediction and prevention of SLA violations in composite services. IEEE International Conference on Web Services (ICWS). Florida, USA, Miami, pp 369âĂŞ376.
[35]
John DC Little and Stephen C Graves. 2008. Little's law. In Building intuition. Springer, 81--100.
[36]
Ron Miller. 2017. 36 companies agree to a Kubernetes certification standard. https://techcrunch.com/2017/11/13/the-cncf-just-got-36-companies-to- agree-to-a-kubernetes-certification- standard/. (2017).
[37]
OpenStack. 2017. OpenStack User Survey Report November 2017. https://www.openstack.org/assets/survey/OpenStack-User-Survey-Nov17.pdf. (2017). Accessed: January 23 2018.
[38]
Ansar Rafique, Dimitri Van Landuyt, and Wouter Joosen. 2018. PERSIST: Policy- Based Data Management Middleware for Multi-Tenant SaaS Leveraging Federated CloudStorage. Journal of Grid Computing (14 Mar 2018).
[39]
Riemann. 2017. Riemann monitors distributed systems. URL: http://riemann.io/, accessed 2017-08-08. (2017).
[40]
Riemann. 2017. Riemann Streams - moving event window. URL: http://riemann.io/api/riemann.streams.html, accessed 2017-08-04. (2017).
[41]
Prateek Sharma, Lucas Chaufournier, Prashant Shenoy, and Y C Tay. 2016. Containers and Virtual Machines at Scale: A Comparative Study. In Proceedings of the 17th International Middleware Conference (Middleware '16). ACM, New York, NY, USA, 1:1---1:13.
[42]
Stepan Shevtsov, Danny Weyns, and Martina Maggio. 2018. Self-adaptation of software using automatically generated control-theoretical solutions. In Engineering Adaptive Software Systems (EASSy). Chapter 1, 1--17. to appear, preprint available at https://people.cs.kuleuven.be/danny.weyns/papers/2018EASSy.pdf.
[43]
Niclas Snellman, Adnan Ashraf, and Ivan Porres. 2011. Towards automatic performance and scalability testing of rich internet applications in the cloud. In Software Engineering and Advanced Applications (SEAA), 2011 37th EUROMICRO Conference on. IEEE, 161--169.
[44]
Eddy Truyen, Dimitri Van Landuyt, Vincent Reniers, Ansar Rafique, Bert Lagaisse, and Wouter Joosen. 2016. Towards a container-based architecture for multi-tenant SaaS applications. In ARM 2016 Proceedings of the 15th International Workshop on Adaptive and Reflective Middleware. ACM.
[45]
Martti Vasar, Satish Narayana Srirama, and Marlon Dumas. 2012. Framework for monitoring and testing web application scalability on the cloud. In Proceedings of the WICSA/ECSA 2012 Companion Volume. ACM, 53--60.
[46]
Macro Netto et al. Vincent Emeakaroha. 2012. Towards autonomic detection of SLA violations in Cloud infrastructures. Future Generation Computer Systems. CVolume 28, Issue 7, July 2012, Pages 1017--1029.
[47]
Miguel Gomes Xavier, Marcelo Veiga Neves, and Cesar Augusto Fonticielha De Rose. 2014. A Performance Comparison of Container-Based Virtualization Systems for MapReduce Clusters. 2014 22nd Euromicro International Conference on Parallel, Distributed, and Network-Based Processing (2014), 299--306.
[48]
L. Zhao, S. Sakr, and A. Liu. 2015. A Framework for Consumer-Centric SLA Management of Cloud-Hosted Databases. IEEE Transactions on Services Computing 8, 4 (July 2015), 534--549.

Cited By

View all
  • (2024)Comparative Analysis of Container Orchestration Platforms: Kubernetes vs. Docker SwarmInternational Journal of Scientific Research in Science and Technology10.32628/IJSRST2410525411:5(526-543)Online publication date: 31-Oct-2024
  • (2024)A robust optimization approach for placement of applications in edge computing considering latency uncertaintyOmega10.1016/j.omega.2024.103064126(103064)Online publication date: Jul-2024
  • (2023)Vendor-Agnostic Reconfiguration of Kubernetes Clusters in Cloud FederationsFuture Internet10.3390/fi1502006315:2(63)Online publication date: 1-Feb-2023
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
SEAMS '18: Proceedings of the 13th International Conference on Software Engineering for Adaptive and Self-Managing Systems
May 2018
244 pages
ISBN:9781450357159
DOI:10.1145/3194133
  • General Chair:
  • Jesper Andersson,
  • Program Chair:
  • Danny Weyns
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 ACM 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: 28 May 2018

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. autoscaling
  2. container orchestration
  3. experimentation exemplar

Qualifiers

  • Short-paper

Conference

ICSE '18
Sponsor:

Acceptance Rates

Overall Acceptance Rate 17 of 31 submissions, 55%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)37
  • Downloads (Last 6 weeks)2
Reflects downloads up to 27 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Comparative Analysis of Container Orchestration Platforms: Kubernetes vs. Docker SwarmInternational Journal of Scientific Research in Science and Technology10.32628/IJSRST2410525411:5(526-543)Online publication date: 31-Oct-2024
  • (2024)A robust optimization approach for placement of applications in edge computing considering latency uncertaintyOmega10.1016/j.omega.2024.103064126(103064)Online publication date: Jul-2024
  • (2023)Vendor-Agnostic Reconfiguration of Kubernetes Clusters in Cloud FederationsFuture Internet10.3390/fi1502006315:2(63)Online publication date: 1-Feb-2023
  • (2023)Explaining quality attribute tradeoffs in automated planning for self-adaptive systemsJournal of Systems and Software10.1016/j.jss.2022.111538198:COnline publication date: 1-Apr-2023
  • (2022)SimdexProceedings of the 17th Symposium on Software Engineering for Adaptive and Self-Managing Systems10.1145/3524844.3528078(167-173)Online publication date: 18-May-2022
  • (2022)ML-DEECo: a Machine-Learning-Enabled Framework for Self-organizing Components2022 IEEE International Conference on Autonomic Computing and Self-Organizing Systems Companion (ACSOS-C)10.1109/ACSOSC56246.2022.00033(66-69)Online publication date: Sep-2022
  • (2022)Adaptive processing rate based container provisioning for meshed Micro-services in Kubernetes CloudsCCF Transactions on High Performance Computing10.1007/s42514-022-00096-x4:2(165-181)Online publication date: 6-Apr-2022
  • (2020)A Simulation-based Comparison between Industrial Autoscaling Solutions and COCOS for Cloud Applications2020 IEEE International Conference on Web Services (ICWS)10.1109/ICWS49710.2020.00020(94-101)Online publication date: Oct-2020
  • (2020)A preliminary analysis of self-adaptive systems according to different issuesSoftware Quality Journal10.1007/s11219-020-09502-528:3(1213-1243)Online publication date: 1-Sep-2020
  • (2019)A Comprehensive Feature Comparison Study of Open-Source Container Orchestration FrameworksApplied Sciences10.3390/app90509319:5(931)Online publication date: 5-Mar-2019
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media