STIT·AI-driven engineering system·b2b·since 2022

Мы научили ИИнашей инженернойдисциплине.

Скорость выросла в разы.
Качество — впервые перестало зависеть от конкретного исполнителя.

аналитика·архитектура·бэкенд·инфраструктура
02/16problem

Скорость и качество — обычно выбор одного.

Команда тянет дедлайн — копится технический долг. Команда чистит долг — встаёт релиз. Этот компромисс считается законом природы.

AI-инструменты в руках обычной команды его только усиливают: больше кода, который никто не понимает, появляется быстрее.

типичные симптомы
качествосвойство конкретной команды, не процесса
документациястареет быстрее, чем пишется
безопасность«после релиза» — а релиз не заканчивается
новый проектстарые ошибки на новых граблях
ключевой инженеруходит — продукт останавливается
AI-инструментыускоряют производство legacy
→ этот компромисс — не закон природы. Это отсутствие процесса.
03/16как это устроено

Архитектор проектирует до первой строки кода.

ИИ собирает по утверждённым артефактам.

Система проверяет на каждом шаге.

↓ что внутри
04/16ecosystem

Четыре опоры. Одна фабрика.

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

stit/infra
Платформа

Наша корпоративная платформа. Единые SSO, секреты, регистр образов, сквозная наблюдаемость. К ней подключается каждый клиентский проект — без отдельной настройки.

edge · SSO · vault · registry · observability · multi-tenant
project-infra-template
Проектная инфраструктура

Стандартный пакет инфраструктуры под клиента: контейнеры, конфигурация, бэкапы, мониторинг, восстановление. Разворачивается одной командой.

docker-compose · ansible · daily backup · DR runbook
go-backend-template
Бэкенд-фабрика

Шаблон бэкенда с архитектурными артефактами под кодогенерацию. Безопасность, наблюдаемость, аудит — встроены. ИИ собирает домен по утверждённому документу.

DDD-артефакты · doc → code mapping · встроенный аудит и метрики
golibinfra
Инженерные блоки

Готовые компоненты бэкенда: транзакционный outbox, audit-log, идемпотентность, защита от перебора, метрики, кэш, JWT. Базис, на котором собирается домен.

outbox · audit · idempotency · brute-force guard · metrics · JWT
платформа проектная инфра бэкенд-фабрика инженерные блоки
в работе: дизайн-система · фронтенд-шаблон с тем же контуром артефактов

Два режима развёртывания.

Архитектуру подбираем под задачу. Шаблоны, артефакты и контроль качества — одни и те же.

01
один сервер
Single-node на VPS

Docker Compose, одна машина. Быстрый запуск, низкая стоимость эксплуатации, простой DR. Подходит для MVP, средних нагрузок, изолированных корпоративных контуров.

Docker·Compose·Ansible·Traefik
02
распределённая система
Кластер на Kubernetes

Горизонтальный масштаб, multi-region, высокие нагрузки. Шины событий, OLAP-аналитика, оркестрация долгих процессов. Для нагруженных и распределённых продуктов.

Kubernetes·Helm·Argo CD·Kafka·ScyllaDB·ClickHouse·gRPC·Temporal
05/16что в коробке · день первый

С первого дня — то, что обычно строят к полугоду.

Безопасность, наблюдаемость, восстановление — встроены в шаблон. Они не строятся заново на каждом проекте. Один раз продумано, задокументировано, проверено в боевой эксплуатации.

TLS, защита от перебора, WAF на периметреобычно: 1–2 нед.
Хранилище секретов — никаких ключей в репозиторииобычно: 1–2 нед.
Сквозная наблюдаемость: метрики, логи, трейсы
Алерты на технические и бизнес-аномалии, доставка в мобильное приложениеобычно: редко настраивается
Готовые панели в Grafanaобычно: 2–3 мес.
Авторизация: JWT, Argon2id, защита от перебораобычно: 1–2 мес.
Обнаружение повторного использования токеновобычно: встречается редко
Журнал аудита, корректируемый только дозаписью
Транзакционный outbox для событий
Ежедневные бэкапы + квартальные учения восстановленияобычно: часто не доходит
SSO для административных интерфейсов
Готовые HTTP-обвязки: rate-limit, CSP, идемпотентность
Изоляция между клиентами, заложенная в инфраструктуру
06/16контур: артефакт → код

