Проактивне автоматичне масштабування вверх для Kuberneters
DOI:
https://doi.org/10.20535/1560-8956.42.2023.278925Ключові слова:
автоматичне масштабування, хмарні обчислення, Kubernetes, проактивне масштабування, реактивне масштабуванняАнотація
Сучасні виклики в мікросервісній архітектурі вимагають авто-масштабування. Як приклад можна розглянути «Чорну п’ятницю», коли навантаження на систему значно зростає і, очевидно, для її обслуговування потрібні додаткові
обчислювальні можливості. Розгортання нового екземпляра під час масштабування може зайняти деякий час і змусити користувача чекати кращої продуктивності системи, доки новий екземпляр не запрацює. Тому заходи по масштабуванню повинні починатися якомога раніше. Єдине рішення полягає в тому, щоб використовувати
прогнозування та почати масштабування раніше, маючи прогнозування майбутнього тренду навантаження.
У цій статті автоматичне масштабування зосереджено на Kubernetes, оскільки Kubernetes де-факто є стандартом для оркестровці контейнерів. Автори пропонують рішення, надаючи git-посилання на код. Рішення реалізовано як Java-застосунок, який використовує базу даних часових рядів (у цьому випадку InfluxDB) для розуміння навантаження на мікросервіс. Рішення використовує дві моделі прогнозування – експоненційне згладжування (ES) і подвійне експоненціальне згладжування (DES). Дві моделі використовуються для порівняння одна з одною.
Проведені випробування продуктивності, розглянуто два основних варіанти використання – випадок повільного зростання навантаження та випадок швидкого зростання навантаження. На основі експериментів виявлено, що у всіх випадках проактивне масштабування працює краще, ніж реактивне. Корисність проактивного підходу більш
помітна у випадку швидкого зростання навантаження. Якщо порівнювати ES і DES між собою, то в обох випадках DES показав кращі результати. Майбутнє вдосконалення рішення може полягати у створенні рішення як розширення екосистеми Kubernetes для легкого підключення до інфраструктури Kubernetes. Також одним із покращень може бути підтримка Prometheus як бази даних часових рядів.
Бібл. 20, іл. 3, табл. 2
Посилання
Armbrust, M. Fox, A, Griffith, R. Joseph, D. A. Katz, R. Konwinski Above the clouds / A Berkeley View of cloud computing. University of California, Berkeley, February 2009, pp. 6-7.
Armbrust, M. Fox, A, Griffith, R. Joseph, D. A. Katz, R. Konwinski Above the clouds / A Berkeley View of cloud computing. University of California, Berkeley, February 2009, pp. 10-12.
Tighe, Michael & Bauer, Michael Integrating Cloud Application Autoscaling with Dynamic VM Allocation / in Proceedings of 14th IEEE/IFIP Network Operations and Management Symposium: Management in a Software Defined World, Krakow, Poland, May 2014.
Kee Kim, Wei Wang, Yanjun Qi, and Marty Humphrey Empirical Evaluation of Workload Forecasting Techniques for Predictive Cloud Resource Scaling / in Proceedings of 9th International Conference on Cloud Computing, San Francisco, CA, USA, June 2016, pp 8-9.
N. Roy, A. Dubey and A. Gokhale Efficient Autoscaling in the Cloud Using Predictive Models for Workload Forecasting / in Proceedings of 4th International Conference on Cloud Computing, Washington, DC, USA, July 2011, pp. 500-507.
AWS News blog, New - Predictive Scaling for EC2, Powered by Machine Learning. [Online]. Available: https://aws.amazon.com/blogs/aws/new-predictive-scalingfor-ec2-powered-by-machine-learning
Wajahat, Muhammad & Gandhi, Anshul & Karve, Alexei & Kochut, Andrzej Using machine learning for black-box autoscaling / in Proceedings of 7th International Green and Sustainable Computing Conference, Hangzhou, China, November 2016, pp. 1-8.
What is a Container? [Online]. Available: https://www.docker.com/resources/what-container
David Bernstein Containers and Cloud: From LXC to Docker to Kubernetes / IEEE Cloud Computing, Vol. 1, Issue 3, pp. 81 -84, Sep. 2014.
Kubernetes on AWS. [Online]. Available: https://aws.amazon.com/kubernetes
Kubernetes Engine [Online]. Available: https://cloud.google.com/kubernetesengine
Autoscaling in Kubernetes. [Online]. Available: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale
Aslanpour, Mohammad Sadegh and Seyed Ebrahim Dashti Proactive AutoScaling Algorithm (PASA) for Cloud Application / International Journal of Grid and High Performance Computing, Vol. 9, Issue 3, pp. 1 -16, 2017.
K. Kanagala and K. Sekaran An approach for dynamic scaling of resources in enterprise cloud / in Proceedings of IEEE 5th International Conference on Cloud Computing Technology and Science, Vol. 2, Bristol, UK, Dec 2013, pp. 345–348.
Brown, Robert Goodell Smoothing Forecasting and Prediction of Discrete Time Series / 1963, Englewood Cliffs, NJ: Prentice-Hall, USA, pp. 99-104.
NIST/SEMATECH e-Handbook of Statistical Methods, 6.4.3.3. Double Exponential Smoothing [Online]. Available:
https://www.itl.nist.gov/div898/handbook/pmc/section4/pmc433.htm
Brown, Robert Goodell Smoothing Forecasting and Prediction of Discrete Time Series / 1963, Englewood Cliffs, NJ: Prentice-Hall, USA, pp. 128-132.
Proactive autoscaler for Kubernetes [Online]. Available:https://github.com/dimamon/proactive-scaler
Minikube project on GitHub [Online]. Available:https://github.com/kubernetes/minikube
Apache JMeter [Online]. Available: https://jmeter.apache.org
##submission.downloads##
Опубліковано
Номер
Розділ
Ліцензія
Автори залишають за собою право на авторство своєї роботи та передають журналу право першої публікації цієї роботи на умовах ліцензії Creative Commons Attribution License, котра дозволяє іншим особам вільно розповсюджувати опубліковану роботу з обов'язковим посиланням на авторів оригінальної роботи та першу публікацію роботи у нашому журналі.
2. Автори мають право укладати самостійні додаткові угоди щодо неексклюзивного розповсюдження роботи у тому вигляді, в якому вона була опублікована нашим журналом (наприклад, розміщувати роботу в електронному сховищі установи або публікувати у складі монографії), за умови збереження посилання на першу публікацію роботи у нашому журналі.
3. Політика журналу дозволяє і заохочує розміщення рукопису роботи авторами в мережі Інтернет (наприклад, на arXiv.org або на особистих веб-сайтах). Причому рукописи статей можуть бути розміщенні у відкритих архівах як до подання рукопису до редакції, так і під час його редакційного опрацювання. Це сприяє виникненню продуктивної наукової дискусії, позитивно позначається на оперативності ознайомлення наукової спільноти з результатами Ваших досліджень і як наслідок на динаміці цитування вже опублікованої у журналі роботи. Детальніше про це: The Effect of Open Access.