ДонНТУ | Портал магистров
Фото магистра

Колесников Алексей Евгеньевич

Факультет информационных систем и технологий

Кафедра автоматизированных систем управления

Направление: 09.04.02 «Информационные системы и технологии»

Профиль: «Информационные системы и технологии в технике и бизнесе»

Тема выпускной квалификационной работы магистра:
«Информационная система определения эффективной программной архитектуры,
основанной на микросервисах»

Руководитель ВКР: доц., к.т.н., доц. каф. АСУ, Мартыненко Татьяна Владимировна

Информационная система определения эффективной программной архитектуры, основанной на микросервисах

Содержание

Введение

Современные программные системы характеризуются высокой сложностью, распределённостью и необходимостью частых обновлений. Микросервисная архитектура стала доминирующим подходом к их построению, позволяя разделять систему на небольшие автономные сервисы, разрабатывать, тестировать и масштабировать их независимо друг от друга. Такой подход обеспечивает высокую скорость вывода новых функций, устойчивость к отказам отдельных компонентов и возможность использовать наиболее подходящие технологии для каждой бизнес-задачи 8.

Вместе с тем переход к микросервисам значительно усложняет управление системой. Увеличивается количество межсервисных взаимодействий, растёт сложность трассировки, согласованности данных и обеспечения наблюдаемости. Появляется технологическая неоднородность, усложняется контроль нагрузки и распределение функций между сервисами. Неправильная декомпозиция или избыточная связанность быстро приводят к архитектурной деградации, росту задержек, повышению числа инцидентов и увеличению эксплуатационных затрат 11.

Всё это делает задачу объективной оценки качества микросервисной архитектуры и поиска её оптимальной конфигурации одной из ключевых в современной программной инженерии. Требуется единый подход, позволяющий одновременно учитывать десятки разнородных показателей — от времени отклика и потребления ресурсов до структурной связанности, сопровождаемости и технологической совместимости — и преобразовывать их в понятную количественную характеристику эффективности 2.

Настоящая работа посвящена разработке информационной системы, которая автоматизирует процесс комплексной оценки и оптимизации микросервисных архитектур с использованием математического моделирования, интегральных критериев качества и современных методов многокритериальной оптимизации 1.

Актуальность исследования

Микросервисная архитектура стремительно вытесняет монолитные и классические SOA-решения в большинстве крупных и средних компаний. По данным исследований CNCF за 2024–2025 годы более 85 % организаций, использующих контейнеризацию, применяют микросервисы в продакшене, а их количество в отдельных системах достигает сотен и тысяч независимых сервисов. При этом наблюдается парадокс: несмотря на очевидные преимущества в скорости разработки и масштабируемости, многие проекты сталкиваются с систематическим ухудшением ключевых эксплуатационных характеристик через 1–3 года после перехода на микросервисы 28.

Основные проявления архитектурной деградации:

Существующие методы оценки либо фрагментарны (анализируют отдельные метрики: latency, error rate, CPU), либо субъективны (экспертные аудиты, Architecture Fitness Functions в ограниченном объёме). Отсутствует единый количественный показатель, позволяющий:

Таким образом, разработка комплексного критерия качества микросервисной архитектуры и информационной системы для его расчёта и оптимизации является актуальной научно-практической задачей, решение которой позволит существенно снизить риски и затраты при проектировании, развитии и эксплуатации современных распределённых систем 1.

Цель и задачи исследования

Цель работы — повышение эффективности и качества микросервисных архитектур за счёт разработки системы автоматизированного поиска их оптимальной конфигурации. Это обеспечивается на основе комплексной количественной оценки архитектурных решений с использованием методов математического моделирования и многокритериальной оптимизации.2.

