Розроблення та розгортання системи управління відносинами з клієнтами на Kubernetes - Лесів, Володимир Олегович; Lesiv, Volodymyr Olehovych (Національний університет "Львівська політехніка", 2024)
Система управління відносинами з клієнтами(CRM) — це платформа, яка допомагає компаніям акумулювати дані, відстежувати взаємодії з клієнтами та автоматизувати процеси продажів та маркетингу, забезпечуючи персоналізований підхід до клієнтів [1]. Із зростанням обсягів даних виникає потреба у більш гнучкому, масштабованому та адаптивному середовищі розгортання. Для цього дедалі частіше обирають Kubernetes — систему оркестрації контейнерів, яка дозволяє нам автоматизувати розгортання, масштабування та керування контейнеризованими сервісами [2]. Побудова CRM системи на Kubernetes відкриває для бізнесу ряд нових можливостей: автоматичне балансування навантаження, відновлення контейнерів у випадку помилки, високу портативність між хмарними та локальними середовищами. Разом з впровадженням системи оркестрації, відкривається можливість зміни монолітної архітектури на мікросервісну, що підвищує гнучкість, дозволяє незалежно оновлювати компоненти та скорочує час релізу нових функцій [5]. Kubernetes, як технологія не є затратною, проте існують сценарії виходу за межі бюджету. Щоб уникнути зайвих витрат і забезпечити стабільну роботу, необхідно правильно налаштувати запити ресурсів і запровадити автоматичне масштабування, застосувавши принципи ефективних витрат [3]. Невід’ємною складовою сучасного світу розробки є CI/CD-підхід, що гарантує безперервну інтеграцію змін коду та їхнє безпечне впровадження у середовище побудови програмного забезпечення. Автоматизовані збірки, тестування й розгортання знижують ризики людських помилок, та сприяють пришвидшеному виходу на ринок. [4]. У сукупності CI/CD та Kubernetes формують основу DevOps культури, де команда відповідних спеціалістів бере на себе повну відповідальність за життєвий цикл сервісів, таких як CRM. Об’єкт дослідження – система управління відносинами з клієнтами, розгорнута у локальному кластері Kubernetes. Предмет дослідження – методи проектування мікросервісної CRM-архітектури, CI/CD-процеси та стратегії оптимізації ресурсів у хмарних чи локальних середовищах. Мета дослідження – розробити та впровадити CRM-систему, здатну масштабуватися відповідно до бізнес-потреб, забезпечувати високу доступність і мінімізувати витрати на інфраструктуру. У результаті створено прототип CRM на базі Django REST API та бази даних Postgres, організований, як набір мікросервісів у локальному кластері Kubernetes. Реалізовано автоматичну збірку та розгортання системи за допомогою GitLab CI/CD. Налаштовано горизонтальне автомасштабування подів, що дозволило знизити споживання ресурсів до 30 % у неробочі години, зберігаючи стабільність сервісу. Проведене дослідження підтвердило легкість міграції між локальним та хмарним оточенням, а також спроможність системи безперервно обслуговувати зростаючу кількість користувачів без простою за допомогою Load Balancer. Отримані результати можуть стати основою для впровадження CRM-систем у бізнесах різного розміру та типу, які прагнуть підвищити ефективність взаємодії з клієнтами, оптимізувати витрати та прискорити інновації завдяки сучасним практикам DevOps та Kubernetes-орієнтованим технологіям.

