Модульный монолит — по умолчанию. Микросервисы — только когда правда нужны.
По умолчанию делаем модульный монолит на Java/Spring Boot или Node.js/TypeScript: предсказуемый стек, понятная архитектура, разумные сроки.
Микросервисы — только когда у задачи действительно несколько разных нагрузок, команд и SLA. Иначе модульный монолит почти всегда быстрее запустить, проще поддерживать и дешевле развивать в первый год.
Senior-команда от спринта до запуска. От 600 000 ₽. Первый backend-slice обычно через 3–4 недели.
01 · Когда приходят за backend
Четыре стадии, в которых задача попадает к нам.
У каждой стадии — свой формат работ и свой тариф. На первой встрече фиксируем стадию, чтобы не предлагать «всё подряд», и переходим к понятной смете.
Scenario · 01
“«Фронт есть, но за ним пустота»”
Экраны и дизайн готовы, прототип работает на моках, но реальной серверной части нет: ни модели данных, ни ролей, ни API, ни админки, ни интеграций. Что мы делаем: проектируем модель данных под бизнес, собираем API под существующий фронт, добавляем роли и права доступа, поднимаем базу, реализуем бизнес-логику, готовим документацию и деплой.
Полноценный SaaS, B2B-кабинет, маркетплейс или внутренняя система: несколько ролей, статусы, документооборот, оплаты, связки с CRM, 1С, складом, email, аналитикой. Что мы строим: модульный монолит с границами доменов, ролевую модель и права, интеграционный слой с обработкой ошибок и повторов, админ-панель для команды поставщика, мониторинг и журнал действий.
Система работает, но каждое изменение что-то ломает: непонятная модель данных, бизнес-логика размазана между фронтом и базой, интеграции падают, разработчикам страшно править. Что мы делаем: проводим backend-ревью, фиксируем границы доменов, переписываем самые опасные участки, стабилизируем интеграции, оставляем понятный план развития.
У продукта есть команда, но не хватает архитектурного слоя: некому принять решение про монолит vs микросервисы, выбор базы данных, схему интеграций, ролевую модель, схему деплоя. Что мы делаем: архитектурный спринт за 5 дней — карта системы, ключевые решения с обоснованием, риски, план миграции, точная смета на дальнейшие работы.
02 · Чего мы не делаем · Честное руководство по выбору
Пять задач, где лучше не идти к нам.
Перед списком «что строим» — что не наша территория. Если ваш сценарий из этого списка, мы порекомендуем подходящего исполнителя и не возьмём проект только ради бюджета. Это сэкономит вам деньги и сроки.
01
Backend только под ТЗ от менеджеров
Если у вас уже расписан ТЗ-документ на 200 страниц с готовыми API-схемами, ролями и моделями данных, и нужны просто руки, которые «закодят как написано» — это сценарий аутстаффа. Мы работаем по-другому: участвуем в архитектурных решениях, спорим с вводными, переписываем половину ТЗ под реальные сценарии.
02
Микросервисы по умолчанию для маленького продукта
Если за «нам нужны микросервисы» стоит «модно» или «один знакомый посоветовал», а не реальные разные нагрузки и команды — мы предложим модульный монолит. Для большинства SaaS, B2B-платформ, кабинетов и маркетплейсов на ранней и средней стадии это более практичный выбор: один деплой, ясные доменные границы, меньше инфраструктурной сложности.
Биржи, банковский core, телеком-биллинг, торговые системы уровня крупного маркетплейса — требуют команд по 20+ инженеров, отдельных SRE-команд и многолетних программ. Рекомендуем Рексофт, СимбирСофт, Андагар или внутренние команды банков.
04
Backend на PHP-Битрикс или 1С-Битрикс как стек
Это другой класс задач со своим рынком исполнителей. Мы делаем backend на современных стеках (Java/Spring Boot, Node.js/TypeScript), не на PHP-Битрикс или чистом 1С. Для проектов на Битриксе рекомендуем Сотбит или специализированные Битрикс-агентства.
05
Регулируемый backend под банковский compliance
ЦБ-лицензированные операции, требования к контролю за изменениями уровня PCI DSS Level 1, банковская сертификация, интеграция с банковским core — нужны команды с сертификациями и отдельным compliance-офицером. Не наш профиль.
03 · Что мы делаем · Четыре архитектурных типа
Четыре архитектурных типа backend.
Не «любой backend под задачу». Четыре определённых архитектурных типа, под которые у нас есть готовые подходы, рабочие шаблоны и реальные кейсы. На архитектурном спринте определяем, к какому типу относится ваш продукт — это задаёт стек, ролевую модель, границы доменов и план реализации.
01
Модульный монолит для SaaS и платформ
Наш выбор по умолчанию для большинства продуктов. Один деплой, чёткие границы между доменами (auth, billing, catalog, заказы, integrations), общая база с понятной схемой, единый поток деплоя и мониторинга. Подходит для SaaS-продуктов, B2B-кабинетов и маркетплейсов на ранней и средней стадии. Если позже появятся реальные причины для выделения сервисов, доменные границы уже будут понятны — переход будет контролируемым, а не аварийным rewrite.
Backend под существующий фронтенд или мобильное приложение
У вас уже есть фронт на Next.js или React Native, есть дизайн, есть процесс — нужна только серверная часть с API. Подключаем API-контракты под существующие экраны, поднимаем базу и бизнес-логику, добавляем роли, авторизацию и интеграции. Без переписывания фронта. Подходит когда фронт делал отдельный подрядчик или внутренняя команда.
Продукт уже работает, но интеграции с CRM, 1С, складом, платежами или внешними поставщиками сделаны хаотично — данные расходятся, события теряются, ручная сверка занимает часы. Что мы строим: интеграционный слой с журналом, обработкой ошибок, повторами событий, идемпотентностью и понятной документацией обмена.
RAG-поиск по документам, AI-ассистенты для операторов, классификация заявок, генерация черновиков, парсинг входящих документов — со стороны backend это очереди, идемпотентность, обработка длительных операций, кэш, контроль расходов на модели, журнал решений. Делаем backend, в котором AI-функции живут предсказуемо.
Самые дорогие ошибки принимаются в первые две недели.
01
Монолит, модульный монолит или микросервисы
Микросервисы по умолчанию — самая частая дорогая ошибка в российском backend 2026. До команды из 4+ инженеров и реальной разной нагрузки на разные части продукта правильный ответ — модульный монолит: один деплой, чёткие границы доменов, общая база, понятный мониторинг. Микросервисы становятся честным выбором когда: разные части продукта правда имеют разные нагрузки и SLA; команда выросла до нескольких независимых; есть отдельная DevOps-команда; продукт прошёл когда продукт нашёл свой рынок. На спринте честно говорим, в какой из этих стадий вы находитесь.
02
Java/Spring Boot или Node.js/TypeScript
Java и Spring Boot — для продуктов, где важна предсказуемость, зрелые библиотеки под банковские, биллинговые и регулируемые сценарии, типизация по умолчанию, статический анализ, многолетняя поддержка. Подходит для финтеха, B2B-платформ со сложной бизнес-логикой, маркетплейсов с длинным жизненным циклом. Node.js и TypeScript — для продуктов, где важна скорость итерации, общий язык с фронтом, лёгкая интеграция с современным веб-стеком, AI-функции через TypeScript-SDK. Подходит для SaaS-продуктов, AI-первых продуктов, проектов с тесной связкой с Next.js-фронтом. Решаем не по «у нас все так делают», а по реальной задаче, команде поддержки и интеграционному ландшафту.
03
PostgreSQL по умолчанию — и когда от него отступать
PostgreSQL закрывает большинство продуктовых backend-сценариев, с которыми мы работаем: ACID, сложные запросы, JSONB для гибких схем, полнотекстовый поиск, pgvector для AI-функций, понятный язык запросов, зрелые инструменты бэкапа и мониторинга. Когда добавляем рядом другие хранилища: Redis — для кэша, очередей и сессий; ClickHouse — для аналитики и журналов событий; S3-совместимое хранилище — для файлов и медиа; векторные базы (pgvector внутри Postgres или внешние) — для AI-поиска. MongoDB и NoSQL по умолчанию — обычно из-за моды, а не задачи. Честно говорим, когда от Postgres стоит отойти и зачем.
05 · Технологический стек
Стек, выбранный под поддержку на годы, а не под моду.
Один из двух основных backend-стеков, PostgreSQL по умолчанию, понятная инфраструктура и мониторинг. Без зоопарка из десятка языков и фреймворков. Выбор делается на архитектурном спринте под конкретную задачу, не по умолчанию «у нас всё на Х».
Backend
Java · Spring Boot · Spring Security
Hibernate · Liquibase · Maven
Node.js · TypeScript · NestJS
Next.js API · Edge / Serverless
Java/Spring Boot — для платформ со сложной бизнес-логикой и многолетней поддержкой. Node.js/TypeScript и NestJS — для SaaS, AI-функций и продуктов с тесной связкой с Next.js-фронтом.
Базы и хранилища
PostgreSQL · Neon · Supabase
Redis · BullMQ · очереди
pgvector · векторный поиск
S3-совместимое · файлы и медиа
PostgreSQL по умолчанию. Redis — кэш, очереди, сессии. Векторный поиск чаще всего через pgvector внутри Postgres, без отдельной базы.
API и контракты
REST · OpenAPI 3 · версии
GraphQL — когда правда нужно
tRPC — для tight TypeScript-связки
Webhooks · идемпотентность
API-контракты пишутся вместе с фронтом, не «потом отдадим как получится». OpenAPI — источник истины, документация генерируется из кода.
Инфраструктура и наблюдаемость
Docker · Kubernetes — по задаче
Vercel · Railway · self-hosted
Sentry · OpenTelemetry · логи
GitHub Actions · CI/CD
Инфраструктура подбирается под нагрузку и команду: для SaaS — Vercel/Railway/Render; для крупных платформ — Kubernetes; для регулируемых проектов — self-hosted на проверенных провайдерах.
06 · Открытые цены · Семь форматов
От архитектурного спринта до production-backend.
Семь форматов с гибкой комбинацией. Можно начать с любого и остановиться после него — план работ остаётся у вас. Первый backend-slice обычно появляется через 3–4 недели после спринта и доступа к окружениям; дальше итерации каждые 2 недели.
Архитектура
Архитектурный спринт
Карта продукта, ключевые архитектурные решения (монолит vs микросервисы, выбор стека и базы), ролевая модель, схема интеграций, риски и точная смета на сборку.
Разбор существующего backend: архитектура, модель данных, API, авторизация, интеграции, производительность, риски. На выходе — отчёт с приоритетами и понятный план: стабилизация, развитие или переписывание.
Серверная часть для первой версии продукта: модель данных, базовая бизнес-логика, API под существующий фронт, авторизация и роли, ключевые интеграции (платежи, email, одна внешняя система), админ-панель, деплой.
Полноценный backend для платформы или SaaS: модульный монолит с границами доменов, расширенная ролевая модель, интеграции с CRM/1С/платежами/складом, журнал действий, мониторинг, операторская админ-панель, готовность к нагрузке.
У вас уже есть фронт на Next.js или React Native — нужна серверная часть. Подключаем API под существующие экраны, поднимаем базу, бизнес-логику, авторизацию и интеграции. Без переписывания фронта.
Подключение к существующему backend для стабилизации: переписывание самых хрупких участков, упрощение модели данных, починка интеграций, индексы и оптимизация запросов, мониторинг и нагрузочные тесты. Объединяет «стабилизацию» и «backend-производительность» из брифа.
Та же senior-команда после запуска: новые функции, архитектурные ревью, поддержка интеграций, развитие AI-функций, мониторинг, дежурство по критическим инцидентам. Без зависимости от случайного подрядчика.
Senior-команда, модульный монолит и без чёрного ящика.
01
Senior-команда без джунов на старте
Архитектурные решения принимают те же инженеры, кто потом кодит. Не «лид продал — джуны делают». Одна senior-команда от спринта до запуска: основатель и стратегия, проектный лид, инженерный лид, дизайн-лид. Это меняет качество архитектурных решений в первые две недели — а именно эти решения дороже всего переделывать через год.
02
Модульный монолит — позиция, а не дефолт по умолчанию
Это сознательный архитектурный выбор, который мы готовы отстаивать. Когда звучит «нам нужны микросервисы» — мы спорим, если это не подкреплено реальными нагрузками, командами и SLA. Модульный монолит для большинства ранних и средних B2B-продуктов — правильно, дёшево в поддержке, легко мигрировать. Микросервисы — когда они правда нужны, а не «модно».
03
Процесс-первый подход, не endpoint-первый
Backend не начинается с «давайте напишем GET /users». Начинается с разбора процессов: какие роли, какие статусы, какие события, что должно произойти при ошибке, что синхронно, а что асинхронно. После этого endpoints почти сами проектируются. Без этого получается набор CRUD-ручек, которые потом не складываются в продукт.
04
Интеграции заложены с первого дня, не «потом»
CRM, 1С, платежи, склад, email, аналитика не приклеиваются в последний месяц перед запуском. На спринте фиксируем: где источник истины для каждого типа данных; что синхронно, что асинхронно; как обрабатывать ошибки внешних систем; идемпотентность и повторы событий; документация обмена. Разница между «у нас всё интегрировано» и «наши данные правда согласованы».
05
Код, доступы и документация — у вас с первого дня
GitHub-репозиторий, схема базы данных, документация API, схема интеграций, схема деплоя, доступы к инфраструктуре — всё у вас с первого коммита. Уйдёте от нас — заберёте систему целиком. Без чёрного ящика, без блокирующих доступов, без «только наш инженер знает, как это работает».
08 · Чего у нас не бывает · Анти-паттерны
Тринадцать решений, после которых backend переписывается через год.
Это то, что мы видим у конкурентов, в чужих кодовых базах и на собеседованиях. У нас — нет. Часть из этого — про моду, часть — про экономию на senior-инженерах, часть — про подмену архитектурных решений «у нас же все так делают».
×Микросервисы по умолчанию — без реальных разных нагрузок, без отдельной DevOps-команды, под продукт с тысячей активных пользователей
×MongoDB и NoSQL по умолчанию — «потому что современно», когда задача очевидно реляционная и требует ACID
×Бизнес-логика в SQL-триггерах и хранимках — её невозможно ни нормально тестировать, ни ревьюить, ни мигрировать
×Бизнес-логика во фронте — когда роли и права проверяются в React, а на сервере «доверяем токену»
×CRUD-API без бизнес-смысла — endpoints отражают таблицы, а не операции продукта, фронт собирает заказ из 12 запросов
×Авторизация на «есть JWT — пускаем» — без проверки прав на каждую операцию и видимости данных по роли
×Интеграции «потом, перед запуском» — фиксируются за неделю до прода, источник истины не определён, ошибок не обрабатывается
×Идемпотентность как «потом добавим» — webhooks от платёжки и внешних систем падают дважды, заказ создаётся дважды
×Логи в файл на сервере — без структурирования, без OpenTelemetry, без оповещений, без поиска по trace_id
׫Compliant под 152-ФЗ» как маркетинг — без реальных технических контролей, журналов доступа и хранения только в РФ
×Кастомная очередь на cron и SELECT FOR UPDATE — когда нужен Redis + BullMQ или нормальный брокер
×Передача джунам после старта — senior-инженеры делают первые два спринта, дальше «команда поддержки» из джунов
×Чёрный ящик — код в репозитории подрядчика, доступы только у их инженера, документация «в голове»
09 · Где мы на спектре · Самоопределение
Между фрилансерами и корпорат-сегментом.
Фрилансеры и команды на upwork — дёшево и быстро для прототипа, риски в архитектуре и передаче. Дешёвая кастомка от студий с джунами — средний сегмент с типовыми проблемами модульности и поддержки. H-Studio — оптимум для основателей и компаний со сложными B2B-сценариями, SaaS-продуктами и интеграциями. Корпорат (Рексофт, СимбирСофт, Андагар) — для регулируемых индустрий, высоких нагрузок и проектов с командами 20+ инженеров.
Каждый — реальный backend в продакшене. Стек выбирался под задачу, не «по умолчанию». В скобках — архитектурный тип, чтобы было видно, где монолит, где интеграционный слой, где Next.js-API.
Тип · Модульный монолит · Java/Spring Boot
Creator Marketing Platform
Мульти-арендный SaaS-маркетплейс с единым реестром услуг. 1 200+ услуг от десятков провайдеров, асинхронная синхронизация поставщиков, движок цен с переопределениями на нескольких уровнях, идемпотентные платежи и возвраты, operator-grade админ-панель. Стек: Java/Spring Boot, PostgreSQL, Next.js. Архитектура — модульный монолит с границами по доменам.
B2B-платформа для грантового консалтинга. Многоступенчатый процесс от заявки до закрытия мандата, документооборот, состояние биллинга, журнал действий по каждому шагу. Backend — Next.js API + Neon/PostgreSQL, всё в одном TypeScript-монорепо с фронтом. Пример, когда отдельный backend-сервис избыточен.
Платформа для facility management: учёт активов, инспекции, compliance-календарь, мобильное приложение для инженеров на объектах, веб-кабинет для администраторов. Backend — NestJS на Node.js/TypeScript, PostgreSQL, очереди для синхронизации с мобильным офлайн-режимом, журнал действий по каждой инспекции. Пример NestJS-монолита под продукт с несколькими клиентами.
Внутренний revenue-operations инструмент H-Studio: ведение клиентов, кампаний, документооборот, AI-функции и аналитика. Backend — Node.js/TypeScript в монорепо с фронтом на Next.js, PostgreSQL, очереди на BullMQ, интеграции с CRM и аналитикой. Пример internal tool, где скорость итерации важнее формального разделения сервисов.
По умолчанию — два варианта. Java и Spring Boot — для платформ со сложной бизнес-логикой, B2B-маркетплейсов, проектов с многолетней поддержкой. Node.js, TypeScript и NestJS — для SaaS, AI-первых продуктов, проектов с тесной связкой с Next.js-фронтом. PostgreSQL — основная база в обоих случаях. Стек выбирается на архитектурном спринте под конкретную задачу.
Потому что в 80% случаев, когда заказчик говорит «нам нужны микросервисы», за этим стоит мода или совет знакомого, а не реальные разные нагрузки и команды. До 4+ инженеров, реальной разной нагрузки на части продукта и отдельной DevOps-команды правильный ответ — модульный монолит. Это дешевле в разработке, проще в поддержке и легко мигрируется в микросервисы потом, когда правда нужно.
Да, это типичный сценарий — тариф 030-E «Backend для готового фронта». Подключаем API под существующие экраны на Next.js или React Native, поднимаем модель данных, авторизацию, бизнес-логику и интеграции. Без переписывания фронта.
Тариф 030-F «Стабилизация и производительность» — подключаемся через аудит (030-B), фиксируем самые опасные участки, переписываем хрупкие модули, чиним интеграции, добавляем мониторинг. Если систему правильнее переписать с нуля — честно говорим это в отчёте аудита.
Зависит от масштаба. До сотен тысяч активных пользователей и десятков тысяч RPS — да, наша архитектура (модульный монолит, PostgreSQL с правильными индексами, Redis для кэша и очередей, CDN, горизонтальное масштабирование) это покроет. Миллион+ RPS, банковский core, биржевые системы — рекомендуем Рексофт, СимбирСофт или внутренние команды банков.
1С — через REST/OData или интеграционный шлюз. CRM (AmoCRM, HubSpot, Битрикс24) — webhooks + API. Платежи — ЮKassa, Тинькофф, СБП, Stripe. Email/SMS — Mailgun, SendPulse, Twilio. На спринте фиксируем источник истины для каждого типа данных, что синхронно, что асинхронно, как обрабатываются ошибки и повторы. Идемпотентность — по умолчанию, не «потом добавим».
Авторизация — JWT или сессии (зависит от типа продукта), права проверяются на каждую операцию, видимость данных — по роли и владельцу. Для регулируемых проектов — журнал действий, история изменений, контроль за доступом. 152-ФЗ — реальные технические контроли, а не маркетинг: хранение данных в РФ, журналы доступа, шифрование в покое и в движении.
REST с OpenAPI — основной выбор. GraphQL — когда правда нужно (сложные связанные данные, мобильное приложение с переменными представлениями, несколько фронтов с разными нуждами). tRPC — для tight TypeScript-связки с Next.js, когда backend и фронт в одном монорепо.
Юнит-тесты на бизнес-логику, интеграционные тесты на API, отдельный набор тестов на интеграции с внешними системами (с моками), нагрузочные тесты перед запуском платных функций. Coverage — не самоцель, цель — чтобы критические сценарии (оплата, авторизация, права) были покрыты тестами.
Для SaaS и стартапов — Vercel/Railway/Render, быстрый старт, минимальный DevOps-оверхед. Для крупных платформ — Kubernetes на проверенном провайдере. Для регулируемых проектов — self-hosted на российских провайдерах (Yandex Cloud, Selectel). CI/CD — GitHub Actions, автоматический деплой на staging, ручной — на прод.
Да, тариф 030-G «Развитие и поддержка backend» — от 150 тыс. ₽/мес. Та же команда, которая делала backend, продолжает его развивать: новые функции, архитектурные ревью, поддержка интеграций, мониторинг, дежурство по критическим инцидентам. Это не «команда поддержки из джунов», а те же senior-инженеры.
С первого дня: репозиторий в вашем GitHub, не у нас. Доступы к инфраструктуре — на вас. Документация (архитектура, API, схема базы, схема интеграций, схема деплоя) — в репозитории, обновляется вместе с кодом. Уйдёте от нас — заберёте систему целиком, без блокирующих доступов и «только наш инженер знает, как это работает».
Архитектурный спринт — 5 дней. Lean MVP-backend — 6–8 недель до прода. Production-backend для платформы — 10–14 недель до прода. Backend для готового фронта — 6–10 недель. Стабилизация — 4–8 недель. Первый рабочий backend-slice на staging обычно появляется через 3–4 недели после спринта и доступа к окружениям.
Начните с архитектурного спринта (тариф 030-A) или backend-аудита (030-B). За 5–7 дней получите карту продукта или существующей системы, список рисков с приоритетом, понятный план работ и точную смету. После этого решите, нужен ли вам backend целиком, стабилизация существующего или совсем другой формат работ.
Дальше · Поехали
Соберём backend, который переживёт первый год.
Соберём понятный план: какой стек правильнее под вашу задачу, монолит или микросервисы, какие интеграции критичны сразу, что важно заложить с первого дня — и с чего лучше начать: архитектурный спринт, backend-аудит, MVP, Production-backend или стабилизация. Архитектурный созвон — 30 минут, без обязательств.