Как мы используем один экземпляр платформы для нескольких доменов – экономия на лицензиях
У вас несколько проектов или филиалов, и для каждого нужен свой сайт с личными кабинетами. Покупать отдельную лицензию Falcon Space на каждый проект — дорого. Но есть законный способ использовать одну лицензию для нескольких доменов, если они являются поддоменами одного основного домена.
Например, у вас есть основной домен mycompany.ru. Вы можете создать поддомены: cabinet.mycompany.ru (личный кабинет клиентов), crm.mycompany.ru (CRM для сотрудников), partner.mycompany.ru (кабинет партнёров). Всё это будет работать на одном экземпляре Falcon Space с одной лицензией. Расскажу, как это настроить и какие ограничения.
Как работает лицензия Falcon Space
Стандартная лицензия привязывается к одному домену (или IP-адресу). Например, вы купили лицензию для mycompany.ru. Система проверяет, с какого домена к ней обращаются. Если домен совпадает — работает. Если нет — блокирует.
Но есть исключение: поддомены основного домена (например, cabinet.mycompany.ru) считаются частью того же домена. Лицензия распространяется на все поддомены без ограничений. Вы можете создать хоть 10 поддоменов — всё будет работать.
Это позволяет экономить: одна лицензия вместо нескольких. Разница может быть 150-300 тыс. руб за каждый дополнительный проект.
Реальный пример: один экземпляр — три проекта
Один из наших клиентов — компания, оказывающая услуги в трёх направлениях: доставка, клининг, мелкий ремонт. У каждого направления свои клиенты и свои сотрудники. Выделять отдельный сервер и покупать три лицензии было накладно.
Мы сделали так:
- Основной домен — company.ru (лендинг, блог).
- Поддомен delivery.company.ru — личный кабинет для клиентов доставки, кабинет курьеров.
- Поддомен cleaning.company.ru — для клиентов клининга, кабинет уборщиков.
- Поддомен repair.company.ru — для заказчиков ремонта, кабинет мастеров.
Все три поддомена используют один экземпляр Falcon Space, одну базу данных и одну лицензию. Разграничение по проектам — через таблицу «проект» (project_id) и роли. Пользователи из разных поддоменов не видят друг друга.
Экономия: вместо трёх лицензий (450 тыс. руб) — одна (150 тыс. руб). Сэкономленные 300 тыс. руб направили на доработки.
Как настроить мультисайтовость на одном экземпляре
Технически это делается так:
- На сервере (IIS) настраиваются привязки доменов: все поддомены указывают на одну папку с Falcon Space.
- В коде (или через конфигурацию) платформа определяет, с какого поддомена пришёл запрос.
- В зависимости от поддомена подставляются разные настройки: название сайта, логотип, цветовая схема, набор ролей.
- В таблицах добавляется поле site_id (или domain), чтобы разграничивать данные.
Для заказчика всё прозрачно: при заходе на delivery.company.ru открывается кабинет доставки, при заходе на cleaning.company.ru — кабинет клининга. Входные формы и брендинг разные, но админка общая.
Мы можем настроить мультисайтовость за 1-2 недели (50-100 тыс. руб). Если у вас есть свой SQL-специалист, он может сделать это по документации.
Разграничение данных между проектами
Главное при таком подходе — не перепутать клиентов одного проекта с другим. Мы используем поле project_id в каждой таблице (orders, clients, users). При каждом запросе в SQL-процедуру передаётся project_id (определяемый по поддомену).
Пример процедуры для списка заказов (с учётом project_id):
CREATE PROCEDURE [app].[get_orders]
@username nvarchar(100),
@project_id int
AS
BEGIN
SELECT * FROM orders
WHERE project_id = @project_id
AND client_username = @username;
END
Пользователь из delivery.company.ru никогда не увидит заказы cleaning.company.ru, потому что у него другой project_id.
Администратор может иметь доступ ко всем проектам (если нужно).
Когда мультисайтовость не подходит
Несмотря на экономию, есть случаи, где лучше использовать отдельные экземпляры:
- Разные базы данных. Если проекты не связаны и не должны иметь общих таблиц.
- Разные версии платформы. Например, один проект требует старую версию, другой — новую.
- Высокая нагрузка. Если один проект «тяжёлый» и может замедлить другие.
- Разные требования безопасности. Например, один проект — публичный, другой — внутри корпоративного контура.
- Разные владельцы. Если проекты принадлежат разным юрлицам, лучше разделить.
В этих случаях выгоднее купить отдельные лицензии или разнести по разным серверам.
Как узнать, подходит ли вам мультисайтовость
Задайте себе вопросы:
- Проекты связаны общими клиентами или сотрудниками? (Если да — мультисайтовость удобна).
- Вы хотите единую админку для всех проектов? (Если да — подходит).
- Объём данных небольшой (до 100 000 записей в сумме)? (Если да — подходит).
- Вы готовы к тому, что сбой в одном проекте может затронуть другие? (Если нет — разделяйте).
Если ответы «да», мультисайтовость сэкономит вам деньги.
Экономия на лицензиях: реальные цифры
Клиент из примера выше с тремя проектами сэкономил 300 тыс. руб на лицензиях. Эти деньги он потратил на доработки (интеграция с 1С и телефонией). Если бы он покупал отдельную лицензию на каждый проект, то бюджет на разработку был бы тем же, но без дополнительных фич.
Другой клиент — холдинг из 5 юридических лиц — сделал мультисайтовость на 5 поддоменах. Сэкономил 4 лицензии (600 тыс. руб). Это позволило нанять дополнительного программиста на полгода.
Если у вас несколько филиалов или брендов, подумайте об объединении их под одним доменом с поддоменами. Это законно и экономит бюджет. Мы поможем настроить.
- Шаг 1. Создать концепт проекта
- Шаг 2. Получить оценку бюджета (КП)
- Шаг 3. Заключить договор
- Шаг 4. Создать совместно техническое задание
- Шаг 5. Поэтапная реализация проекта