Для достижения поставленной цели решаются следующие задачи:

  1. Провести анализ современных подходов к проектированию, оценке и оптимизации микросервисных архитектур, включая изучение промышленных практик ведущих компаний и обобщение существующих метрик качества.
  2. Систематизировать и классифицировать ключевые метрики микросервисных систем по функциональным областям (операционные, ресурсные, структурные, метрики разработки и сопровождения, безопасности и экосистемы) 26.
  3. Разработать математическую модель и интегральный критерий качества микросервисной архитектуры на основе нормализации и взвешенного агрегирования разнородных метрик.
  4. Формализовать задачу оптимизации распределения бизнес-функций между микросервисами как многокритериальную комбинаторную задачу с ограничениями по нагрузке, технологической совместимости и архитектурным принципам 14.
  5. Разработать и реализовать алгоритм поиска оптимальной конфигурации21.
  6. Спроектировать архитектуру и реализовать прототип информационной системы, включающей модули сбора и анализа метрик, расчёта интегрального критерия, визуализации и оптимизации архитектуры.
  7. Провести экспериментальные исследования на реальных и синтетических данных, подтвердить работоспособность предложенного подхода и оценить его эффективность по сравнению с традиционными методами 15.

Обзор методов оптимизации микросервисной архитектуры

Для поиска эффективной конфигурации микросервисных систем применяются следующие группы методов:

  1. Экспертно-ориентированные методы Глубокий анализ предметной области с участием бизнес-экспертов, Event Storming, DDD. Дают лучшие по смыслу границы сервисов, но требуют высокой квалификации и времени 3.
  2. Правило-ориентированные и статические методы Автоматическая проверка кода на соответствие заданным ограничениям (размер, связанность, дублирование). Легко встраиваются в CI/CD, но игнорируют реальную нагрузку и компромиссы 7.
  3. Методы кластеризации графа зависимостей Представление кода как графа и поиск разбиения с максимальной когезией и минимальной связанностью. Хорошо работают при миграции с монолита, но часто дают технически удобные, а не бизнесово осмысленные сервисы 9.
  4. Эволюционные и многокритериальные алгоритмы Генетические и NSGA-подобные алгоритмы кодируют распределение функций по сервисам и максимизируют интегральную фитнес-функцию. На 2025 год — основной инструмент автоматической офлайн-оптимизации архитектуры любой сложности 20, 21.
  5. Методы машинного обучения и обучения с подкреплением (Reinforcement Learning) Агент обучается в реальном времени управлять масштабированием, маршрутизацией и даже границами сервисов, получая награду за соблюдение SLA и экономию ресурсов. Обеспечивает адаптивность к непредсказуемым нагрузкам, снижение задержек до 40 % и высокую масштабируемость, но требует большого объёма данных, тщательной настройки наград и длительного обучения 22.
  6. Гибридные мета-обучаемые подходы (например, HML-MOO) Объединяют эволюционный поиск, суррогатные модели и мета-обучение. Суррогатные модели, обученные на реальных датасетах, предсказывают качество конфигурации за миллисекунды вместо часов нагрузочного тестирования, сокращая время поиска на 70–90 %. Мета-обучение переносит знания между проектами, обеспечивая быструю адаптацию к новым стекам и автоматическую генерацию Парето-фронта по противоречивым метрикам (latency, cost, reliability). Главные ограничения — высокая сложность реализации и зависимость от качества исторических данных 2.

Все современные высокопроизводительные решения в области автоматической оптимизации микросервисов (Netflix Conductor, Uber Michelangelo, Alibaba Sigma) используют комбинацию перечисленных подходов, где эволюционные алгоритмы отвечают за глобальный поиск, суррогатные модели — за скорость, а RL — за онлайн-адаптацию 25.

Анализ инструментов мониторинга и распределения метрик

Для визуализации охвата метрик были построены два ключевых графика. На рисунке 1 представлено распределение метрик по инструментам мониторинга, где явно выделяется Prometheus как центральный инструмент, покрывающий 15 метрик. На рисунке 2 показано распределение метрик по категориям, демонстрирующее преобладание операционных метрик (25,71%) над остальными категориями 16.

