Образование, наука, работа
Май 2024
В рамках проекта требовалось модернизировать существующую платформу видеоконференцсвязи BigBlueButton, расширить её функциональные возможности и оптимизировать серверную инфраструктуру.
Основной задачей являлось развитие системы для проведения онлайн-занятий, видеоконференций и дистанционного взаимодействия пользователей с учётом требований к функциональности, производительности и стабильности работы.
**Основные задачи проекта:**
- Доработать пользовательский интерфейс и отдельные сценарии взаимодействия участников видеоконференций.
- Расширить возможности работы с файлами и записями видеоконференций.
- Оптимизировать распределение нагрузки между компонентами системы.
- Организовать размещение frontend-компонентов в нескольких Docker-контейнерах.
- Настроить балансировку нагрузки с использованием Nginx.
- Модифицировать настройки аудиоподсистемы FreeSWITCH.
- Внедрить инструменты мониторинга состояния серверов и компонентов приложения.
- Подготовить сценарии нагрузочного тестирования для проверки поведения системы при одновременной работе большого количества пользователей.
Особое внимание уделялось архитектуре платформы, надёжности инфраструктуры и возможности дальнейшего масштабирования.
В рамках проекта проведена модернизация программной платформы BigBlueButton, включая доработку пользовательских компонентов, оптимизацию серверной инфраструктуры и настройку инструментов мониторинга.
Выполнены доработки интерфейса платформы и отдельных пользовательских сценариев.
Модифицированы компоненты обработки файлов и видеозаписей для расширения возможностей работы с учебными материалами и результатами видеоконференций.
Для распределения нагрузки frontend-компоненты системы были размещены в нескольких Docker-контейнерах.
Балансировка запросов между контейнерами организована с использованием Nginx.
Такой подход позволил сформировать архитектуру, предусматривающую распределение нагрузки между отдельными экземплярами frontend-компонентов.
Проведена настройка FreeSWITCH и режимов взаимодействия участников видеоконференций.
Для наблюдения за состоянием инфраструктуры и программных компонентов использованы Prometheus и Grafana.
Настроены средства сбора и визуализации технических показателей.
Подготовлены сценарии нагрузочного тестирования с использованием Puppeteer для моделирования взаимодействия пользователей с веб-интерфейсом.
При архитектурном проектировании рассматривалась целевая нагрузка более 200 одновременных пользователей.
JavaScript, BigBlueButton, Docker, Nginx, FreeSWITCH, Prometheus, Grafana, Puppeteer.
Работы выполнялись проектной командой из трёх специалистов под техническим руководством ведущего разработчика.
В результате проекта выполнена комплексная модернизация платформы видеоконференцсвязи BigBlueButton.
Основные результаты:
Доработаны пользовательский интерфейс и функциональные компоненты платформы.
Расширены возможности обработки файлов и видеозаписей.
Реализовано распределение frontend-компонентов по нескольким Docker-контейнерам.
Настроена балансировка нагрузки средствами Nginx.
Проведена настройка аудиоподсистемы FreeSWITCH.
Организован мониторинг программной инфраструктуры с применением Prometheus и Grafana.
Подготовлены сценарии нагрузочного тестирования с использованием Puppeteer.
Технический результат: модернизирована архитектура существующей платформы, расширена её функциональность и созданы технические предпосылки для масштабирования и анализа производительности системы.
Проект демонстрирует опыт специалистов в разработке и модернизации сложных веб-приложений, контейнеризации, серверной инфраструктуре и интеграции компонентов программных систем.
![]()
Алексей Б
Технический директор
Данный проект демонстрирует компетенции наших специалистов в модернизации сложных веб-платформ, оптимизации серверной архитектуры и работе с высоконагруженными компонентами.
Помимо непосредственной разработки, работы включали проектирование технических решений, настройку инфраструктуры, интеграцию программных компонентов и организацию мониторинга.
Полученный опыт применим при разработке корпоративных веб-сервисов, образовательных платформ, систем видеоконференцсвязи и других программных продуктов с повышенными требованиями к масштабируемости.