Ended 18 months ago
36 participants
19 submissions

My First Data Project 2: Упаковываем сервис

Вы научитесь готовить техническую упаковку продукта.

Привет героям! 

Ух, позади самый сложный модуль! Но не время расслабляться, тем более, что впереди самое интересное! 

У тебя уже есть разработанная концепция сервиса, проведены эксперименты с моделями и их параметрами. Теперь проект готов к развертыванию в окружении!

Тебе предстоит разобраться с технологиями развертывания приложений, воспроизводимостью исследований и окружения, а также написать техническую документацию проекта. Всё это выглядит излишним, потому что ты знаешь  свой проект вдоль и поперек…

Однако как только ваш проект начинает набирать популярность, появляются проблемы: масштабируемость и поддерживаемость. Они решаются развертыванием приложения на дополнительных серверах и увеличением команды. Именно в этот момент пригодятся знания, которые вы приобретете в этом модуле.

Для развертывания приложений изучим механизм Continuous integration/continuous development (CI/CD). Он поможет автоматизировать действия при каждом новом релизе. 

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

Последнее, но не по важности: воспроизводимость исследований. Возможно в порыве новых идей вы превратили ноутбуки с моделями в хаос. Выясним, как организовать эксперименты так, чтобы их могли воспроизвести и ты, и другие. Это реальная проблема, поскольку исследования показывают, что большая часть ML проектов не воспроизводимы даже их создателями!

В результате выполнения этого модуля проект станет масштабируемым, легким для понимания и автоматизированным. И на этом можно будет завершить первый цикл разработки! Ура!

В конце модуля ожидаем от тебя:

  1. Контейнеризованное веб-приложение - образ Docker'a с веб-приложением. (Dockerfile с кодовой базой для развертки приложения)
  2. Техническую документацию модулей приложения
  3. Readme с описанием идей и запуска экспериментов, а также инструкциями запуска сервиса
  4. Файл с зависимостями

Рефы:

  1. руководство по тех доке habr
  2. Как контейнеризовать python приложение, официальная дока docker
  3. Более дружелюбное руководство по контейнеризации python на Habr
  4. менеджеры зависимостей python
  5. воспроизводимость в мл

Cookies help us deliver our services. By using our services, you agree to our use of cookies.