Рисунок 1 - Соотношение количества метрик к инструментам мониторинга

Рисунок 1 - Соотношение количества метрик к инструментам мониторинга

Рисунок 2 – Распределение метрик по категориям

Рисунок 2 – Распределение метрик по категориям

На основе проведенного анализа выделены ключевые метрики для оптимизации микросервисной архитектуры и записаны в таблицу 1 26.

Таблица 1. Ключевые метрики для оптимизации микросервисной архитектуры

Ключевые метрики Развернуть таблицу
Название метрики Краткое описание Единицы измерения Способ замера / инструмент
Время отклика (Response Time) Среднее время ответа сервиса на запрос миллисекунды (мс) Prometheus + Grafana, Jaeger, Apache JMeter 16
Пропускная способность (Throughput) Количество запросов, обработанных за единицу времени запросов/сек (RPS) Apache JMeter, k6, Locust 15
Количество ошибок (Error Rate) Отношение неуспешных запросов к общему числу % Prometheus, Grafana, ELK 16
MTTR (Mean Time To Recovery) Среднее время восстановления после сбоя минуты, часы Incident Management, Kibana
Утилизация CPU (CPU Utilization) Доля использования процессорного времени % Prometheus (node_exporter), Kubernetes metrics 12
Утилизация памяти (Memory Usage) Используемый объём оперативной памяти МБ, ГБ Prometheus, cAdvisor
Связанность сервисов (Coupling Degree) Среднее количество зависимостей между сервисами ед. Jaeger, Zipkin, архитектурный граф 8
Число вызовов между сервисами (Inter-Service Calls) Количество сетевых взаимодействий между сервисами ед. OpenTelemetry, Jaeger

Таблица 2. Сравнительная таблица методов оптимизации микросервисной архитектуры

Сравнение методов оптимизации Развернуть таблицу
Метод Автоматизация Скорость работы Учёт динамики нагрузки Многокритериальность Сложность внедрения Примеры инструментов
1 Экспертно-ориентированные Низкая Очень низкая Нет Частично (на глаз) Низкая DDD 3, Event Storming, Fitness Functions
2 Правило-ориентированные и статические Высокая Высокая Нет Ограниченно Низкая SonarQube 5, ArchUnit, NDepend, Service Cutter
3 Кластеризация графа зависимостей Высокая Средняя Нет Ограниченно Средняя Bunch, ACDC, Microservices Identification Tools 9
4 Эволюционные и многокритериальные алгоритмы Полная Средняя/низкая Да (при нагрузочном тестировании) Полная (NSGA-II/III) 20 Средняя/высокая Собственные реализации, MOEA Framework, jMetal
5 Reinforcement Learning (RL) Полная Высокая в runtime Полная (онлайн) Полная Очень высокая Uber Michelangelo, Netflix Conductor, OpenAI Gym + K8s 22
6 Гибридные мета-обучаемые (HML-MOO и аналоги) Полная Очень высокая (70–90 % ускорение) Да (офлайн + онлайн) Полная, с Парето-фронтом Высокая Исследования 2024–2025, Alibaba Sigma, внутренние системы Amazon/Google 2

Обзор метрик и ПО для определения этих метрик

Качество микросервисной архитектуры оценивается через комплекс разнородных метрик, которые охватывают операционные, ресурсные, структурные и другие аспекты системы. Согласно систематизации в работе Колесникова и соавторов, метрики классифицируются по шести функциональным группам, что позволяет получить всестороннюю картину 2. Каждая метрика имеет единицы измерения и способы замера с использованием специализированного ПО. Ниже приведены основные группы с примерами метрик и инструментов для их определения, основанными на предоставленном списке из 70 показателей.

1. Операционные метрики

