cube-survival.md 5.8 KB

📐 Куб выживания (The Survival Cube)

«Куб выживания» — это первый и главный графический артефакт AfRel. Он служит для стратегического позиционирования: показывает, где система находится сейчас и куда она должна прийти с точки зрения ресурсных ограничений.

Назначение

Куб выживания — это трёхмерная система координат для описания состояния системы и её целей.

Он позволяет:

  • Зафиксировать текущее состояние системы в измеримых величинах.
  • Определить целевое состояние как вектор (или траекторию) движения.
  • Визуализировать стратегию выживания: сжатие, расширение, улучшение качества или их комбинации.

Оси координат

X: Количество (Scale, Volume)

  • число обслуживаемых сущностей (пользователи, сервисы, запросы, контракты).
  • Единицы: штуки, RPS, строки кода, количество модулей.
  • Может быть сжатием (уменьшение X) или расширением (увеличение X).

Y: Качество (Quality, Density)

  • эффективность на единицу количества.
  • Единицы: latency (мс), throughput (RPS), availability (%), error rate (%), MTBF .
  • Повышение Y = улучшение свойств, понижение Y = деградация.

Z: Ресурсы/Деньги (Resources/Money)

  • стоимость достижения цели или поддержания состояния.
  • Единицы: доллары, человеко-часы, затраты на облако, ROI.
  • Отрицательный Z (убыток, инвестиции) допустим, но требует плана возврата.

Точки и векторы

  • Текущая точка A=(X_cur, Y_cur, Z_cur) — состояние до начала работ.
  • Целевая точка B=(X_targ, Y_targ, Z_targ) — желаемое состояние.
  • Вектор AB — стратегия движения.

Примеры векторов:

  • Сжатие с качеством:
    • ΔX<0, (меньше количество)
    • ΔY>0, (выше качество)
    • ΔZ<0 (в моменте тратим ресурсы, чтобы сжать и улучшить).
  • Экстенсивное расширение:
    • ΔX>0, (количество растёт)
    • ΔY<0, (качество падает)
    • ΔZ<0 (в моменте растём количеством с ускорением).
  • Инвестиции в качество при стабильном масштабе:
    • ΔX=0, (количество прежнее)
    • ΔY>0, (качество растёт)
    • ΔZ<0 (улучшаем, тратя ресурсы в моменте).
  1. Недопустимые и опасные области X < 0 в абсолютном значении невозможно (не бывает отрицательного числа сервисов). Однако относительное изменение ΔXΔX может быть отрицательным (сжатие).

    Z < 0 (убыток) допустимо временно, но требует явного плана возврата к Z≥0Z≥0.

    X = 0 означает отсутствие сущностей (например, процесс не обслуживает ни одного клиента) — допустимо как временное состояние (миграция, ночной простой), но постоянное X = 0 означает смерть процесса.

    Падение Y ниже минимально допустимого SLA — нежизнеспособное состояние.

  2. Графическое представление Куб с подписанными осями X, Y, Z.

    Точка A (текущее состояние) — красный маркер.

    Точка B (целевое состояние) — зелёный маркер.

    Вектор / траектория — стрелка или ломаная линия (если путь не прямой).

    Пояснительная записка к каждому кубу обязательна (ссылается на артефакт 1b).

  3. Пример (для цели 1b — сжатие с качеством) Текущая точка A: X=10X=10 сервисов, Y=200Y=200 мс (latency), Z=500kZ=500k $/год (затраты).

    Целевая точка B: X=3X=3 сервиса, Y=100Y=100 мс, Z=350kZ=350k $/год.

    Вектор: ΔX=−7ΔX=−7, ΔY=−100ΔY=−100 мс, ΔZ=−150kΔZ=−150k $/год (экономия).

На кубе это изображается как диагональ вниз-влево-вперёд (если Z — вертикальная ось, направленная вверх для улучшения, то экономия — движение вниз по Z).

  1. Связь с артефактами YAML Поля targ.x, targ.y, targ.z артефакта 1b содержат числовые значения current и target.

    Раздел check позволяет верифицировать, достигнуты ли целевые координаты.

    Куб выживания не заменяет YAML, а визуализирует его.