Один артефакт — шесть слоёв кода.

Архитектор описывает домен в едином формате. ИИ собирает все слои реализации — на любом проекте одинаково. Пока документ не утверждён, сборка не запускается: status: draft — стоп.

docs/domains/user/user.aggregate.md
OK
validate-domain-doc.sh
/add-domain skill
OK
depguard · CI-gate
Перед сборкой автоматически проверяется: документ утверждён, ссылки между артефактами целостные, обязательные разделы заполнены. Если нет — сборка останавливается до правки. Соответствие не на дисциплине разработчика, а в системе.
маппинг секций → Go-конструкций зафиксирован в одном документе · MAPPING.md
07/16пять уровней контроля

От советов к блокировкам.

Пять слоёв: от «прочитай и помни» до «эта команда физически не выполнится». Это убирает главную слабость AI-инструментов — «модель знала правило, но не применила его».

01
Правила репозитория
совет
общие инструкции, загружаются всегда
Использовать общий логгер, не системную печать
02
Контекстные правила
контекст
активируются на конкретном участке
При работе с инфраструктурой подгружаются её правила сборки
03
Процедуры
процедура
пошаговый сценарий с предусловиями
Создание домена начинается с проверки документа
04
Роли
роль
ограниченный набор инструментов
У ревьюера физически нет права редактировать код
05
Блокировки
блокировка
детерминированно останавливают действие
Попытка незакреплённой версии контейнера — стоп
«Инструкции — это совет. Блокировки — это гарантия выполнения.»
— стандарт Anthropic, закреплённый в нашем рабочем процессе
08/16безопасность · 8 слоёв

Восемь слоёв защиты — базовая комплектация.

От настройки сервера до журнала аудита, в котором ничего нельзя подменить. Не «добавим потом, когда дойдут руки». Это уже работает в шаблоне на момент первого деплоя.

01
Сервер
host hardening · ansible

Автоматические обновления безопасности, точное время, лимиты ядра, защита от подбора пароля.

02
Доступ по SSH
ssh hardening · fail-safe

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

03
Сеть и периметр
WAF · TLS · HSTS

Веб-фаервол с готовыми наборами правил. Обязательный HTTPS, современный TLS, HSTS с preload. Шумный трафик режется на edge.

04
Контейнеры
image pinning · isolation

Версии образов закреплены до хэша. Read-only файловая система там, где можно. Базы данных — во внутренних сетях, без публичного доступа.

05
HTTP-слой
обвязки на каждый запрос

Ограничение частоты, размер тела, заголовки безопасности, корреляция запросов с трейсами, идемпотентность повторов.

06
Аутентификация
JWT · Argon2id · RBAC/ABAC

Явная проверка алгоритма токена (защита от подмены). Argon2id для паролей. Ротация refresh-токенов с обнаружением повторного использования.

07
Секреты
Vault · ноль ключей в репо

Хранилище секретов с разграничением по проекту и окружению. Попытка достать чужое — отказ на уровне политики. Секреты не утекают в системные команды.

08
Аудит
только-INSERT журнал

Журнал, в который нельзя ничего удалить или изменить. Корреляция с трейсами и идентификаторами запросов. Девять типов событий из коробки.

09/16наблюдаемость · с первого деплоя

Наблюдаемость — готовый дашборд, не отдельный проект.

Метрики, логи и трейсы собираются автоматически — при подключении модулей. Бизнес-показатели лежат на тех же панелях, что и инфраструктурные. Никаких отдельных недель разработки наблюдаемости.

grafana.stit.tech / dashboards / Apps · Service Overview
HTTP RPS
http_requests_total
+12%
178req/s
HTTP p95 latency
http_server_duration_seconds
88ms
DB pool · active
db_pool_connections{state=active}
16/ 30
Outbox lag
outbox_lag_seconds{subject=*}
0.60s
biz_user_registered_total
business · конвенция bizmetric
+8%
21/min
auth_refresh_reused_total
security · audit event
0event
алерты
На любые инциденты — технические и бизнес-аномалии

Не только CPU и диск. Падение конверсии, рост ошибок, отклонение бизнес-показателя от baseline — настраиваем под ваши метрики и пороги. Каждый алерт — с контекстом: что произошло, в каком сервисе, какой запрос.