Эти параметры отражают поведение системы в реальной эксплуатации, фокусируясь на производительности, доступности и надёжности. Они помогают выявлять проблемы в реальном времени и поддерживать качество обслуживания. Примеры включают время отклика (среднее время ответа на запрос, измеряемое в миллисекундах с помощью Prometheus в комбинации с Grafana, Jaeger или Apache JMeter), пропускную способность (количество запросов в секунду, отслеживаемое Apache JMeter, k6 или Locust), задержку (время от запроса до ответа в миллисекундах, фиксируемое Wireshark, Prometheus или Pingdom), доступность (доля uptime в процентах, мониторируемая UptimeRobot, Grafana Loki или Kubernetes API), надёжность (процент успешных запросов, собираемый Prometheus, Sentry или ELK stack), количество ошибок (отношение неудачных запросов в процентах, анализируемое Prometheus, Grafana или ELK), среднее время между сбоями (MTBF в часах или днях, извлекаемое из Kubernetes events или system logs) и среднее время восстановления (MTTR в минутах или часах, отслеживаемое через Incident Management или Kibana) 16.

2. Ресурсные метрики

Эти показатели оценивают эффективность использования инфраструктуры и экономическую целесообразность, позволяя оптимизировать затраты и масштабирование. К ним относятся утилизация CPU (доля использования процессора в процентах, измеряемая Prometheus node_exporter или Kubernetes metrics), утилизация памяти (объём в МБ или ГБ, фиксируемый Prometheus или cAdvisor), нагрузка на диск (интенсивность I/O в МБ/с, отслеживаемая iostat или node_exporter), нагрузка на сеть (трафик в Мбит/с, анализируемый netstat, iftop или cAdvisor), стоимость эксплуатации (расходы в долларах на месяц, рассчитываемые Cloud Billing API, AWS Cost Explorer или Azure Cost Management) и энергопотребление (расход в Вт или Дж, оцениваемый Cloud Carbon Footprint или Intel Power Gadget) 12.

3. Структурные метрики

Они описывают статические свойства архитектуры, включая связанность, модульность и избыточность, помогая выявлять антипаттерны и планировать рефакторинг. Примеры: количество микросервисов (число сервисов в единицах, определяемое Kubernetes API или Service Mesh dashboard), связанность сервисов (среднее число зависимостей в единицах, измеряемое Jaeger, Zipkin или архитектурным графом), коэффициент когезии (степень целостности от 0 до 1, анализируемая static analyzer или анализом зависимостей кода), число межсервисных вызовов (количество взаимодействий в единицах, отслеживаемое OpenTelemetry или Jaeger), сложность зависимостей (длина цепочек в единицах, фиксируемая архитектурным графом), интеграционная сложность (число точек интеграции в единицах, определяемое Service graph) и модульность (индекс от 0 до 1, оцениваемый ArchUnit или NDepend) 6, 7.

4. Метрики процесса разработки и сопровождения

Эти параметры оценивают эффективность жизненного цикла, включая скорость доставки, качество кода и тестируемость, выявляя узкие места в разработке. К ним относятся длительность деплоя (время обновления в минутах, логируемое Jenkins или GitLab CI/CD logs), размер контейнера (объём образа в МБ, измеряемый Docker CLI), количество зависимостей (число библиотек в единицах, анализируемое npm audit, pipdeptree или mvn dependency:tree), объём кода (строки кода SLOC, подсчитываемые SonarQube или cloc), покрытие тестами (процент кода под тестами, оцениваемый pytest-cov, Jacoco или NUnit), сложность кода (цикломатическая сложность в единицах, фиксируемая SonarQube или Radon), скорость сборки (время в секундах, из CI/CD logs), скорость доставки (от коммита до деплоя в минутах, логируемая GitLab CI/CD или Jenkins) и обслуживаемость (простота от 0 до 1, оцениваемая SonarQube или экспертно) 5, 24.

5. Метрики безопасности и соответствия

Эти показатели фокусируются на уязвимостях, compliance и рисках, помогая прогнозировать угрозы. Примером служит безопасность (score в баллах или единицах, рассчитываемый SonarQube, Snyk или OWASP ZAP), версионная согласованность (число несовместимых версий в единицах, выявляемое Dependabot или Snyk) и доля нарушений SLA (процент отказов, мониторируемый Prometheus alerts или SLA-мониторингом) 5.

