ArchLens

Интеллектуальный System Design

Увидьте, как связаны все части. И поднесите лупу к деталям.

Архитектура — это не рисование квадратиков, соединённых стрелками. В ArchLens каждое соединение показывает, что по нему проходит, в каком направлении, в каком объёме и сколько это занимает времени. И диаграмма начинает поднимать вопросы, на которые должен ответить проект.

Начать рисовать
Расширьте взгляд на то, что проходит от одного компонента к другому в вашей архитектуре, и смоделируйте это ещё до начала работы.
Эффективная архитектура использует все элементы экосистемы. И именно в деталях она выигрывает или проигрывает.

Стрелка не отвечает на трудные вопросы

В большинстве инструментов база данных — это прямоугольник с иконкой, а соединение — просто линия. Рисунок выглядит красиво и проходит ревью, но откладывает именно те решения, которые важны. И за них приходится платить во время разработки:

  • Какой ресурс вызывается? Он уже есть у поставщика и готов к использованию?
  • Этот вызов читает или пишет? В каком направлении движутся данные?
  • Действительно ли вызов должен быть синхронным?
  • Сколько запросов в секунду проходит здесь?
  • Сколько выдерживает этот компонент, прежде чем перегрузится?
  • Что происходит с теми, кто от него зависит, когда он тормозит?
  • Каково альтернативное поведение или путь, когда что-то ломается?
  • Если трафик вырастет втрое, что изменится в системе?

Посмотрите в работе

В этом примере — упрощённый бот для Discord на n8n с ИИ, очередью, кешем, базой данных и оплатой через Pix. В повседневной работе диаграмма чистая: компоненты, соединения и ресурсы, которые использует каждое из них, — всё готово для презентации и документации.

Диаграмма бота для Discord в ArchLens без анимации и выделений, только компоненты, соединения и ресурсы
Для эскизов и презентаций: простой и наглядный вид элементов вашего проекта.
Надёжная архитектура держится сама, без того, чтобы кто-то постоянно тушил пожары.

Когда захотите проанализировать, просто включите симуляцию потока. Пакеты побегут по дорожкам в направлении движения данных со скоростью, зависящей от пропускной способности, а перегруженные или медленные компоненты перейдут в состояние предупреждения.

Действуйте заранее: этот вид позволяет наблюдать за поведением ваших hotpath и планировать размер экземпляров под запланированный объём трафика.

Соедините точки. По-настоящему.

Ни свободный рисунок, ни диаграмма в виде кода. В ArchLens вы визуально строите модель архитектуры, и детали — её часть: каждая деталь и каждая связь несут всё, что нужно, чтобы понять, как они на самом деле взаимодействуют.

Соединения — это не просто линии с подписью. Это контракты: они описывают, что сервис предлагает и что клиент должен предоставить, чтобы им воспользоваться.

Ресурсы с контрактом

Каждый компонент объявляет, что он предлагает: эндпоинты, топики, запросы. С протоколом, методом, чтением или записью и временем ответа.

POST /orderspublishзадержка

Соединения, которые говорят, что через них проходит

Кто кого вызывает, какие ресурсы поставщика использует, с какой пропускной способностью, основной это поток или альтернативный и идёт ли обмен в обе стороны.

300 req/sfallbackдвунаправленное

Изучайте язык архитектуры, пока рисуете

Компонент, стереотип, дизайн, технология — термины, которые вызывают сомнения именно тогда, когда их нужно применить. В ArchLens каждый из них появляется в тот момент, когда вам нужно решить, с конкретными примерами. Понятие перестаёт быть теорией и становится выбором.

Компонент

Чем является деталь в архитектуре: сервис, хранилище, брокер, задача по расписанию, актор. И сколько она выдерживает: ёмкость каждого экземпляра в запросах в секунду.

ServiceStorageMessageBrokerёмкость

Стереотип

Конкретная роль компонента. Хранилище может быть базой данных, кешем или data lake; сервис — API или веб-приложением.

DatabaseCacheWebApiQueue

Дизайн

