
EdTech-платформа
для школы DevOps
Клиент
Клиент работает на американском рынке офлайн-образования в узкой нише – ИТ-инжиниринге. Создал профильные курсы, посвященные методологии DevOps. DevOps – это про инфраструктуру и построение архитектуры приложений.
Коммерческий успех школы напрямую зависит от качества курсов. Харизма преподавателя важна при выборе, но насыщенность практическими занятиями по итогу оказывается решающей. Разработка сложного инструмента с упором на практические занятия – не прихоть, а грамотная инвестиция в бизнес. В 2021 году клиент пришел к нам с задачей создать высокотехнологичную инфраструктуру для обучения DevOps в лабораторных условиях.
Вызовы
Темы занятий по DevOps-технологиям масштабные – Linux, Docker, Kubernetes, Python. Для их создания преподавателям нужен удобный инструмент – веб-приложение, рассчитанное на тысячи пользователей.
Конечно, клиент мог бы воспользоваться конструктором онлайн-курсов, на рынке недостатка в них нет. Конструкторы просты в освоении и универсальны, но именно из-за своей универсальности они не подходили под специализированные задачи клиента.
Возникла необходимость создать с нуля сложный образовательный портал для интерактивного обучения с упором на практические занятия.

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

Внутренняя безопасность
В процессе работы студенты должны выполнять задание только во внутренней среде веб-приложения DevOps School.

Как работает образовательная платформа DevOps School:
Преподаватели
Подключаются к платформе: создают практические занятия и добавляют учебные материалы, которые используются в реальных средах.
Абитуриенты
Знакомятся с расписанием, выбирают преподавателя, записываются на курс и становятся студентами.
Студенты
Приходят на занятие, подключаются к системе. Видят все доступные занятия на персональном дашборде. Там же расположен детальный экран со статистикой выполнения каждого.
Экран занятия разделен на две части:
– слева – задачи практического урока;
– справа – терминал, подключенный к серверам AWS. Терминал принадлежит школе – так мы отработали задачу по корпоративной безопасности.
Занятия
Состоят из списка заданий и Bash-скриптов. Bash-скрипт — это файл с последовательностью команд, которые по очереди считываются и выполняются интерпретатором. Как только студент завершает работу, содержимое его консоли отправляется на сервер, где обрабатывается скриптом оценки результата. Этот результат возвращается студенту для ознакомления и разбора ошибок вместе с преподавателем.
Технические детали
Виртуальные серверы Amazon EC2 работают через AWS API.
– Под одну практическую работу создается один экземпляр EC2.
– Пользователь взаимодействует с окружением через терминал на стороне фронтенда.
– Фронтенд связан с бэкендом через WebSocket через SSH-соединение (сетевой протокол для удаленной работы).
– Деплой осуществляется с помощью интерфейса Jenkins. Запускается применение миграций, которые находятся в том же репозитории, что и весь бэкенд.
– После выполнения деплоя самого бэкенда включается API.
– Студентам доступны Dev- и Prod-среда разработки для самых разных задач.
Тайм-трекер
На выполнение практической части студентам на каждом занятии отводится определенное время. Мы добавили трекер, который с периодичностью раз в минуту проверяет запущенные окружения. Если студент не успел выполнить задачу, то приложение сохраняет последний лог пользователя и удаляет запущенное окружение AWS API.
Роли пользователей
– Admin (Tutor) разработан для преподавателей.
Позволяет:
создавать курсы, практические занятия и задачи;
редактировать готовые работы;
объединять студентов в группы и просматривать их учетные записи;
анализировать результаты всего потока и каждого студента по отдельности.
– SuperAdmin имеет те же права, что и Admin, в дополнение к этому – возможность контролировать учетные записи преподавателей.
– Student – доступ в личный кабинет на уровне студента.
Технологии
Фронтенд
Vue.js
Бэкенд
Golang
Бэкенд
Python
Результат
С ростом отрасли выросла и сама платформа: в ней появились разделы DevSecOps и MLOps, где сохранен тот же подход с упором на практику.
Сегодня веб-приложение DevOps School используют:
– преподаватели, которые работают в школе и создают для своих студентов собственные практические занятия;
– студенты, которые посещают занятия и изучают процессы работы с контентом на реальных проектах в средах dev/staging/production со всеми обязательными к выполнению этапами, включая CI/CD.
практических занятий уже добавлено на платформу.
студентов успешно завершили обучение на курсах DevOps School.
студентов отмечают, что нашли работу в течение месяца после получения сертификата.
Что происходит дальше:
Мы получаем запрос, обрабатываем его в течение 24 часов и связываемся по указанным вами e‑mail или телефону для уточнения деталей.
Подключаем аналитиков и разработчиков. Совместно они составляют проектное предложение с указанием объемов работ, сроков, стоимости и размера команды.
Договариваемся с вами о следующей встрече, чтобы согласовать предложение.
Когда все детали улажены, мы подписываем договор и сразу же приступаем к работе.