Міграція програмного забезпечення з монолітної архітектури на архітектуру мікросервісів як спосіб захисту CRM-систем
Date
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Видавництво Львівської політехніки
Lviv Politechnic Publishing House
Lviv Politechnic Publishing House
Abstract
Висвітлено дослідження, зосереджене на захисті CRM-систем в умовах переходу програмного забезпечення, яке становить основну частину CRM-систем, із монолітної архітектури на архітектуру на основі мікросервісів. У статті досліджено стратегію міграції з використанням шаблону Strangler Fig, яка полегшує поступове впровадження мікросервісів, зберігаючи сумісність із наявним монолітом. Ключовим аспектом стратегії міграції є вибір структури, такої як Framework for Microservices Migrations (FMM), яка стандартизує методи розроблення та допомагає у декомпозиції монолітів на керовані компоненти. Зв’язок між мікросервісами та монолітом полегшується через REST API, що забезпечує безперебійну взаємодію. Інтеграція мікросервісів досягається за допомогою впровадження DTO (Data Transfer Objects – об’єктів передавання даних) і шлюзів API, що забезпечує плавний обмін даними між компонентами. У статті підкреслено важливість керування залежностями та конфігурації в мікросервісах, наголошено на необхідності інкапсуляції та автономності. Крім того, у здійсненому дослідженні розглянуто використання шаблонів Curcuit Breaker для ефективного оброблення збоїв і підтримки стійкості системи під час процесу міграції. Мікросервіси потребують надійних методів автентифікації, таких як криптографічні ключі API та токени. Security Assertion Markup Language (SAML) або OpenID з OAuth 2.0 – рішення, запропоновані для підвищення безпеки даних. Централізована архітектура для політик авторизації має вирішальне значення для регулювання доступу до всіх мікросервісів, тоді як стандартизована автентифікація на основі маркерів забезпечує взаємодію незалежно від платформи. Однак децентралізоване застосування авторизації в кожній точці входу мікросервісу може призвести до непослідовних політик безпеки. Крім того, для доступу до API, що обробляють конфіденційні дані, потрібні маркери автентифікації із цифровими підписами або з надійних джерел. Політики контролю доступу повинні бути ретельно визначені та запроваджені, враховуючи термін дії маркера та обмеження обсягу. Анотація підкреслює важливість централізованого керування доступом і проблеми, пов’язані з анонімними з’єднаннями в обхід шлюзів API.
The study of this work was focused on the process of protecting CRM systems in the conditions of the transition of software, which is the main part of CRM systems from a monolithic architecture to an architecture based on microservices. This article explores a migration strategy using the Strangler Fig pattern that facilitates the incremental adoption of microservices while maintaining compatibility with the existing monolith. A key aspect of a migration strategy is choosing a framework, such as the Framework for Microservices Migrations (FMM), that standardizes development practices and helps decompose monoliths into manageable components. Communication between microservices and the monolith is facilitated through a REST API that ensures seamless interaction. The integration of microservices is achieved through the implementation of DTOs (Data Transfer Objects) and API gateways, which ensures smooth data exchange between components. The article emphasizes the importance of dependency and configuration management in microservices, emphasizing the need for encapsulation and autonomy. In addition, the research examines the use of Curcuit Breaker patterns to effectively handle failures and maintain system stability during the migration process. Microservices, implemented as APIs, demand robust authentication methods such as cryptographic API keys and tokens. Security Assertion Markup Language (SAML) or OpenID with OAuth 2.0 are suggested solutions to enhance data security. Centralized architecture for authorization policies is crucial to regulate access across all microservices, while standardized token-based authentication ensures platform-neutral interoperability. However, decentralized authorization enforcement at each microservice entry point may lead to inconsistent security policies. Moreover, access to APIs handling confidential data necessitates authentication tokens with digital signatures or from trusted sources. Access control policies should be meticulously defined and enforced, with considerations for token expiration and scope limitations. The abstract underscores the significance of centralized access management and the challenges posed by anonymous connections bypassing API gateways.
The study of this work was focused on the process of protecting CRM systems in the conditions of the transition of software, which is the main part of CRM systems from a monolithic architecture to an architecture based on microservices. This article explores a migration strategy using the Strangler Fig pattern that facilitates the incremental adoption of microservices while maintaining compatibility with the existing monolith. A key aspect of a migration strategy is choosing a framework, such as the Framework for Microservices Migrations (FMM), that standardizes development practices and helps decompose monoliths into manageable components. Communication between microservices and the monolith is facilitated through a REST API that ensures seamless interaction. The integration of microservices is achieved through the implementation of DTOs (Data Transfer Objects) and API gateways, which ensures smooth data exchange between components. The article emphasizes the importance of dependency and configuration management in microservices, emphasizing the need for encapsulation and autonomy. In addition, the research examines the use of Curcuit Breaker patterns to effectively handle failures and maintain system stability during the migration process. Microservices, implemented as APIs, demand robust authentication methods such as cryptographic API keys and tokens. Security Assertion Markup Language (SAML) or OpenID with OAuth 2.0 are suggested solutions to enhance data security. Centralized architecture for authorization policies is crucial to regulate access across all microservices, while standardized token-based authentication ensures platform-neutral interoperability. However, decentralized authorization enforcement at each microservice entry point may lead to inconsistent security policies. Moreover, access to APIs handling confidential data necessitates authentication tokens with digital signatures or from trusted sources. Access control policies should be meticulously defined and enforced, with considerations for token expiration and scope limitations. The abstract underscores the significance of centralized access management and the challenges posed by anonymous connections bypassing API gateways.
Description
Keywords
процес міграції, монолітна архітектура, мікросервіси, CRM-системи, керування залежностями, оброблення конфігурації, стійкість системи, інкапсуляція, migration process, monolithic architecture, Microservices, CRM systems, dependency management, configuration handling, system resilience, encapsulation
Citation
Пригода А. Я. Міграція програмного забезпечення з монолітної архітектури на архітектуру мікросервісів як спосіб захисту CRM-систем / А. Я. Пригода // Український журнал інформаційних технологій. — Львів : Видавництво Львівської політехніки, 2024. — Том 6. — № 2. — С. 90–97.