канал доставки
Мобильное приложение для команды клиента

Не Slack и не e-mail. Алерты приходят push-уведомлением на телефон — мгновенно, с деталями инцидента. Доступ — для тех, кому реально нужно: инженеры, операционка, бизнес-стейкхолдеры. Часть нашего инфраструктурного сервиса.

↳ панель имитирована для презентации. На реальном проекте показатели живые с первой минуты деплоя — без правки кода приложения.
10/16изоляция клиентов

Изоляция криптографией, а не дисциплиной.

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

project AOTLP + BearerTraefikedgetenant-authGo · 95 LOCotel-collectorrouting connectorVictoriaMetricsaccountIDLokiX-Scope-OrgIDTempoX-Scope-OrgID
01
Маршрутизация
Трафик каждого клиента разводится по отдельному пути ещё на периметре платформы.
02
Приёмник
На входе в хранилища каждый запрос подписан токеном клиента. Чужой токен — отказ.
03
Хранение
Данные разделены по идентификатору клиента на уровне самих баз. Со своим сроком хранения и квотой.
11/16состав фабрики

Из чего собрана фабрика.

Инструменты и стандарты, которые мы накопили за пять лет. Теперь они работают на каждом проекте — без отдельной сборки. Каждая цифра — это конкретный артефакт, который можно открыть и проверить.

0
лет инженерной практики
опыт команды
0
опоры в составе фабрики
репозитории
0
готовых инженерных блоков бэкенда
библиотека
0
сервисов корпоративной платформы
платформа
0
готовых панелей наблюдаемости
Grafana
0+
автоматических метрик из коробки
бэкенд-шаблон
0
слоёв защиты в каждом проекте
методология
0
проверок безопасности в сборке
линтеры
0
сценариев восстановления с инструкциями
DR runbook
0
архитектурных решения с trade-offs
ADR
0
секретов в исходниках
стандарт
0%
версий контейнеров закреплены
стандарт
↳ полные отчёты по каждому пункту — отдельными документами, готовы к показу под NDA. Каждая ссылка ведёт к конкретной строке кода.
12/16на что обратит внимание CTO

Десять решений, которые отметит CTO.

Каждое — реально существует в коде. Проверяется за минуту: открыть репозиторий, найти строку.

