Ended 2 years 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. воспроизводимость в мл

Our website uses cookies, including web analytics services. By using the website, you consent to the processing of personal data using cookies. You can find out more about the processing of personal data in the Privacy policy