Multi-tenancy
01Изоляция: row-level / schema / DB-per-tenant под нагрузку
Поверхностная или отсутствует
[ что входит ]
SaaS-платформа под ключ —[ боли ]
узнаёте свою ситуацию?[ архитектура ]
5 слоёв production-gradeСтроим на Nuxt 4 + SSR. A/B-страницы управляются через feature flags без деплоя. Быстрый старт для нового тенанта — кастомный поддомен и брендинг из конфигурации.
Nuxt 4, Vue 3, TypeScriptГибридный рендеринг под задачу: SSR для SEO-страниц, SPA для интерактивных разделов. Code-splitting, prefetch по маршрутам. Изоляция UI-контекста тенанта.
Vue 3, Pinia, ViteWorkspace per tenant: workspace-switcher, RBAC-aware навигация, brand-kit тенанта. Поддержка нескольких организаций под одним аккаунтом.
Vue 3, RBAC-контекстReact Native или Flutter — выбираем под задачу. Shared design-system с веб-приложением, deep-links, push-notifications через единый Notifications-центр.
React Native / FlutterNestJS с модульной архитектурой по доменам. DDD-подход там, где это оправдано. Bounded contexts исключают неявные зависимости между модулями.
NestJS, TypeScript, DDDEvent-driven через Kafka или RabbitMQ. Статусные машины для бизнес-процессов, idempotency-ключи на каждом шаге. Replay событий для отладки и аудита.
Kafka, NestJS EventsЕдиная точка для Email, Push, In-app, Webhook. Template engine со per-tenant брендингом. Retry-логика, delivery-статусы, предпочтения пользователя.
SendGrid, Firebase, BullMQПолнотекстовый поиск с учётом изоляции тенантов. Typesense для простых сценариев, Elasticsearch под высокие объёмы. Фасетная фильтрация, синонимы, ранжирование.
Typesense / ElasticsearchТри модели под нагрузку: PostgreSQL RLS (экономия инфры), schema-per-tenant (изоляция без накладных расходов), DB-per-tenant (максимальная изоляция для enterprise). Выбор фиксируется на старте.
PostgreSQL RLS, schemasStripe и Юкасса из коробки. Месячные и годовые планы, trials, usage-based billing по событиям, инвойсинг для B2B. Вебхуки с повторными попытками, reconciliation.
Stripe, Юкасса, СБПOrganizations → Workspaces → Roles → Permissions. SAML 2.0 и OIDC для корпоративного SSO. SCIM для авто-провизионинга из Azure AD, Okta, Google Workspace.
SAML/OIDC/SCIM, PassportAppend-only лог всех действий с контекстом тенанта, пользователя и ресурса. Фильтрация, экспорт в CSV и SIEM-интеграция. Хранение — настраиваемый retention.
PostgreSQL, ClickHouseУправление функциональностью per-tenant и per-user без деплоя. A/B-тесты, постепенный rollout, kill-switch для критических фич. Собственный сервис или интеграция с LaunchDarkly.
LaunchDarkly / self-hostedДвусторонние вебхуки с HMAC-подписями, retry-логика, идемпотентность запросов. SCA-ready для Европы. Reconciliation между платёжными системами и биллинг-базой.
Stripe SDK, Юкасса APIIdP-агностичная интеграция: Azure AD, Okta, Google Workspace, Keycloak. SCIM-провизионинг синхронизирует пользователей и группы без ручного управления.
passport-saml, node-oidcДвусторонняя синхронизация с Salesforce, HubSpot, Intercom, Zendesk. Контекст тенанта автоматически подтягивается в тикет. Custom field mapping под вашу модель данных.
REST API, webhooksSendGrid и Postmark для транзакционных писем, Firebase для мобильных пушей. Template engine с per-tenant брендингом, bounces, unsubscribes, аналитика доставки.
SendGrid, Firebase FCMOpenAPI-спецификация генерируется автоматически из кода. Авторизация по API-ключам и OAuth 2.0 с scopes. Rate-limiting per-tenant, webhooks с подписями и retry.
OpenAPI, OAuth 2.0, HMACHelm-чарты для каждого сервиса, namespace-level изоляция тенантов там, где нужно. HPA по CPU/RPS, cluster-autoscaler. Поддержка multi-region и edge-деплоев.
Kubernetes, Helm, DockerPrometheus для метрик, Grafana для дашбордов, Loki для логов. Distributed tracing через Jaeger или Tempo. Алерты на деградацию, on-call ротация, runbook в документации.
Prometheus, Grafana, LokiEvent pipeline: Kafka → ClickHouse для аналитических запросов на больших объёмах. Retention-политики, GDPR-compliant purge по тенанту, materialized views для дашбордов.
ClickHouse, KafkaGitLab CI / GitHub Actions с автоматическим тестированием, SAST и DAST-проверками. Blue-green деплой без даунтайма, feature-ветки в отдельных namespace для review.
GitLab CI, GitHub ActionsSLA 99.9% с RTO/RPO в договоре. Автоматические pg_dump + WAL-архивирование в S3, проверка восстановления. On-call ротация с эскалацией и post-mortem процессом.
PostgreSQL WAL, S3, PagerDuty[ кастом vs коробка ]
No-code помогает быстро стартовать. Но при росте MAU, сложном биллинге и нестандартной логике кастомная платформа даёт контроль, который коробка дать не может
Изоляция: row-level / schema / DB-per-tenant под нагрузку
Поверхностная или отсутствует
Stripe / Юкасса под ваши тарифы, usage-based, годовые
Шаблонные планы без гибкости
Делаем под вашу бизнес-модель
Упираетесь в потолок движка
Спроектирована под нагрузку, sharding, multi-region
Падает с ростом MAU и тенантов
Любые, с нужной глубиной — SAML/OIDC/SCIM, ERP, CRM
Marketplace модулей, ограниченная глубина
SSO, audit log, on-prem-опция, security-аудит
Базовая, ограничена движком
Прогнозируемая: инфраструктура + команда поддержки
Растёт нелинейно с MAU и тарифом вендора
Код принадлежит вам, можно забрать in-house в любой момент
Зависимость от вендора
[ миграция ]
если у вас уже есть продукт на однотенантной, коробочной или no-code платформе — переводим на кастомный SaaS поэтапно и без остановки продаж.
[ кейсы ]
Платформенные проекты, которые работают[ частые вопросы ]