6. Специфические метрики микросервисной экосистемы

Они оценивают взаимодействия, наблюдаемость и адаптивность распределённых систем. Примеры включают интенсивность коммуникации (сообщений в секунду, измеряемую Kafka, RabbitMQ или OpenTelemetry), время согласования данных (задержка в мс/сек, фиксируемая ETL logs или CDC monitoring), уровень изоляции (степень независимости от 0 до 1, оцениваемая экспертно или анализом связей), нагрузку на оркестратор (операций в секунду, из Kubernetes API metrics), эластичность (адаптивность от 0 до 1, анализируемая Prometheus или HPA), количество инцидентов (число аварий в единицах, из Incident Management System), MTTD (время обнаружения в минутах, из ELK или Prometheus alerts) и эффективность балансировки нагрузки (равномерность в процентах, фиксируемая Kubernetes Ingress или Envoy stats) 8, 12.

В целом, эти метрики собираются с помощью открытого ПО вроде Prometheus для мониторинга, Jaeger для трассировки, SonarQube для анализа кода и ELK stack для логирования. В 2025 году тенденция — интеграция в unified observability-платформы, такие как Grafana или OpenTelemetry, для корреляции данных и автоматизированного расчёта. Выбор инструмента зависит от стека (Kubernetes, Istio) и типа метрики: runtime-метрики требуют реального времени, структурные — статического анализа 16, 26.

Описание целостного критерия

Предлагаемый целостный (интегральный) критерий позволяет количественно оценить качество микросервисной архитектуры, объединяя десятки разнородных метрик в единый агрегированный показатель. Он устраняет основные недостатки традиционных подходов — фрагментарность изолированных метрик и субъективность экспертных оценок — и даёт объективную, воспроизводимую характеристику эффективности системы 1.

Критерий строится в три этапа:

1. Сбор и классификация метрик

Все метрики разделены на шесть групп: операционные, ресурсные, структурные, метрики разработки и сопровождения, безопасности и соответствия, а также специфические метрики микросервисной экосистемы. В общей сложности используется до 70 измеряемых параметров (от времени отклика и стоимости эксплуатации до коэффициента когезии и уровня изоляции сервисов) 2.

2. Нормализация

Каждая метрика приводится к безразмерному виду в диапазоне \(0; 1\), где 1 — лучшее возможное значение, 0 — худшее.

Для метрик минимизации (latency, error rate, cost, coupling и т.д.): \[ n_{i} = \frac{x_{i}^{\max} - x_{i}}{x_{i}^{\max} - x_{i}^{\min}} \tag{1} \]

Для метрик максимизации (availability, cohesion, test coverage и т.д.): \[ n_{i} = \frac{x_{i} - x_{i}^{\min}}{x_{i}^{\max} - x_{i}^{\min}} \tag{2} \]

Граничные значения \(x_{i}^{\min}\) и \(x_{i}^{\max}\) определяются из SLA, исторических данных или отраслевых бенчмарков 20.

3. Взвешенное агрегирование

Вводятся весовые коэффициенты \(w_{i} \geq 0\), \(\sum_{i=1}^{n} w_{i} = 1\), отражающие приоритеты конкретного проекта. Итоговый интегральный критерий качества \(K\) вычисляется по аддитивной модели: \[ K = \sum_{i=1}^{n} w_{i} \times n_{i} \tag{3} \] где \(K \in 0; 1\)

Чем выше \(K\), тем лучше архитектура при заданных условиях эксплуатации 1.

Преимущества предложенного критерия

  1. Полная сопоставимость любых архитектурных конфигураций.
  2. Возможность анализа чувствительности путём изменения весов.
  3. Простая интерпретация: значение 0,85 означает, что система использует 85 % своего потенциала по выбранным приоритетам.
  4. Лёгкая интеграция с системами мониторинга и CI/CD для автоматического расчёта в реальном времени 16.
  5. Прямая применимость в качестве фитнес-функции для алгоритмов оптимизации (генетических, RL, HML-MOO) 21.

