Глава 3

Инфраструктурная и клиентская архитектура

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

Инфраструктурная и клиентская архитектура

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

В составе инфраструктуры платформы используются PostgreSQL, Redis, MinIO и RabbitMQ. Размещение этих компонентов в отдельном инфраструктурном контуре позволяет отделить сервисы хранения и обмена сообщениями от прикладной части системы. Такое разделение повышает устойчивость платформы и облегчает её сопровождение.

Для автоматизации развёртывания используется подход Infrastructure as Code. Он позволяет описывать параметры сервисов, правила их публикации и конфигурацию окружения в виде формализованных конфигураций, пригодных для повторного использования. Благодаря этому развёртывание платформы может выполняться предсказуемо и без полной ручной настройки каждого компонента.

Клиентская часть платформы обеспечивает взаимодействие пользователя с системой через веб-интерфейс. Она должна предоставлять доступ к функциям управления курсами, запуска лабораторных работ и контроля состояния среды, а также отображать доступные действия в зависимости от роли пользователя. В связи с этим клиентская часть рассматривается как важный элемент общей архитектуры платформы, а не только как средство визуализации данных.

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