все фреймворки
05 · Framework

Fitness Functions Matrix

Atomic ↔ Holistic × Triggered ↔ Continuous
Atomic
один сервис / модуль
Holistic
вся система целиком
Triggered
по событию / в CI

Точечные проверки в CI

  • ArchUnit — нет циклов в модуле
  • Линтер-правила на сервис
  • Контрактные тесты сервиса

Системные проверки по событию

  • Нагрузочный тест end-to-end флоу
  • Chaos game-day по домену
  • Pentest на релиз
Continuous
постоянно в проде

Постоянные сигналы на сервисе

  • SLO + error budget сервиса
  • Алерты по p99 latency
  • Crash-free sessions мобильного приложения

Постоянные системные сигналы

  • End-to-end бизнес-SLO
  • Доменные дашборды и алерты
  • Бюджеты ресурсов и стоимости

Fitness functions из эволюционной архитектуры — это автоматические проверки, что система держит важные характеристики во времени. Матрица 2×2 раскладывает их по двум осям.

По горизонтали — atomic (один сервис) vs holistic (вся система). По вертикали — triggered (по событию, в CI) vs continuous (всегда в проде, через SLO и бюджеты).

Матрица помогает ответить, где у вас уже есть автоматические гарантии, а где архитектурные свойства держатся только на «надо помнить» — и какую клетку усиливать дальше.

Как использовать модель
01

Выпишите архитектурные свойства, которые система не должна потерять.

02

Положите каждую проверку в одну из четырёх клеток матрицы.

03

Выберите пустую или слабую клетку, которую нужно усилить следующей.

Источник в докладах
Поделиться
TelegramLinkedIn