MLOps Path

3.9.1 · блок 3

Слои платформы MDP: как читать карту

Слои платформы MDP: как читать карту

Зачем это нужно

На MDP десятки сервисов — легко утонуть в списке из 69 имён. Цель этого модуля не заучить все сервисы, а научиться читать platform map: какие слои есть, зачем каждый, и куда смотреть, когда ломается ваш inference или пайплайн обучения.

Вы уже знаете кусочки: Jenkins (CI), Kubernetes (workloads), Helm (packaging), Longhorn (диски), MinIO (модели), Istio (сеть), Argo CD (deploy), Argo Workflows (batch). Карта платформы — склейка слоёв в одну mental model.

Основные идеи

Слой 0 — Infra (Terraform, bare metal/cloud). Кластер, сеть, LB, DNS. Вы почти не трогаете; но без него нет API server.

Слой 1 — Kubernetes core. Scheduler, kubelet, CNI. Workloads из модулей 3.3–3.4.

Слой 2 — Storage.

| Сервис | Роль для ML |

|--------|-------------|

| **Longhorn** | PVC: checkpoint, локальный кэш модели |

| **MinIO** | S3: артефакты моделей, датасеты, backup |

Слой 3 — Networking & ingress.

| Сервис | Роль для ML |

|--------|-------------|

| **Istio** | mesh, ingress gateway, mTLS, canary |

| **cert-manager** | TLS-сертификаты для HTTPS endpoints |

| Gateway API (CRD) | HTTPRoute к вашему Service |

Слой 4 — Delivery & automation.

| Сервис | Роль для ML |

|--------|-------------|

| **Jenkins** | CI: test, build image, push registry |

| **Argo CD** | GitOps: sync Helm chart inference в prod |

| **Argo Workflows** | train/eval DAG, batch jobs |

Слой 5 — Observability.

| Сервис | Роль для ML |

|--------|-------------|

| **VictoriaMetrics** (или Prometheus) | метрики RPS, latency, GPU |

| **Loki** | логи Pod'ов и gateway |

Слой 6 — ML platform services.

| Сервис | Роль для ML |

|--------|-------------|

| **Feature Store** | online/offline фичи для train и inference |

| **Seldon / KServe** | model serving, InferenceService CRD, scale-to-zero |

Как читать карту, а не зубрить. Для каждого сервиса задайте три вопроса:

1. Какой слой? (storage / net / ci / ml)

2. Я consumer или operator? (ML engineer почти всегда consumer)

3. Что сломается у меня, если этот компонент down?

Пример: MinIO down → inference не скачает модель → CrashLoop; Istio down → нет внешнего URL, но Pod может жить; VictoriaMetrics down → нет графиков, predict работает.

Dependency direction (упрощённо).


Terraform → K8s cluster
         → Platform addons (Longhorn, Istio, MinIO, Argo, monitoring)
         → ML apps (your Helm charts)
         → Business traffic

Не всё на одной диаграмме. Platform map в Confluence/Git часто несколько страниц: «Network», «Storage», «ML Services» — учитесь прыгать между ними по симптому, не по алфавиту.

Как это выглядит на практике

Incident: 503 на scorer.ml.mdp.ru.

| Шаг | Слой | Куда смотреть |

|-----|------|--------------|

| 1 | Ingress/mesh | HTTPRoute, VirtualService, Gateway |

| 2 | App | Pod ready, logs Loki |

| 3 | Backend deps | Feature Store timeout, MinIO 403 |

| 4 | Infra | Node NotReady, Longhorn degraded |

Release новой модели — touch map:

1. Jenkins — образ

2. Git — values tag + model URI MinIO

3. Argo CD — sync Deployment

4. Istio — canary weights (optional)

5. VictoriaMetrics — dashboard error rate

Capstone checklist. Вам не нужны все 69 сервисов — нужны ~10 из таблиц выше + ваш namespace quota + Git repo Application.

Что сделать после занятия

Официальные материалы

Открыть интерактивную версию