Внутренний стиль компонента. Для сервиса: Clean, Hexagonal, CQRS, MVC. Для базы данных: реляционная, документная, ключ-значение.

CleanCQRSHexagonRelational

Технология

Конкретный продукт за деталью — из каталога, где больше ста вариантов. Выбор технологии сразу подсказывает подходящий стереотип и иконку.

PostgresRedisRabbitMQKafka

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

Лупа

Детали — не украшение. Они несут фундаментальные заботы архитектуры: требования, ограничения и эффективность.

Требования

Что система должна обеспечить: ожидаемый трафик на каждом соединении и ресурсы, которые нужны каждому клиенту.

Ограничения

Рамки, в которых она работает: ёмкость каждого компонента и время ответа каждого ресурса.

Эффективность

Как она использует то, что есть: нагрузка на каждую деталь по сравнению с тем, что она выдерживает, и кто слишком сильно давит на своего поставщика.

  • Трафик в движении

    Пакеты движутся по каждому соединению в направлении данных, быстрее там, где пропускная способность выше.

  • Нагрузка и ёмкость

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

  • Задержки и их влияние

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

  • А если трафик вырастет?

    Умножьте трафик всей диаграммы и посмотрите, как распределится нагрузка, не меняя рисунок.

Сколько стоит ваша архитектура

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

Компонент за компонентом

Ежемесячная стоимость хранится рядом с компонентом, за который она платится. Меняется схема — меняется и итог.

Почему именно такая сумма

Рядом со стоимостью запишите, чем она обоснована: облако, регион, инстанс, реплики, лицензии. Обсуждение переходит из таблицы в диаграмму.

Стоимость рядом с нагрузкой

Когда стоимость видна рядом с трафиком и пропускной способностью, легко понять, какие компоненты формируют итог и на какие стоит взглянуть ещё раз.

$12 340,00/мес.8 из 12 компонентов2× t3.medium

Доступно на всех тарифах, включая Free. Значения — те, что вы вводите: ArchLens не запрашивает цены облаков.

Где хранится ваш проект

Чтобы рисовать в ArchLens, вы входите в аккаунт, и именно он хранит вашу работу. На тарифе Free проект хранится в вашем аккаунте, в облаке. На Pro вы для каждого проекта выбираете между своим частным облаком и файлом .archlens на компьютере.

Free: в вашем аккаунте

Пока вы рисуете, проект автоматически сохраняется в облаке и привязан к вашему входу. Скачивать файл не нужно: его место — ваш аккаунт.

Pro: в облаке или на вашем компьютере

Сохраните проект в аккаунте и открывайте его где угодно или создайте файл .archlens, в который ArchLens сам сохраняет изменения каждую минуту.

Pro: берите с собой куда нужно

Файл ваш: его можно хранить рядом с кодом, отправить команде или приложить к документации.

Тарифы

Начните бесплатно и смените тариф, когда этого потребует ваш способ работы. Тарифы различаются тем, кто ими пользуется и как работает вместе с другими.

Free

Чтобы попробовать

R$ 0

  • 3 проекта, хранятся в вашем аккаунте
  • Стоимость архитектуры
  • Промпт для ИИ
  • PNG с водяным знаком
  • Открывает чужие проекты в режиме чтения, с моделированием
  • Все значки каталога
  • Делится ссылкой только для чтения

Team Скоро

Для команд, которые редактируют вместе

За редактораЧитатели не платят.

  • Всё из Pro
  • Общее облако, группы и права доступа
  • Совместное онлайн-редактирование

Enterprise Скоро

Для компаний с требованиями к договору

По запросу

  • Всё из Team
  • Единый вход (SSO)
  • Договор и гарантии по данным

Совместный доступ: получателю проекта нужен аккаунт, как минимум Free. На Free чужие проекты всегда открываются в режиме чтения: смотреть и моделировать можно, редактировать — никогда. На Pro и выше получатель читает или редактирует — в зависимости от прав, выданных тем, кто поделился.

Рисуйте меньше квадратиков. Понимайте систему лучше.

Постройте архитектуру с важными деталями и обсуждайте систему исходя из того, как она на самом деле взаимодействует.

Начать рисовать