Привет, хабровчане! Я Алиса, тимлид в e-commerce агентстве KISLOROD.
Сегодня расскажу, как мы вырвались из цепких лап монолита с помощью Headless и API-First архитектуры, ускорили разработку и дали бизнесу крылья. Это не просто про технологии, а про то, как не сойти с ума от бесконечных правок и при этом ускорить запуск фич. Мы все еще на PHP, под капотом Bitrix, но перестали латать шаблоны и начали строить настоящую платформу. Погнали разбираться: что это, зачем и как не облажаться.

Почему монолит — это не всегда хорошо
Иногда, монолитная архитектура более чем закрывает потребности клиентов, обычно, это сайты компаний или небольшие интернет-магазины. И такие проекты живут годами, не испытывая проблем, у нас много таких достаточно успешных кейсов. Но при масштабировании зачастую возникает проблема, связанная с архитектурными ограничениями.
Представьте интернет-магазин: более 300 000 товаров, тысячи заказов в день, все на Bitrix. Каталог, фильтры, корзина, оформление заказа — все живет в серверных шаблонах, где бизнес-логика, HTML и CSS сливаются в один непонятный суп. Хочешь новый лендинг? Неделя правок. Мобильное приложение? Дублируй логику и молись, чтобы ничего не сломалось. Маркетинг просит A/B-тест? Готовь разработчиков и пару недель. А время загрузки страниц — 2–3 секунды, что бьет по SEO и конверсии.
Бизнес страдает: новые каналы продаж (маркетплейсы, чат-боты, приложения) интегрировать — целая эпопея, маркетинговые идеи тонут в разработке. Разработчики тоже не в восторге: код — это огромный клубок, где изменение кнопки может сломать фильтры. Масштабировать команду сложно, фронт ждет бэк, бэк ждет дизайна, а все вместе — чуда. Знакомо? Тогда читайте дальше.
Headless и API-First: суть без воды
Headless: витрина отдельно, кухня отдельно
Headless — это когда фронтенд (сайт, приложение, умный холодильник) становится просто красивой витриной, которая берет данные через API. Вся логика — каталог, заказы, оплаты — живет в бэкенде, а фронт только рисует картинки и кнопки. Это как в ресторане: официант принимает заказ, но не лезет на кухню готовить стейк. Хотите поменять сайт на React? Легко. Добавить чат-бот в WhatsApp? Пожалуйста. Все работает через один и тот же API, а ядро системы остается нетронутым.
API-First: центр системы
API-First — это подход, где API проектируется первым, как центр системы. Не «потом прикрутим ручки», а сразу четкий контракт: какие сущности, сценарии, форматы, ошибки. Команды фронта и бэка начинают параллельно: в понедельник пишем спецификацию OpenAPI, во вторник бэк пилит эндпоинты на PHP (у нас это Laravel и/или Symfony), а фронт уже подключает прототип на React. К пятнице — рабочая фича, а не «ждем бэк два месяца».

Что это дает бизнесу и разработчикам
Для бизнеса |
Для разработки |
Скорость запуска лендингов и продуктов — маркетинг не ждёт релизов |
Параллельная работа команд над фронтендом и бэкендом |
Рост конверсий за счёт скорости загрузки и UX |
Меньше технического долга, так как каждое звено — отдельный модуль |
Интеграции с маркетплейсами, мобильными приложениями, омниканальными сервисами |
Централизация бизнес-логики — один API для всех |
Независимость витрины от реализации — смена фронта без переписывания ядра |
Возможность использовать современные технологии фронтенда (Next.js, Nuxt.js и т.п.) |
Снижение стоимости долгосрочной поддержки и модернизации |
Повышенная отказоустойчивость и возможность масштабирования по частям |
Повышение устойчивости бизнеса за счет масштабируемости и отказоустойчивости |
Повышение проектной зрелости команды, меньше хаоса и «латания» |
Это ваш случай, если
Объемы. У вас более 1 000 заказов или потенциал роста каталога от 500 000 SKU.
Несколько каналов потребления. Нужно отдельно развивать сайт, приложение и интеграции.
Высокая скорость изменений и необходимости A/B-тестов. Маркетинг хочет запускать акции за дни, а не недели.
Кодовая база — сплошной ком. Все ломается от дуновения ветра.
Требования к масштабированию. Вы растете, но старая архитектура тянет назад.
Реальный кейс перехода на Headless
Возьмем тот же магазин: тысячи заказов, Bitrix в основе. Проблемы типичные: шаблоны — это каша из PHP и HTML, маркетинг ничего не может поменять без разработчиков, родной API Bitrix слабый и медленный, страницы грузятся как черепахи. Есть стратегическая инициатива от бизнеса увеличить количество SKU до 1 млн.
Что мы сделали
Бэкенд на микросервисах. Построили отдельные сервисы на PHP (Symfony): один для каталога (товары, фильтры), другой для заказов (корзина, оформление), третий для пользователей (авторизация, профиль). Каждый отдает REST API с JSON.
Middleware. Создали прослойку на Symfony для маршрутизации запросов, авторизации (JWT-токены), валидации данных и кэширования (Redis + nginx).
Фронт. Перевели витрину на Vue.js с серверным рендерингом (SSR) для SEO. Мобильное приложение на Flutter подключилось к тому же API.
Bitrix. Оставили его для контент-менеджеров (добавление товаров, акций), но теперь он только источник данных, а не узкое горлышко.
Оркестрация. Ввели оркестратор на PHP для синхронизации с 1С, CRM и отправки уведомлений (почта, SMS, push).
CI/CD. Настроили автодеплой через GitLab: пуш в ветку — тесты — деплой. Никаких FTP в 2025 году.
Что получили
Новые фичи выходят за 1–2 дня вместо недели.
Время отклика страниц — 700 мс вместо 2–3 секунд.
Фронт и бэк работают параллельно, без блокировок.
Бизнес получил систему, готовую к новым каналам: от маркетплейсов до чат-ботов.