Таким образом, критерий превращает многомерную задача оценки микросервисной архитектуры в одномерную скалярную оптимизацию, сохраняя при этом всю необходимую детализацию и гибкость настройки под конкретный бизнес-контекст 1, 2.

Вывод

В ходе исследования были проанализированы современные подходы к проектированию, оценке и оптимизации микросервисных архитектур, что позволило выявить их ключевые преимущества и ограничения. Установлено, что при всей гибкости и масштабируемости микросервисного подхода его эффективность существенно зависит от качества архитектурных решений, согласованности сервисов, уровня наблюдаемости и корректного управления эксплуатационными метриками 8, 11.

Проведённый обзор существующих методов оптимизации показал, что традиционные экспертные и статические подходы в большинстве случаев оказываются недостаточными для сложных распределённых систем. Наибольшую результативность демонстрируют эволюционные и многокритериальные алгоритмы, методы машинного обучения и гибридные мета-оптимизаторы, обеспечивающие адаптацию к динамическим нагрузкам и возможность комплексной оценки архитектуры 20, 21, 22.

Разработанный в работе целостный интегральный критерий качества микросервисной архитектуры позволяет объективно сравнивать различные конфигурации системы, учитывая десятки разнородных метрик — от производительности и надёжности до структурных характеристик и качества разработки. Использование нормализации и взвешенного агрегирования делает критерий гибким и применимым к различным проектам 1, 2.

Создание информационной системы, реализующей сбор метрик, расчёт интегрального показателя и автоматическую оптимизацию архитектуры, обеспечивает возможность системного анализа качества микросервисной системы и поиска её наиболее эффективной конфигурации. Такой подход структурирует процесс принятия инженерных решений, снижает вероятность архитектурной деградации и обеспечивает повышение устойчивости, адаптивности и производительности программного комплекса 2.

Таким образом, результаты исследования подтверждают актуальность и практическую значимость предложенной методики. Разработанный интегральный критерий и подход к оптимизации могут использоваться как самостоятельный инструмент анализа архитектуры, так и основа для дальнейших исследований, направленных на повышение эффективности современных распределённых систем 1, 30.

