К содержанию

Микросервисы или монолит: выбор архитектуры

Зачем бизнесу «микросервисы или монолит»

Ниже собрали опыт по направлению «Микросервисы или монолит: выбор архитектуры». Текст длинный намеренно: его можно отправить коллегам как внутреннюю шпаргалку перед созвоном с подрядчиком.

Рабочая постановка начинается с границ продукта. Мы спрашиваем: кто пользователь, какой сценарий обязателен в первом релизе, какие системы уже нельзя трогать, какой канал заявок должен продолжить работать в день переключения. Для «микросервисы или монолит» это особенно важно, потому что соблазн расползтись на «сделаем сразу всё» приводит к смете, которую никто не подпишет, и к срокам, которые невозможно защитить.

Что обычно входит

  • Рабочий контур в рамках согласованного scope
  • Документация решений и доступов
  • Чек-лист приёмки и список известных ограничений
  • Рекомендации по развитию на 1–2 следующих релиза

Как строим работу

  1. Бриф и сбор ограничений: сроки, бюджетная рамка, обязательные интеграции.
  2. Карта сценариев и ролей: что должно работать в первой версии.
  3. Прототип/структура и смета с допусками.
  4. Дизайн ключевых состояний (не только «счастливый» путь).
  5. Разработка и демо по спринтам.
  6. Тесты, подготовка прод-контура, обучение.
  7. Релиз и наблюдение, план развития.

Дальше фиксируем артефакты. Минимум: список ролей, пользовательские сценарии (5–15 штук), перечень интеграций с приоритетом, ограничения по срокам и «не делаем в v1». Если этого нет, мы предлагаем платный discovery на 5–10 рабочих дней. Это не попытка продать воздух: на выходе появляется смета с допущениями, а не фантазия в один слайд.

По срокам ориентиры такие (очень грубо, до деталей): узкая доработка — от 1–3 недель; сфокусированный MVP — от 4–10 недель; полноценный контур с интеграциями — от 2–5 месяцев. «Микросервисы или монолит: выбор архитектуры» редко бывает «за выходные», если речь не о прототипе на коленке. Мы предпочитаем честную вилку и календарь релизов вместо обещания, которое ломается на первой же встрече с 1С-специалистом заказчика.

Стек подбираем под сопровождение. Laravel/PHP, Node, React, Vue, Flutter, Postgres, Redis, Docker — набор не ради моды. Если у вас уже есть команда на определённом стеке, мы не будем ради портфолио тащить экзотику. Для направления «микросервисы или монолит» критичнее предсказуемая поддержка и понятный CI, чем «попробовать новую библиотеку».

Типовые ошибки заказчика на таких проектах повторяются. Первая: нет владельца продукта со стороны бизнеса. Вторая: доступы к системам дают через месяц после старта. Третья: контент и справочники « ascой-нибудь зальют потом». Четвёртая: договорённости живут только в чате. Мы переводим решения в задачи и спецификацию — иначе «вроде договорились» превращается в конфликт на приёмке.

Детали, которые решают исход

Стек выбираем под задачу и команду сопровождения. Laravel/PHP, Node, Flutter, React, Vue, Postgres, Redis, Docker — не magazin статусов «модно», а набор, который можно поддерживать. Если у клиента уже есть сильная 1С-команда, делаем акцент на стабильные обмены, а не на переписывание учёта «потому что хочется микросервисы».

После запуска нужен период наблюдаемости: метрики ошибок, время ответа API, конверсия форм, скорость ключевых страниц. Без этого улучшения идут на ощущениях. Мы оставляем дашборд хотя бы минимальный — чтобы спор «сайт тупит» превращался в цифры.

Скорость сайта влияет и на рекламу, и на SEO. Core Web Vitals — не мода, а практический фильтр: тяжёлые скрипты, гигантские изображения, блокирующие шрифты. На текстовых SEO-страницах мы сознательно обходимся без картинок, чтобы не раздувать вес.

Конфликты в проекте почти всегда про ожидания, а не про код. Ретроспективы раз в 2–3 спринта снимают напряжение раньше, чем оно превратится в «они ничего не понимают».

Интеграции чаще всего съедают сроки не из‑за «сложного API», а из‑за отсутствующей документации на стороне заказчика или подрядчика 1С. Перед стартом запрашиваем доступ к песочнице, список методов, ограничения по частоте запросов и формат ошибок. Без этого оценка интеграции — гадание.

Тестирование — не «покликать перед сдачей». Чек-листы по ролям, проверка платежей на тестовых кассах, прогон мобильных разрешений, смоук после деплоя. Для критичных модулей пишем автотесты на самые болезненные сценарии. Это ощутимо дешевле горящих багов в проде.

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

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

Ошибки

  • Стартовать разработку без владельца продукта у заказчика.
  • Прятать интеграции «потом», хотя на них держится запуск.
  • Мерить успех только красотой экранов.
  • Не закладывать время на контент и чистку данных.
  • Путать поддержку после запуска с «бесплатными правками навсегда».
  • Требовать фикс-прайс при плавающем scope и отсутствующих доступах.

