# MLOps и MLflow вместе

← [Раздел](README.md) · [Главная](../README.md)

## Цель

Понять, **как MLflow встраивается** в полный MLOps-стек и что нужно **поверх** MLflow для production.

## Предварительно

- [Что такое MLflow](chto-takoe-mlflow.md)

## Время

**2–3 часа**

---

## MLflow — часть MLOps, не весь MLOps

| Слой MLOps | MLflow | Дополнительно |
|------------|--------|---------------|
| Версионирование кода | Projects (частично) | Git |
| Версионирование данных | Ссылки в tags | DVC, LakeFS |
| Experiment tracking | **Tracking** ✓ | — |
| Упаковка модели | **Models** ✓ | — |
| Управление версиями в prod | **Registry** ✓ | — |
| Оркестрация | Ограниченно | Airflow, Argo |
| Serving | `mlflow models serve` | KServe, Seldon, Triton |
| Мониторинг | Базовые метрики runs | Evidently, WhyLabs, Arize |

## Схема «зрелого» стека

```mermaid
flowchart TB
  Git[Git + CI] --> Train[Обучение]
  DVC[DVC / Data Lake] --> Train
  Train --> MLflow[MLflow Tracking]
  MLflow --> Reg[Model Registry]
  Reg --> Deploy[Deploy K8s / API]
  Deploy --> Mon[Мониторинг drift]
  Mon -->|retrain trigger| Train
```

## Типичный путь команды

1. **Старт:** только MLflow Tracking локально
2. **Рост:** общий MLflow Server + S3 для artifacts
3. **Зрелость:** Registry + CI/CD промоут стадий + Kubernetes serving + мониторинг

Не перескакивайте этапы без необходимости — **простой работающий tracking** лучше сложного стека без дисциплины.

## Интеграция в CI/CD (концепт)

```yaml
# Псевдо-pipeline (без реальных секретов)
steps:
  - train_model
  - mlflow_register_if_metric_above_threshold
  - deploy_staging
  - integration_tests
  - promote_to_production  # через Registry transition
```

## Когда MLflow достаточно

- Команда до ~15 человек
- Batch scoring или простой REST API
- Один облачный object storage для artifacts

## Когда нужен расширенный стек

- Real-time inference на миллионах RPS
- Строгий audit (финтех, медицина)
- Много команд и shared feature store
- Federated learning / edge

## Связь с разделами курса

- Архитектура → [02 — Архитектура](../02-arhitektura/README.md)
- Детали MLflow → [03 — Компоненты MLflow](../03-komponenty-mlflow/README.md)
- Практики → [08 — Практики](../08-praktiki/README.md)

---

## Самопроверка

1. Назовите три задачи MLOps, которые MLflow не закрывает полностью.
2. Опишите эволюцию стека от «локальный MLflow» к production.
3. Зачем DVC, если есть MLflow artifacts?

---

## Дальше

→ [02 — Архитектура](../02-arhitektura/README.md)