Список литературы

  1. Шуватова, Е. А. Анализ методов определения эффективной архитектуры программных систем / Е. А. Шуватова, Т. В. Мартыненко // Информатика, управляющие системы, математическое и компьютерное моделирование (ИУСМКМ-2024) : XV Междунар. науч.-техн. конф., Донецк, 29--30 мая 2024 г. --- Донецк : ДонНТУ, 2024. --- С. 125--130. --- EDN ZXRUAI.
  2. Колесников, А. Е. Анализ подходов к разработке и оптимизации микросервисных систем / А. Е. Колесников, Т. В. Мартыненко, Е. А. Шуватова // Информатика, управляющие системы, математическое и компьютерное моделирование (ИУСМКМ-2025) : XVI Междунар. науч.-техн. конф., Донецк, 28 мая 2025 г. --- Донецк : ДонНТУ, 2025. --- С. 122--127. --- EDN PIVOYL.
  3. Буч, Г. Объектно-ориентированный анализ и проектирование / Г. Буч. --- М. : Вильямс, 2022. --- 560 с.
  4. Ларман, К. Применение UML и шаблонов проектирования / К. Ларман. --- М. : Лаборатория знаний, 2021. --- 736 с.
  5. Макконнелл, С. Совершенный код. Мастер-класс / С. Макконнелл. --- М. : Питер, 2022. --- 896 с.
  6. Басс, Л., Клементс, П., Казман, Р. Архитектура программных систем. Практический подход / Л. Басс и др. --- М. : ДМК Пресс, 2022. --- 608 с.
  7. Фаулер, М. Рефакторинг. Улучшение существующего кода / М. Фаулер. --- М. : Питер, 2021. --- 448 с.
  8. Ньюман, С. Создание микросервисов / С. Ньюман. --- М. : ДМК Пресс, 2023. --- 312 с.
  9. Козлов, Д. А. Микросервисная архитектура: принципы и решения / Д. А. Козлов. --- М. : БХВ-Петербург, 2023. --- 288 с.
  10. Сидоров, А. Н. Оптимизация микросервисных систем в условиях высокой нагрузки / А. Н. Сидоров // Вестник компьютерных наук. --- 2024. --- № 4. --- С. 45--53.
  11. Бобровский, С. А. Архитектурные подходы к построению распределённых систем / С. А. Бобровский. --- СПб. : Питер, 2022. --- 384 с.
  12. Кох, Г. Kubernetes на практике / Г. Кох. --- М. : ДМК Пресс, 2023. --- 384 с.
  13. Таненбаум, Э. Компьютерные сети / Э. Таненбаум, Д. Уэзеролл. --- СПб. : Питер, 2022. --- 960 с.
  14. Кормен, Т. Алгоритмы: построение и анализ / Т. Кормен и др. --- М. : Вильямс, 2021. --- 1328 с.
  15. Овчинников, А. Н. Нагрузочное тестирование веб-систем / А. Н. Овчинников. --- М. : ДМК Пресс, 2022. --- 272 с.
  16. Флерова, Е. Л. Применение систем мониторинга Prometheus и Grafana / Е. Л. Флерова // Информационные технологии. --- 2023. --- № 6. --- С. 37--44.
  17. Чеботарёв, П. Н. Архитектура корпоративных систем / П. Н. Чеботарёв. --- М. : Горячая линия -- Телеком, 2021. --- 296 с.
  18. Бен-Ган, И. Microsoft SQL Server. Основы T-SQL / И. Бен-Ган. --- СПб. : Питер, 2023. --- 512 с.
  19. Глушаков, И. В. Управление проектами в ИТ / И. В. Глушаков. --- М. : ДМК Пресс, 2024. --- 304 с.
  20. Раменский, И. Ю. Методы многокритериальной оптимизации / И. Ю. Раменский. --- М. : Физматлит, 2021. --- 288 с.
  21. Шелехов, В. И. Эволюционные алгоритмы в задачах оптимизации / В. И. Шелехов. --- М. : Радио и связь, 2022. --- 240 с.
  22. Куликов, В. Н. Основы машинного обучения / В. Н. Куликов. --- М. : ДМК Пресс, 2023. --- 368 с.
  23. Горячев, А. П. Программная инженерия: методы и средства / А. П. Горячев. --- СПб. : Питер, 2022. --- 544 с.
  24. Ильин, В. С. Практика DevOps и CI/CD / В. С. Ильин. --- М. : ДМК Пресс, 2023. --- 352 с.
  25. Поляков, К. Ю. Проектирование высоконагруженных систем / К. Ю. Поляков. --- М. : БХВ-Петербург, 2023. --- 304 с.
  26. Солодовников, В. В. Методы анализа данных и телеметрии / В. В. Солодовников. --- М. : Физматлит, 2022. --- 280 с.
  27. Беляев, И. А. Инфраструктура как код: подходы и инструменты / И. А. Беляев. --- М. : ДМК Пресс, 2024. --- 330 с.
  28. Головин, С. И. Микросервисы в промышленной разработке / С. И. Головин // Программные продукты и системы. --- 2023. --- № 1. --- С. 22--29.
  29. Белкин, А. В. Контейнеризация и Docker в инженерии ПО / А. В. Белкин. --- М. : Питер, 2023. --- 256 с.
  30. Кузьмин, С. И. Архитектура распределённых вычислений: теория и практика / С. И. Кузьмин. --- М. : ДМК Пресс, 2022. --- 368 с.