Критерии выбора подрядчика здесь простые и жёсткие. Смотрите, умеет ли команда разложить работу на релизы, показывает ли риски до оплаты большого этапа, говорит ли по-русски о архитектуре без театра. Спросите про тестовые контуры, роли QA, план миграции, SLA после запуска. Если в ответ только «мы гибкие и клиентоориентированные» — это не план.

Внутри HPACE процесс обычно такой: бриф → оценка/discovery → прототип или ТЗ → дизайн ключевых экранов → разработка спринтами → демо → тест → релиз → наблюдаемость две–четыре недели. Для «Микросервисы или монолит: выбор архитектуры» вес этапов разный: где-то больше аналитики, где-то больше интеграций, где-то упираемся в UX сложных таблиц. Поэтому сравнивать нас с «сайтом за 30 тысяч» бессмысленно — это разные продукты.

Деньги: мы прозрачно показываем состав. Аналитика и проектирование, дизайн, backend, frontend, QA, DevOps, внедрение, обучение. Можно фиксировать этапы с предоплатой за спринт или за релиз. Для «микросервисы или монолит» часто работает схема: сначала платный каркас решения, затем основная разработка. Так заказчик раньше видит, куда уходит бюджет.

Сравнительные решения нельзя выбирать по маркетинговым таблицам «плюсы/плюсы». Смотрите стоимость владения на 12–24 месяца: лицензии, доработки, зависимость от вендора, скорость изменений, найм людей под стек. Иногда коробка выигрывает на старте и проигрывает через год, когда каждый чих требует внешнего подрядчика.

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

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

Отдельно про ожидания по коммуникации. Мы нормально относимся к жёстким вопросам про сроки и деньги. Плохо относимся к скрытому scope в духе «ну это же мелочь». Мелочь — это правка текста. Новый кабинет роли — это этап. Такая лексика экономит нервы всем.

В аутстафф-формате без code owners команда заказчика тонет. Назначаем владельца модулей и правила ревью до выхода людей на задачу.

Чат-бот, который не умеет эскалировать на человека, увеличивает негатив. Автоматизация без операторского контура — не помощь, а забор.

Если смотреть на «Микросервисы или монолит: выбор архитектуры» как на инвестицию, полезно заранее решить метрику успеха на 30/60/90 дней: число заявок, время обработки, доля автоматизации, ошибка обмена, скорость страницы, CSI менеджеров. Без метрики спор о качестве превращается в вкус.

Готовы разобрать задачу по «микросервисы или монолит» на созвоне. Напишите в Telegram @hpace_ru, оставьте заявку через форму «Обсудить проект» или загляните в контакты.

Практические заметки

Дополнительно по «микросервисы или монолит»: закладывайте время на согласование доступов и справочников. На практике это съедает дни даже у дисциплинированных команд. Чем раньше бухгалтерия/операционный блок подключится, тем спокойнее релиз.

Ещё один слой — инструкции для людей, которые будут жить в системе ежедневно. Короткий скринкаст на 5–7 минут по главному сценарию часто полезнее толстого PDF. Мы делаем и то, и другое по запросу.

Если сравнить «Микросервисы или монолит: выбор архитектуры» с покупкой «просто подрядчика часов», разница в ответственности за результат. Мы продаём контур работ с критериями приёмки, а не абстрактную занятость.

Для внутренних презентаций руководству удобно иметь одностраничный summary: цель, scope, срок, бюджетная вилка, риски. Можем подготовить такую выжимку после брифа — чтобы вы не объясняли всё с нуля на каждом совещании.

И про ожидания по правкам: в активной разработке правки в рамках согласованных экранов нормальны. Правки, рождающие новые сущности и роли, — это изменение scope. Мы показываем влияние на срок до того, как «уже почти нарисовали».

На финале полезно пройтись по чек-листу эксплуатации: бэкапы, мониторинг, кто может накатить хотфикс, где лежат ключи, кто продлевает сертификаты. Звучит прозаично, но именно это отличает сдачу от «бросили и убежали».

Уточнение по внедрению (1)

Дизайн без исследования пользователей часто делает «как у конкурента». Мы смотрим на ваши сценарии: повторные покупки, длина воронки, типичные возражения. Тогда интерфейс начинает отрабатывать продажи, а не коллекционировать красивые экраны в портфолио. В контексте «микросервисы или монолит» это проявляется так: решения нужно фиксировать в задачах, а не оставлять в головах участников чата.

Для страницы «Микросервисы или монолит: выбор архитектуры» мы отдельно проговариваем критерий готовности №1: что должно быть согласовано на демо, какие данные считаются эталонными и кто подтверждает приёмку со стороны бизнеса.

Ревью чужого кода и аудит архитектуры иногда выгоднее новой разработки. Мы читаем репозиторий, смотрим узкие места, даём приоритизированный план: что чинить сейчас, что можно жить. Это особенно полезно перед покупкой продукта или сменой подрядчика. В контексте «микросервисы или монолит» это проявляется так: решения нужно фиксировать в задачах, а не оставлять в головах участников чата.

Для страницы «Микросервисы или монолит: выбор архитектуры» мы отдельно проговариваем критерий готовности №2: что должно быть согласовано на демо, какие данные считаются эталонными и кто подтверждает приёмку со стороны бизнеса.