Перейти к основному содержимому

Моделирование систем

Архитектору Инженеру

Моделирование — замена реальной (или планируемой) системы упрощённым, но целенаправленным описанием, с которым можно экспериментировать без риска для продакшена. В IT это мост между абстрактным проектированием и измеримыми решениями.

Что такое модель

Модель выделяет существенное для конкретной цели и отбрасывает остальное.

ТипФормаПримеры в IT
Математическаяуравнения, графы, формулытеория очередей, криптография
Имитационнаяпрограмма, воспроизводящая динамикунагрузочный симулятор
Логическаядиаграммы, автоматыBPMN, состояния сессии
Физическаямакет (редко)прототип железа, IoT

Неверная цель → модель слишком грубая или избыточно сложная.

Этапы процесса

  1. Постановка задачи — что хотим узнать? (p99 латентности при ×2 RPS, RTO при падении ЦОД, риск срыва сроков.)
  2. Анализ системы — компоненты, границы, метрики, внешняя среда.
  3. Концептуальная модель — сущности и связи без кода (DFD, use case, диаграмма состояний).
  4. Формализация — дискретно-событийная, агентная, системная динамика, Монте-Карло.
  5. Реализация — скрипт, симулятор, цифровой двойник.
  6. Верификация — правильно ли реализован замысел модели.
  7. Валидация — соответствует ли модель реальности (сравнение с логами, замерами).
  8. Эксперименты — сценарии: пик, отказ узла, новая политика кэша.
  9. Рекомендации — изменения архитектуры, SLA, процессов.

Верификация и валидация не совпадают: можно написать безошибочный код модели, который всё равно плохо описывает прод.

Парадигмы в IT

Дискретно-событийное моделирование (DES)

Система меняется в моменты событий (запрос пришёл, сборка завершилась). Между событиями состояние статично. Подходит для очередей, CI/CD, сетевых задержек.

Агентное моделирование (ABM)

Автономные агенты с правилами: пользователи, микросервисы, боты. Полезно для эмерджентного поведения (лавина запросов, каскадные отказы).

Системная динамика

Запасы и потоки, обратные связи — технический долг, рост БД, циклы релизов.

Монте-Карло

Много случайных прогонов → распределение результата, а не одно число. Сроки проектов, стоимость облака при переменной нагрузке, оценка рисков.

Практические сценарии

  • Производительность: выдержит ли архитектура пик Black Friday?
  • Надёжность: RTO/RPO при отказе региона.
  • Сеть: задержки, потери пакетов, edge.
  • Безопасность: сценарии атаки, эффект rate limit и WAF.
  • Базы данных: блокировки, план join’ов, репликация.
  • DevOps: время пайплайна, частота падений сборки.

Моделирование должно заканчиваться действием, а не отчётом ради отчёта.

Дальше: Численные методы.


См. также

Другие статьи этого же раздела в боковом меню (как на странице «О разделе»).