Содержание
ВВЕДЕНИЕ
ГЛАВА 1. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ КОНТЕЙНЕРИЗАЦИИ И ОБЗОР СУЩЕСТВУЮЩИХ РЕШЕНИЙ ДЛЯ УПРАВЛЕНИЯ DOCKER-ИНФРАСТРУКТУРОЙ
1.1 Концепция контейнеризации и роль технологии Docker в современной разработке программного обеспечения
1.2 Сравнительный анализ популярных инструментов администрирования и мониторинга контейнеров
1.3 Обоснование необходимости разработки кастомного веб-интерфейса для управления окружениями
ГЛАВА 2. ПРОЕКТИРОВАНИЕ АРХИТЕКТУРЫ ВЕБ-ИНТЕРФЕЙСА И ВЫБОР ТЕХНОЛОГИЧЕСКОГО СТЕКА
2.1 Определение функциональных и нефункциональных требований к системе управления развертыванием
2.2 Проектирование архитектуры взаимодействия клиентской и серверной частей приложения
2.3 Выбор инструментов разработки, библиотек и протоколов обмена данными с Docker API
ГЛАВА 3. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ МОДУЛЕЙ РАЗВЕРТЫВАНИЯ И МОНИТОРИНГА
3.1 Разработка серверной логики для управления жизненным циклом контейнеров
3.2 Реализация механизмов сбора и визуализации метрик производительности в реальном времени
3.3 Создание пользовательского интерфейса и интеграция компонентов системы
ГЛАВА 4. ТЕСТИРОВАНИЕ И ОЦЕНКА ЭФФЕКТИВНОСТИ РАЗРАБОТАННОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
4.1 Методика проведения функционального тестирования веб-интерфейса
4.2 Анализ результатов работы системы в условиях имитации реальной нагрузки
4.3 Оценка удобства использования и перспектив масштабирования разработанного решения
ЗАКЛЮЧЕНИЕ
СПИСОК ЛИТЕРАТУРЫ
ВВЕДЕНИЕ
Современный этап развития информационных технологий характеризуется стремительным переходом к микросервисной архитектуре, что требует внедрения эффективных инструментов автоматизации и управления вычислительными ресурсами. Технология контейнеризации, лидером которой является платформа Docker, стала стандартом де-факто для разработки, доставки и эксплуатации программного обеспечения. Однако с ростом масштабов инфраструктуры и увеличением количества запущенных сервисов возникает проблема сложности администрирования, требующая от специалистов глубоких знаний интерфейса командной строки и специфических конфигурационных параметров. Актуальность данной работы обусловлена необходимостью создания интуитивно понятных графических инструментов, которые позволяют централизованно управлять жизненным циклом контейнеров и осуществлять оперативный мониторинг их состояния без избыточных временных затрат [1].
Существующие на рынке решения для управления Docker-окружениями зачастую обладают либо избыточной функциональностью, ориентированной на крупные кластерные системы, либо недостаточной гибкостью в вопросах визуализации специфических метрик производительности. Отсутствие легковесного и адаптивного веб-интерфейса, способного интегрироваться в локальные рабочие процессы малых и средних команд разработки, создает барьеры для эффективного контроля за распределением системных ресурсов. В связи с этим разработка специализированного программного обеспечения, ориентированного на упрощение процессов развертывания и мониторинга, представляется своевременной и практически значимой задачей, направленной на повышение стабильности функционирования ИТ-сервисов [2].
Объектом исследования в рамках данной курсовой работы выступает процесс управления контейнеризированными средами в экосистеме Docker. Предметом исследования являются методы и программные средства реализации веб-ориентированного интерфейса, обеспечивающего взаимодействие с Docker API для автоматизации развертывания и визуализации данных мониторинга. Научный интерес представляет поиск оптимального баланса между функциональной насыщенностью интерфейса и производительностью системы при обработке потоковых данных о состоянии активных контейнеров [3].
Целью работы является проектирование и программная реализация функционального веб-интерфейса, предназначенного для эффективного управления развертыванием и мониторингом Docker-окружений в режиме реального времени. Для достижения поставленной цели необходимо решить ряд последовательных задач: провести комплексный анализ теоретических основ контейнеризации и существующих программных аналогов; определить функциональные требования и спроектировать архитектуру будущей системы; осуществить выбор оптимального технологического стека для реализации клиентской и серверной частей приложения; разработать программные модули для взаимодействия с Docker API и визуализации метрик; провести тестирование системы и оценить ее эффективность в условиях имитации реальной нагрузки [4].
Методологическую основу исследования составляют общенаучные методы анализа и синтеза, системный подход к проектированию программных комплексов, а также методы объектно-ориентированного программирования и моделирования баз данных. В процессе работы применяются методы сравнительного анализа существующих технологических решений и эмпирические методы тестирования разработанного программного обеспечения. Использование данных подходов позволяет обеспечить научную обоснованность принимаемых проектных решений и гарантировать высокую степень надежности итогового продукта [5].
Практическая значимость исследования заключается в создании готового к эксплуатации инструмента, который может быть внедрен в процессы разработки и системного администрирования для снижения порога вхождения при работе с Docker. Реализованный веб-интерфейс позволяет минимизировать риск возникновения ошибок, связанных с человеческим фактором при ручном вводе команд, и обеспечивает наглядное представление о потреблении ресурсов процессора, оперативной памяти и сетевого трафика. Результаты работы могут быть использованы как база для дальнейшего расширения функциональности систем оркестрации или в качестве учебного пособия по изучению принципов взаимодействия веб-приложений с системными сервисами через программные интерфейсы [6].