Разработка сети доставки статического контента (командный проект)

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
Компания On-Air.Pro
Учебный семестр Осень 2017
Учебный курс 3-й курс
Максимальное количество студентов, выбравших проект: 3-6



Что это за проект?

Статический CDN -- это распределение нагрузки для обеспечения доступа множества пользователей к файлам. Используется для нагруженных веб-ресурсов, чтобы все зрители, пришедшие смотреть новую серию популярного сериала, получили ее на достойной скорости и без падения сервера от перегрузки. Для этого используется распределенное хранение, балансировка между серверами и каналами связи.

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

Второй вопрос для решения -- лимит на количество обращений к файлу на GoogleDrive. Решается он путём создания копии файла и подмены ссылки на новый файл.

Чему научатся студенты? Что самое интересное в проекте?

  • Погружение в работу с GoogleDrive
  • Разработка UI/REST API

Организация работы (Как студенты будут работать в команде?)

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

Далее организуется slack и трекер (обычно trello), где ведется рабочее общение и трекинг задач.

Встречи -- по договоренности (на первых порах это понадобится точно) на Кочновском, альтернативный и более частый вариант -- аудио/видеосвязь. Удобно, т.к. можно собираться по актуальному вопросу безотлагательно и в любое время в любом составе.

Компоненеты (Из каких частей состоит проект?)

  • GoogleDrive API / OAuth
  • REST API

Какие будут использоваться технологии?

  • GoogleDrive API

Какие начальные требования?

  • Навыки веб-разработки.

Темы вводных занятий

1. Архитектура проекта. API, внешние связи и зависимости.

2. Специфические технологии и используемые инструменты.

3. Доступные ресурсы, организация доступа.

4. Разделение ролей

Критерии оценки

Про работу и оценки почитайте здесь: https://d.pr/143bq

Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!

Похожие проекты

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

Контактная информация

Денис Королев,

https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)

+7 903 610 3290 (месенджеры по вкусу)

d.korolev@gmail.com