Architecture Canvas: схема архитектуры
Соберите схему из компонентов и связей — на холсте или в списке, — проверьте её опубликованными правилами и выгрузите в Mermaid, SVG, Markdown или PDF. Всё работает в браузере, схема и версии остаются у вас.
Бесплатно, без регистрации
Схема пуста: добавьте компонент из палитры, выберите шаблон или загрузите пример.
Перетаскивайте компоненты мышью или пальцем; фон — сдвиг схемы; Ctrl или ⌘ + колесо — масштаб. С клавиатуры: Tab — к компонентам, стрелки двигают выбранный (Shift — шаг больше), Enter — свойства, Delete — удалить. Полный редактор без холста — вкладка «Компоненты и связи».
Схема хранится только в этом браузере. Правила проверок v1.0 от 2026-10-13.
Как работает инструмент
Компоненты
15 типов: веб-клиент, мобильное приложение, админка, API-шлюз, backend-сервис, воркер, очередь, провайдер авторизации, базы SQL и NoSQL, кэш, поиск, объектное хранилище, внешний API, мониторинг. У каждого типа свой контур и значок.
Связи
Стрелка идёт от того, кто обращается, к тому, к кому обращаются; для очереди — производитель → очередь → потребитель. У связи — протокол (HTTP/REST, GraphQL, gRPC, SQL / драйвер БД, События / pub-sub, Вебхук, WebSocket, Файлы), режим (синхронно или асинхронно), признак авторизации и описание.
Проверки
16 правил смотрят на форму графа: клиент у базы напрямую, общая база, циклы синхронных вызовов, публичный сервис без авторизации, чувствительные данные без резервных копий и другие. Каждое замечание подсвечивается на схеме.
Версии и экспорт
Сохраните версию перед изменениями и сравните с текущей схемой: добавленные, удалённые и изменённые компоненты и связи по названиям. Экспорт — Markdown-документ, Mermaid, SVG, JSON и PDF через печать.
Холст управляется мышью, пальцем и клавиатурой: Tab переходит между компонентами, стрелки двигают выбранный (Shift — шаг больше), Enter открывает свойства, Delete удаляет с подтверждением. Полный редактор без холста — вкладка «Компоненты и связи»: на телефоне и со скринридером она основная.
Правила проверок
Таблица строится из того же кода, что и проверки, — правила v1.0 от 2026-10-13. Уровень — приоритет просмотра, а не оценка риска вашего продукта.
AC-01 · Узел без связей
- Уровень
- Средний
- Когда срабатывает
- У компонента нет ни одной связи (кроме мониторинга — его часто рисуют без стрелок)
- Почему это важно
- Либо схема неполная, либо компонент лишний — читатель не поймёт, зачем он нужен.
- Что сделать
- Добавьте связи или удалите компонент.
AC-02 · Связь с самим собой
- Уровень
- Высокий
- Когда срабатывает
- Источник и цель связи — один и тот же компонент
- Почему это важно
- Обычно это ошибка ввода; внутренние вызовы на схеме компонентов не показывают.
- Что сделать
- Удалите связь или выберите другую цель.
AC-03 · Повтор связи
- Уровень
- Низкий
- Когда срабатывает
- Две связи с одинаковыми источником, целью и протоколом
- Почему это важно
- Повтор загромождает схему и путает при подсчёте зависимостей.
- Что сделать
- Оставьте одну связь, объединив описания.
AC-04 · Клиент обращается к базе данных напрямую
- Уровень
- Высокий
- Когда срабатывает
- Связь от веб-клиента, мобильного приложения или админки к базе SQL/NoSQL
- Почему это важно
- Учётные данные базы оказываются у клиента, а проверка прав и бизнес-правил — не на сервере. Исключение — платформа с правилами доступа на уровне строк; тогда покажите её API отдельным backend-узлом.
- Что сделать
- Проведите обращение через backend-сервис или API.
AC-05 · Общая база у нескольких сервисов
- Уровень
- Средний
- Когда срабатывает
- В одну базу пишут два и более сервиса или воркера (связи без пометки «только чтение»)
- Почему это важно
- Схема данных становится общим контрактом: изменение для одного сервиса может сломать другой. Для монолита с воркером это часто осознанный выбор.
- Что сделать
- Назначьте владельца данных; другие сервисы — через его API или события, либо отметьте связи «только чтение».
AC-06 · Публичный сервис без авторизации
- Уровень
- Высокий
- Когда срабатывает
- Публичный backend или шлюз: ни одна входящая связь не требует авторизации, и на схеме нет провайдера авторизации
- Почему это важно
- Из схемы не видно, кто и как проверяет доступ к сервису, открытому в интернет.
- Что сделать
- Отметьте связи, требующие авторизации, или добавьте провайдер авторизации; если сервис намеренно открыт — запишите это в заметках.
AC-07 · Цикл синхронных вызовов
- Уровень
- Высокий
- Когда срабатывает
- Сервисы вызывают друг друга по кругу синхронно (A → B → … → A)
- Почему это важно
- Сбой или задержка одного сервиса каскадом ложится на остальные; такие циклы трудно выкатывать по отдельности.
- Что сделать
- Разорвите цикл: одну из связей сделайте асинхронной (событие) или вынесите общую логику.
AC-08 · Клиент вызывает внешний API с секретом
- Уровень
- Высокий
- Когда срабатывает
- Синхронная связь от клиента к внешней интеграции, требующая авторизации
- Почему это важно
- Ключ API внешнего сервиса окажется в коде клиента, откуда его можно извлечь.
- Что сделать
- Вызывайте внешний API через свой backend (прокси), ключ храните на сервере.
AC-09 · Очередь без производителя или потребителя
- Уровень
- Средний
- Когда срабатывает
- В очередь никто не пишет (нет входящих связей) или из неё никто не читает (нет исходящих)
- Почему это важно
- Сообщения либо не появляются, либо копятся без обработки.
- Что сделать
- Покажите производителя (сервис → очередь) и потребителя (очередь → воркер или сервис).
AC-10 · Чувствительные данные без резервных копий
- Уровень
- Высокий
- Когда срабатывает
- В базе или файловом хранилище персональные или платёжные данные, а резервные копии не описаны
- Почему это важно
- Потеря таких данных — это и простой, и обязательства перед клиентами и регуляторами.
- Что сделать
- Опишите резервное копирование и проверку восстановления, затем отметьте «резервные копии описаны».
AC-11 · Нет мониторинга
- Уровень
- Средний
- Когда срабатывает
- Сервисов (backend, шлюзы, воркеры) три и больше, а узла мониторинга и логов нет
- Почему это важно
- С несколькими сервисами без общих логов и метрик сбой ищут вслепую.
- Что сделать
- Добавьте узел мониторинга и логов и покажите, какие сервисы в него пишут.
AC-12 · Одинаковые названия
- Уровень
- Средний
- Когда срабатывает
- Два компонента с одним названием (без учёта регистра)
- Почему это важно
- По схеме и экспорту нельзя понять, о каком из них речь.
- Что сделать
- Уточните названия, например по назначению или окружению.
AC-13 · Воркер без входных данных
- Уровень
- Низкий
- Когда срабатывает
- У воркера нет входящих связей
- Почему это важно
- Непонятно, откуда воркер берёт работу. Для задачи по расписанию (cron) это нормально.
- Что сделать
- Покажите очередь или сервис, дающий работу, либо укажите расписание в технологии или заметках.
AC-14 · Шлюз никуда не ведёт
- Уровень
- Средний
- Когда срабатывает
- У API-шлюза есть связи, но нет исходящих
- Почему это важно
- Шлюз существует, чтобы направлять запросы к сервисам.
- Что сделать
- Покажите сервисы, к которым шлюз направляет запросы.
AC-15 · К хранилищу никто не обращается
- Уровень
- Средний
- Когда срабатывает
- У базы, кэша, поиска или хранилища есть только исходящие связи
- Почему это важно
- Хранилища обычно не инициируют обращения; скорее всего, перепутано направление связи.
- Что сделать
- Проверьте направление: стрелка идёт от того, кто обращается, к хранилищу.
AC-16 · Клиент ничего не вызывает
- Уровень
- Низкий
- Когда срабатывает
- У клиента есть связи, но нет исходящих
- Почему это важно
- Клиенты обычно инициируют обращения; возможно, перепутано направление связи (для push-уведомлений это нормально).
- Что сделать
- Проверьте направление стрелок от клиента.
Веб-клиент
- Слой автораскладки
- 1 — клиенты
- Особые свойства
- —
Мобильное приложение
- Слой автораскладки
- 1 — клиенты
- Особые свойства
- —
Админ-панель
- Слой автораскладки
- 1 — клиенты
- Особые свойства
- —
API-шлюз
- Слой автораскладки
- 2 — шлюз и авторизация
- Особые свойства
- доступность
Backend-сервис
- Слой автораскладки
- 3 — сервисы
- Особые свойства
- доступность
Воркер / cron
- Слой автораскладки
- 4 — очереди и воркеры
- Особые свойства
- доступность
Очередь / брокер событий
- Слой автораскладки
- 4 — очереди и воркеры
- Особые свойства
- доступность
Провайдер авторизации
- Слой автораскладки
- 2 — шлюз и авторизация
- Особые свойства
- доступность
База данных SQL
- Слой автораскладки
- 5 — хранилища и внешние API
- Особые свойства
- доступность, чувствительность данных, резервные копии
База данных NoSQL
- Слой автораскладки
- 5 — хранилища и внешние API
- Особые свойства
- доступность, чувствительность данных, резервные копии
Кэш
- Слой автораскладки
- 5 — хранилища и внешние API
- Особые свойства
- доступность, чувствительность данных
Поисковый движок
- Слой автораскладки
- 5 — хранилища и внешние API
- Особые свойства
- доступность, чувствительность данных
Объектное хранилище / CDN
- Слой автораскладки
- 5 — хранилища и внешние API
- Особые свойства
- доступность, чувствительность данных, резервные копии
Внешняя интеграция / API
- Слой автораскладки
- 5 — хранилища и внешние API
- Особые свойства
- доступность
Мониторинг и логи
- Слой автораскладки
- 5 — хранилища и внешние API
- Особые свойства
- доступность
Ограничения
- Инструмент видит только то, что нарисовано: нагрузку, задержки, стоимость инфраструктуры, отказоустойчивость и соответствие законам он не оценивает.
- «Требует авторизации» и «резервные копии описаны» — отметки с ваших слов; инструмент не проверяет, что они действительно настроены.
- Направление стрелок — соглашение «кто обращается → к кому». Если рисовать иначе, часть правил (очередь, хранилище без входящих связей) даст ложные замечания.
- Схема рассчитана на десятки компонентов (до 150); для больших систем разбейте её на несколько схем по контекстам.
- Сравнение версий учитывает компоненты, связи и их свойства; перемещения на холсте считаются отдельно и смысл схемы не меняют.
Приватность
- Схема строится и проверяется в вашем браузере: сам инструмент не отправляет названия, технологии и заметки на сервер, они не попадают в адрес страницы.
- Черновик и версии хранятся только в этом браузере (localStorage); «Очистить всё» удаляет их. Файлы экспорта создаются на вашем устройстве.
- Перед экспортом инструмент предупреждает, если в заметках похоже на пароль или ключ API.
- В аналитику уходит только факт проверки (есть ли замечания, по категории) и формат экспорта — без содержимого схемы.
- Результат уходит к нам, только если вы сами оставите заявку и не снимете галочку «Приложить результат» — что именно уйдёт, видно в форме.
Похожие инструменты
Все инструменты · 40
Idea → Product: от идеи к плану продуктаИнтервью об идее → роли, функции, три варианта объёма MVP, приоритеты и риски. На выходе — Product Blueprint для старта разработки.
Оценка сложности MVPТип продукта, платформы, модули и интеграции → категория сложности, направления работ и вопросы, без которых цену не назвать честно.
Калькулятор объёма и сметыМодули, трудоёмкость, ваши ставки, коэффициенты сложности, зависимости и резерв рисков → диапазон стоимости и сроков с объяснением каждой цифры и сравнение смет.
Генератор технического брифаПошагово соберите бриф: задача, роли, сценарии, интеграции, данные, критерии приёмки. На выходе — Markdown, который можно скопировать или скачать.
Интервьюер требованийАдаптивное интервью с заказчиком → роли и права, функциональные и нефункциональные требования, противоречия, критерии приёмки и утверждённый baseline с источниками.
Tech Stack Advisor: выбор стекаСравнение технологий одного слоя по требованиям, опыту команды, стоимости поддержки, производительности и безопасности — с жёсткими ограничениями, условиями смены вывода и экспортом решения в ADR.Нужен разбор архитектуры с инженером?
Техническая консультация — платный инженерный разбор схемы, рисков и следующих шагов. Первый короткий разговор о формате бесплатный; стоимость определяется после брифа и согласования объёма.
- Первый короткий разговор бесплатный — выбираем формат работы
- NDA — по вашему или нашему шаблону
- Стоимость — после брифа и согласования объёма