A customer relationship management (CRM) system is a platform that helps companies accumulate data, track customer interactions, and automate sales and marketing processes, providing a personalized approach to customers [1]. With the growth of data volumes, there is a need for a more flexible, scalable, and adaptive deployment environment. To this end, Kubernetes is increasingly being chosen — a container orchestration system that allows us to automate the deployment, scaling, and management of containerized services [2]. Building a CRM system on Kubernetes opens up a number of new opportunities for businesses: automatic load balancing, container recovery in case of failure, and high portability between cloud and local environments. With the introduction of the orchestration system, it becomes possible to change from a monolithic architecture to a microservice architecture, which increases flexibility, allows components to be updated independently, and reduces the time to release new features [5]. Kubernetes is not a costly technology, but there are scenarios where it can exceed the budget. To avoid unnecessary costs and ensure stable operation, it is necessary to correctly configure resource requests and implement automatic scaling, applying the principles of cost-efficiency [3]. An integral part of the modern world of development is the CI/CD approach, which guarantees the continuous integration of code changes and their safe implementation in the software development environment. Automated builds, testing, and deployment reduce the risk of human error and contribute to faster time to market [4]. Together, CI/CD and Kubernetes form the basis of the DevOps culture, where a team of technology-savvy specialists takes full responsibility for the lifecycle of services such as CRM. The object of the study is a customer relationship management system deployed in a local Kubernetes cluster. The subject of the study is the methods of designing microservice CRM architecture, CI/CD processes, and strategies for optimizing resources in cloud or local environments. The goal of the study is to develop and implement a CRM system that can scale according to business needs, ensure high availability, and minimize infrastructure costs. As a result, a CRM prototype based on Django REST API and Postgres database was created, organized as a set of microservices in a local Kubernetes cluster. Automatic assembly and deployment of the system using GitLab CI/CD was implemented. Horizontal auto-scaling of pods was configured, which reduced resource consumption by up to 30% during non-working hours while maintaining service stability. Research confirmed the ease of migration between local and cloud environments, as well as the system's ability to continuously serve a growing number of users without downtime using Load Balancer. The results obtained can serve as a basis for the implementation of CRM systems in businesses of various sizes and types that seek to improve customer engagement, optimize costs, and accelerate innovation through modern DevOps practices and Kubernetes-oriented technologies.
Development and deployment of a customer relationship management system on Kubernetes
Keywords: 6.122.00.00; система оркестрації; контейнери; система управління відносинами з клієнтами(CRM); мікросервіси; автоматичне масштабування; Kubernetes(K8s); CI/CD; Django REST API; Postgres; DevOps. Перелік використаних джерел: 1. Aditi S. (2023; 5 квітня). Understanding The Application Of CRM Systems In Business. Forbes. https://www.forbes.com/councils/forbesbusinesscouncil/2023/04/05/understanding the-application-of-crm-systems-in-business/ 2. Константинів; Д. (2022; 13 жовтня). Kubernetes for Business: Benefits; Limitations; and Migration Tips. alpacked.io. https://alpacked.io/blog/kubernetes for-business-benefits-limitations-and-migration-tips/ 3. Platform Engineers. (2024; 14 серпня). Kubernetes Cluster Optimization for Cost Efficiency. Medium. https://medium.com/@platform.engineers/kubernetes-cluster optimization-for-cost-efficiency-287dc6f4610d 4. 3pillar. (2021; 28 січня). The Business Impact & Benefits of CI/CD - 3Pillar. 3Pillar. https://www.3pillarglobal.com/insights/blog/the-business-impact-benefits-of-ci cd/#:~:text=CI/CD%20automation%20can%20eliminate; can%20dramatically%20ac celerate%20release%20rates. 5. Harris; C. (б. д.). Microservices vs. Monolithic architecture. Atlassian. https://www.atlassian.com/microservices/microservices-architecture/microservices vs-monolith; orchestration system; containers; customer relationship management (CRM) system; microservices; automatic scaling; Kubernetes (K8s); CI/CD; Django REST API; Postgres; DevOps. List of sources used: 6. Aditi S. (2023; 5 квітня). Understanding The Application Of CRM Systems In Business. Forbes. https://www.forbes.com/councils/forbesbusinesscouncil/2023/04/05/understanding the-application-of-crm-systems-in-business/ 7. Константинів; Д. (2022; 13 жовтня). Kubernetes for Business: Benefits; Limitations; and Migration Tips. alpacked.io. https://alpacked.io/blog/kubernetes for-business-benefits-limitations-and-migration-tips/ 8. Platform Engineers. (2024; 14 серпня). Kubernetes Cluster Optimization for Cost Efficiency. Medium. https://medium.com/@platform.engineers/kubernetes-cluster optimization-for-cost-efficiency-287dc6f4610d 9. 3pillar. (2021; 28 січня). The Business Impact & Benefits of CI/CD - 3Pillar. 3Pillar. https://www.3pillarglobal.com/insights/blog/the-business-impact-benefits-of-ci cd/#:~:text=CI/CD%20automation%20can%20eliminate; can%20dramatically%20ac celerate%20release%20rates 10. Harris; C. (б. д.). Microservices vs. Monolithic architecture. Atlassian. https://www.atlassian.com/microservices/microservices-architecture/microservices vs-monolith