Ошибки, которые мы допустили (и как их избежать)
Сырой API. Отдали фронту спецификацию, которая менялась каждую неделю. Итог: трижды переписывали интеграции.
Совет: зафиксируйте схемы OpenAPI и тестируйте их через Postman или Swagger перед стартом.Скрытые грабли. Логика фильтров и валидаций пряталась в шаблонах Bitrix. Пришлось выгребать через дебаггер и логи.
Совет: сразу делайте аудит старого кода.Мониторинг с опозданием. Первые баги в API ловили пользователи, а не мы.
Совет: ставьте логирование (Loki, ELK) и алерты (Sentry) с первого дня.Версионирование API. Не ввели версии сразу, и мобильное приложение начало ломаться после обновлений бэка.
Совет: начинайте с /v1/ и планируйте миграцию на /v2/.
Риски и подводные камни: Headless не для всех
Headless и API-First — не панацея. Вот что важно знать:
Команда. Понадобится не просто «PHP-разработчик», а инженер, понимающий, где заканчивается API и начинается бизнес-логика. Нужны люди, которые шарят в API-дизайне (REST или GraphQL), DevOps (контейнеры, CI/CD) и тестировании. Джуны без тимлида утонут.
Архитектура. Без middleware (кэш, авторизация, роутинг) система развалится под нагрузкой. У нас это был Symfony с компонентами + Redis + nginx-кеш.
Бюджет. Это не просто рефакторинг, а полноценный проект: время, деньги, планирование. Без поддержки бизнеса не взлетит.
Сложность. Если у вас небольшой магазин на 10000 товаров без планов роста, монолит справится и даже при 100 000, он тоже справится.
Как начать: аналогия с булочной
Объясню, как учила мама. Ваш магазин — булочная. Все заказы идут через одну кассу, печка работает по бумажкам от руки. Новая булочка? Жди, пока пекарь разберется. Доставка? Строй вторую кассу. Headless — это кухня с единым меню (API): курьеры, кассиры, мобильное приложение — все берут данные оттуда. Меняешь вывеску — кухня не страдает.
Пошаговый план
Анализ. Выделите ключевые сущности: каталог, корзина, заказы, пользователи.
API. Спроектируйте REST API с OpenAPI, добавьте примеры ответов и ошибок.
Прототип. Сделайте новый фронт (React, Vue.js) параллельно со старым.
Миграция. Переносите по частям: сначала каталог, потом корзину, потом уведомления.
Единый доступ. Сайт, приложение, бот — все стучатся в одно API.
Практические советы
Цель. Headless нужен для скорости и гибкости, а не ради галочки.
API в приоритете. Даже если фронт старый, стройте фундамент через API.
Плавный переход. Новый фронт может жить рядом со старым, пока не окрепнет.
Обучение. REST и JSON — база, но учите команду за авторизацию (OAuth, JWT), кэширование, очереди.
MVP. Начните с каталога: API + новый фронт. Потом добавляйте корзину, заказы.
Бизнес на борту. Покажите, что это не игрушка разработчиков, а инструмент для роста.

Итог: свобода для всех
Headless и API-First — это не про тренды, а про здравый смысл. Да, нужны вложения: время, деньги, зрелая команда. Но в итоге бизнес получает платформу, которая растет с ним, а разработчики — систему, где можно дышать, а не латать дыры. В PHP-экосистеме это особенно круто: микросервисы на Symfony или Laravel, фронт на React или Vue.js, а Bitrix — просто один из источников данных. Все тикает как швейцарские часы.
Несколько цитат для мотивации:
«Фронт больше не ломится в бэкенд с топором — он вежливо стучится через API»
«Система становится конструктором, где можно менять блоки без страха обрушить всё»
«API — это контракт между бизнесом и технологиями. И чем он четче, тем спокойнее всем»
«Фронт, который не зависит от бэка, двигается в 3 раза быстрее»
Если вы уже пробовали Headless или только приглядываетесь — делитесь в комментариях! Какие грабли встретили? Что сработало?
Pitcentr0
подскажите на опыте, если у магазина bitrix большая сложная логика и взаимосвязи в службах доставки, купонах и правилах корзины, все эти механизмы насколько логично и проблематично переносить в разработку на laravel, у вас был опыт переноса ? т.к реализация каталога, фильтра и seo не вызывает вопросов а перенос все логики купонов и доставки вызывает, как вы делали реализацию ?
AliceInCodeLand Автор
Добрый день! Да, конечно же, у нас есть такой опыт.
Тут всё зависит от проекта, но обычно мы идём двумя путями: полностью дублируем логику Битрикс в части правил работы корзины и купонов, либо реализуем логику, которая требуется клиенту и которая нестандартна для обычной Битрикс-логики.
В любом случае, реализовывать эти моменты вполне себе логично, так как мы уходим от монументализма Битрикс.
Что касается службы доставки, то она работает в виде отдельного сервиса с адаптером к разным типам доставок, вроде СДЭКа.