Масштабирование на Bitrix: как сделать, чтобы web-проект успевал за ростом бизнеса

Содержание статьи
Масштабирование e-commerce проекта: что заложить еще на старте
Смена архитектуры и бесшовный переход на микросервисы без перезапуска проекта
Почему Bitrix?
у вас небольшой бизнес с перспективой роста, стандартных решений Bitrix из коробки пока достаточно, но в будущем нужна будет донастройка и наращивание функционала;
у вас уже есть крупный проект на Bitriх и пришло время развивать Package by Feature архитектуру, но при этом проект уже так развит, что переписывать его с нуля – почти неподъемная задача.
Плюсы:
Стабильность:
растет прогнозируемый контроль технического долга и бесперебойность работы проекта.
Удобная отладка:
практически исключены падения, ошибки или несостыковки бизнес-логик в функционале и процессах.
Адаптивность:
легко добавить новый функционал, не ломая существующий.
Гибкость:
при доработках UI интерфейсов, а также при использовании API Back-End для разных клиентов Front-End (Site Application, Mobile Application).

Архитектурные решения – это удобно для разработчиков:
Как строится работа с высоконагруженными
проектами – пошагово
Плюсы:
- Визуал и дизайн сайта можно менять в процессе и с большей вариативностью.
- Front-End независим: в будущем его можно переиспользовать с другим API, например, в случае перехода на другую CMS.
- Аналогично, Back-End можно переиспользовать с другим фронтом – он будет обращаться к общему API (например, с Mobile Application).
Добавляется гибкость в кадровых вопросах: за Front-End отвечает отдельная команда с традиционным и привычным для фронт-разработчиков стеком:
- В основе Front-End: Site Application обычно лежат современные реактивные фреймворки: Vue.js (+ Nuxt) или React (+ Next.js) – какой именно, выбор за клиентом.
- На крупных проектах для Front-End используется FSD архитектура.
- API-First (Spec first) подход (проектировка API Endpoint и структуры данных). Нужен для коммуникации: сводит к минимуму временные затраты на планерки, созвоны, старт работ (фронт и бэк реализуются параллельно: пока пилится бизнес-логика, готовится верстка), подключение новых разработчиков (обеспечивает передачу знаний от разработчика к разработчику).
- Open API спецификация для ведения документации по API: совместный доступ и редактирование обеими командами разработчиков (бэк/фронт).
Настройка автоматизации
При редактировании файлов схем Open API и агрегирования разных API на помощь приходят инструменты по автоматической генерации:
- Инструмент: OpenAPI Generator
- Php пакет: ircote/swagger-php
Также используется альтернатива Open API в виде jsight для простых проектов, синтаксис выглядит проще.
- Инструмент: jsight
Роутинг для централизованной обработки маршрутов и HTTP-запросов, поступающих на back-end API проектов
Обычно используются такие Open Source решения и фреймворки, как Slim или symfony/routing - функциональные, гибкие, с высокой скоростью обработки HTTP-запросов. В Open Source решениях используются кэширование карты маршрутов в сочетании с composer-пакетом, реализованным одним из активных контрибьюторов ядра языка PHP.
И до появления Bitrix Routing, и сейчас для работы с маршрутами и реализации API обработчиков со стороны back-end используется PHP composer-пакет Slim.
- Composer PHP пакет: Slim 4
Реализуется кастомный функционал для обратной совместимости с Bitrix Routing и файлом urlrewrite.php.
Есть аналогичная сборка с полноценным подключением Symfony в Bitrix, маршрутизацией через компонент symfony/routing: разработчику становятся доступны любые bundles и components из экосистемы Symfony.
Примеры успешных микроархитектурных Bitrix-проектов:
restore: — крупнейшая сеть магазинов и сервисных центров техники Apple в России.
Усовершенствование архитектуры работает сразу на два фронта: интернет-магазин становится юзер-френдли - проще и интуитивно понятнее; и его намного удобнее сопровождать: сокращается время на разработку и поддержку проекта. Vue js и Symfony фреймворки дают возможность стандартизировать и, как следствие, автоматизировать огромный объем работ.
Motherbear - одна из крупнейших сетей магазинов товаров для будущих мам и детей.
Микросервисный архитектурный подход - это прибыль: проект быстро начал функционировать, не понадобились дополнительные затраты заказчика на разработку новых лендингов и сайтов. Работа идет на шаблонах, для новых функций достаточно расширять и дорабатывать уже готовый проект.