01
process
DDD-документ status:draft блокирует код физически
pre-skill-domain-gate.sh + git pre-commit. Не пожелание — техническая блокировка.
02
agent
Reviewer-subagent без write-tools
frontmatter `tools: Read, Glob, Grep, Bash`. Цитата — методология Cognition (Devin Review).
03
code
bizmetric panics на нарушение convention
Имя метрики не biz_<domain>_<event>_* → panic at startup. Defence-in-depth.
04
observability
W3C trace через NATS-headers
natskit пробрасывает trace_id через message metadata. Сквозной trace даже через очередь.
05
reliability
outbox_lag_seconds ObservableGauge
Возраст самого старого неопубликованного outbox-события. Канарейка для каскадных падений.
06
security
AppRole policy = валидация изоляции
kv/data/projects/<p>/<env>/* — попытка чужого env возвращает permission denied. Crypto, не дисциплина.
07
security
Vault-agent trampoline-entrypoint
role-id и secret-id пишутся через printf в init-volume, не светятся в docker inspect.
08
code
Multi-source migration runner
pgkit.MigrateUpMulti склеивает миграции из kit'ов и приложения. Каждый kit приносит свою схему.
09
agent
Auto-memory off by enforcement
permissions.deny + hook. Принцип: «если правило забывается между сессиями — оно недо-зафиксировано в репо».
10
security
Path-allowlist на Traefik для public API
!Path('/loki/api/v1/push') — write через public router физически невозможен.
13/16ответы на сложные вопросы

Вопросы, которые нам зададут первыми.

01возражениеAI непредсказуем — что-то да сломает+
Поэтому ИИ у нас работает не сам по себе. Пять уровней контроля: правила, контекст, процедуры, ограниченные роли, блокировки. Инструкция — это совет; блокировка — гарантия выполнения.
02возражениеШаблон — это велосипед, у нас уникальные требования+
Шаблон закрывает только инфраструктуру — а у неё у всех одинаковые требования: секреты, аудит, метрики, восстановление. Уникальная бизнес-логика остаётся вашей и пишется в отдельных модулях.
03возражениеНе получится ли привязка к экосистеме STIT?+
Все компоненты — отраслевой open-source: Postgres, OpenTelemetry, Grafana, Vault, Traefik и другие. Наше — тонкие обёртки и небольшой собственный сервис изоляции. Покинуть нас можно в любой момент.
04возражениеЧто, если STIT исчезнет?+
Передаём весь технологический контур целиком — репозитории, документацию, артефакты. Документация для ИИ читается людьми так же легко. Любая команда продолжит работу с того же места.
05возражениеИИ может «придумать» что попало+
Перед сборкой автоматически проверяется целостность артефактов и обязательные разделы. Импорты между модулями ограничены. В сборке — десять статических проверок. Роль ревьюера не имеет права редактировать код.
06возражениеГде доказательства, что это правда работает?+
Живые репозитории. Развёрнутый корпоративный стек, на котором всё реально эксплуатируется. Архитектурные решения с trade-offs задокументированы. Открываем под NDA.
14/16живое демо

Шесть эпизодов живого показа.

Полный показ — 30 минут с ведущим. Не слайды: реальные команды на живой инфраструктуре. Под NDA открываем корпоративный стек и референс-проекты.

01≈2 мин
Деплой одной командой
git push → автоматический деплой → зелёные проверки за две минуты. Идемпотентно: перезапускается только изменённое.
02≈3 мин
Артефакт превращается в код
Открываем утверждённый документ, запускаем сборку — шесть файлов реализации и четыре теста появляются по фиксированному маппингу.
03≈2 мин
Сквозная трассировка запроса
POST → HTTP-обработчик → БД → очередь → фоновая задача → внешний HTTP. Контекст трассировки пробрасывается даже через очередь.
04≈2 мин
Чужой токен — отказ
Подменяем идентификатор клиента — получаем 401. В журналах метрик, логов и трейсов клиент не видит чужие данные.
05≈1 мин
Повторное использование токена зафиксировано
Используем refresh-токен дважды — мгновенно создаётся событие аудита и блокируется сессия. Без потери предыдущих логов.
06≈5 мин
Восстановление после катастрофы
Удаляем БД в sandbox, запускаем процедуру восстановления, поднимаемся из бэкапа, проверяем целостность. Каждый шаг — с подтверждением.
15/16формат сотрудничества

Мы становимся вашим инженерным контуром.

Не разовый проект. Долгосрочное партнёрство, в котором мы берём на себя четыре зоны ответственности и работаем в логике вашего бизнеса.

партнёрство
четыре зоны
01
Инфраструктура
Берём на себя корпоративную платформу: безопасность, наблюдаемость, восстановление, единый вход. Эксплуатируем сами — вам не нужно нанимать DevOps.
02
Оцифровка процессов
Описываем ваши бизнес-процессы в едином формате артефактов. По ним собирается система, обучается команда, контролируется качество.
03
Поиск точек автоматизации
Регулярно анализируем, где автоматизация даст ощутимый результат. Не разовая постановка ТЗ — постоянная работа в логике ROI.
04
Разработка софта
Бэкенд, дизайн, фронтенд собираются по нашей методологии. Качество и скорость остаются предсказуемыми независимо от роста команды.
или
разовая работа
Разработка под ключ
Если нужен только продукт, без долгосрочного партнёрства. Закрываем задачу по нашей методологии, фиксируем результат, передаём документацию и репозитории команде клиента.
16/16·обсудим проект

Без воронки.
Без менеджеров.

Коротко о задаче — в Telegram. Отвечаем сами. Если задача в нашей экспертизе, договоримся о встрече. Если нет — скажем честно.

промышленный стек, эксплуатируемый нашей командой
Go·TypeScript·React·Next.js·PostgreSQL·ScyllaDB·ClickHouse·Redis·MinIO·NATS·Kafka·gRPC·Temporal·Docker·Kubernetes·Helm·Argo CD·Ansible·Traefik·Vault·Authentik·Gitea·CrowdSec·OpenTelemetry·Grafana·VictoriaMetrics·Loki·Tempo·Alertmanager·Restic
Мы берём на себя эксплуатацию всего технологического контура. Вам не нужно нанимать команду DevOps — это часть партнёрства.
STIT · b2b outsource · since 2022stit.tech