# Введение

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

Пользователям платформы, в частности, доступны:

- "Живая" демонстрация работы проекта на любых подходящих данных через веб-сервис
- Организация и проведение вычислительных экспериментов
- Управление пользователями, ограничение доступа


## Размещаемые проекты


Чтобы существующий проект мог быть развернут на платформе, он должен решать задачу с явно заданными входными и выходными данными: "получить данные A, B и C, произвести вычисления, вывести данные X, Y и Z".

- Хороший пример - оптическое распознавание символов. На входе изображение, на выходе текст с этого изображения.
- Плохой пример - приложение с базой данных, где основные взаимодействия с приложением регулярно обновляют эту базу данных.
  - Хороший пример - вычислительная подзадача, которая выполняется на выборке из базы данных. На входе выборка, на выходе результат вычислений.
- Плохой пример - набор Jupyter-тетрадей, в которых задачи решаются последовательным вызовом ячеек с кодом.
  - Хороший пример - тот же код, оформленный в виде скрипта `.py`.


Платформа предоставляет два варианта организации вычислительных задач:

1. Веб-сервис для быстрых синхронных вычислений - MLComponent
2. Асинхронный запуск вычислительных экспериментов - ExperimentPipeline

Как правило, если вычислительная задача требует доли секунды для выполнения, её разумно организовывать как ML-компонент, иначе - как пайплайн.
