SyDes: C4-схема, которая сама считает нагрузку
Делаю браузерный редактор архитектурных схем: рисуете систему по C4, задаёте входной RPS, и сразу видно, какой узел упрётся первым, какой получится SLA и сколько осталось бюджета ошибок. Сейчас это бета.

C4-схема хорошо показывает, из чего состоит система: пользователи, сервисы, базы, очереди и связи между ними. Но про нагрузку она молчит. Сколько запросов в секунду дойдёт до базы, какой сервис ляжет первым в вечерний пик, какой SLA получится у всей цепочки — всё это обычно прикидывают отдельно, в таблице или в блокноте. Через пару месяцев такой расчёт уже не сходится со схемой.
Поэтому я делаю SyDes — редактор системного дизайна в браузере, где схема не картинка, а модель, которая считается. Рисуете систему по уровням C4, вписываете числа, и SyDes сразу проводит нагрузку по связям и подсвечивает узкие места: sydes.dev.

Для кого
Для тимлидов, архитекторов и senior-инженеров, которым нужно проверить новый сервис на нагрузку до первой строки кода, найти узкое место в существующей схеме и обсудить его с командой. И для тех, кто готовится к system design интервью: можно разобрать типовые архитектуры на готовых шаблонах и увидеть, где решение упрётся при росте нагрузки и почему.
Как это работает
Схема строится по уровням C4. На уровне контекста — люди и программные системы, двойной клик по системе открывает её контейнеры: веб- и мобильные клиенты, API Gateway, сервисы, базы данных, кеши, очереди, внешние системы. Элементы можно разложить по контурам: внешний и внутренний периметр, ЦОД, регион.
У каждого узла есть ёмкость — на инстанс и число реплик или суммарно, с резервом N+k. У связей — синхронный или асинхронный вызов, доля трафика, кеш, ретраи, таймауты. Дальше вы задаёте входной RPS, и движок проводит его по графу:
- считает загрузку каждого узла и красит его в зелёный, жёлтый или красный;
- показывает, сколько запросов узел не успевает обработать и теряет, и какая успешность получается на входе;
- учитывает ретраи, которые при перегрузке сами добавляют нагрузку, и очереди, которые копят отставание вместо потерь;
- подсказывает, сколько реплик нужно, чтобы узел перестал быть узким местом.
Пересчёт идёт сразу, пока вы правите схему, и не тормозит даже на сотнях узлов.

Нагрузка во времени и «что если»
Нагрузка редко бывает ровной, поэтому у входов можно задать суточный профиль: офисный день, вечерний пик, ночной batch или свою кривую по часам. SyDes считает схему для всех 24 часов и показывает пиковый час. Ползунок внизу переключает время, а поле «Что если ×N» отвечает на вопрос, кто упадёт следующим, если трафик вырастет в полтора раза.
SLA, качество данных и алерты
Поверх нагрузки есть слой надёжности. SyDes считает композитную доступность по жёстким синхронным зависимостям с учётом резервирования, латентность p50 и p99 и бюджет ошибок для каждого входа. Сразу видно, укладывается ли система в свой SLO и какое звено самое слабое.
Ещё два слоя — качество данных (свежесть, полнота, согласованность и другие проверки) и алерты. По схеме собирается каталог алертов с уровнями от P1 до P4, его можно выгрузить в Markdown или CSV. Переключатель «Нагрузка / SLO / Качество данных / Алерты» перекрашивает схему под нужный слой.

Шаблоны, ссылки и импорт
Начать можно не с пустого листа. Есть шаблоны: эталонный магазин, CRUD за API Gateway, заказы на событиях и два ЦОДа в режиме active-active. Если схема уже нарисована в Mermaid или Structurizr, её можно импортировать.
Схемой можно поделиться ссылкой: она целиком упаковывается в саму ссылку, в часть после #,
и на сервер не уходит. Живую схему можно встроить через iframe в документацию или вики.
Интерфейс на русском и английском, есть светлая и тёмная темы, а любое действие доступно с клавиатуры.
Бесплатно и в браузере
SyDes работает в браузере, бесплатно и без регистрации. Схемы хранятся у вас: в браузере или в файле, который можно сохранить и открыть снова.
Что дальше
Сейчас это бета 0.9, и до официального запуска я ещё дорабатываю продукт. Но уже можно открыть sydes.dev, выбрать шаблон «Магазин» и за пару минут найти его узкое место.
Буду рад отзывам: что непонятно, чего не хватает, где расчёт расходится с вашим опытом. Пишите на info@sydes.dev.