MLOps Path

2.2.4 · блок 2

Непрерывная архитектура

Непрерывная архитектура

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

Классический подход: архитектор нарисовал диаграмму на год вперёд, команда «должна следовать». Реальность: требования меняются, модели обновляются каждую неделю, нагрузка растёт непредсказуемо. Continuous Architecture (also Evolutionary Architecture) — подход, при котором архитектура *развивается* вместе с продуктом, а не застывает в документе.

Для ML это особенно актуально: вы не знаете заранее, будет ли в продакшене LightGBM или нейросеть на GPU. Нужны guardrails, которые не дают системе деградировать при изменениях.

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

Evolutionary architecture — набор принципов:

Fitness functions (функции пригодности) — автоматические проверки, что архитектура не «сломалась» молча. Borrowed from evolutionary computation: система «выживает», пока метрики в норме.

Примеры fitness functions для ML-системы:

| Fitness function | Что проверяет | Где запускается |

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

| p95 latency < 200 ms | Performance SLA | CI load test / synthetic monitor |

| Cyclic dependency check | Модули не зависят циклически | CI (arch unit test) |

| Model AUC ≥ baseline | Качество не упало | Training pipeline gate |

| API backward compatible | Clients не ломаются | Contract tests in CI |

| No secrets in repo | Security | pre-commit / CI |

Если fitness function падает — merge блокируется или алерт эскалируется.

Связь с CI/CD и MLOps. Непрерывная архитектура — не отдельный процесс, а часть delivery:

ML добавляет fitness functions на data drift, prediction distribution, feature schema validation.

Anti-pattern: «Big design upfront» для ML — six-month architecture phase, потом оказывается, что данных для deep learning нет. Лучше: thin vertical slice (online scoring с простой моделью) + fitness functions + итерации.

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

Команда запустила v1 fraud scoring (LightGBM, ADR-003). Через 3 месяца DS хочет neural network.

Evolutionary path:

1. RFC: «Neural network as secondary scorer» — не замена, а эксперимент за feature flag.

2. Fitness functions расширяют: новая модель должна match recall baseline на shadow traffic.

3. Container diagram обновляют: добавляется ML Inference Service v2 параллельно v1.

4. Shadow mode 2 недели — fitness green → ADR-007 Accepted → постепенный rollout.

5. ADR-003 помечается Superseded для online path.

Jira Epic «Fraud ML v2» содержит stories на fitness functions *до* stories на модель. Confluence architecture page версионируется.

System Design Space напоминает: каждое решение — trade-off; continuous architecture делает trade-offs *явными и проверяемыми*.

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

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

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