TGViewer
DDDevotion DDDevotion @dddevotion · 4.44K subscribers
Post #440 4.42K
Внезапно попал в мир мультитенантных архитектур. Раньше особо не работал, было только какое-то поверхностное понимание.

Тенант - группа пользователей, которые объединены общим контекстом. Например все пользователи организации могут образовывать тенант. У каждого тенанты свой (до какой-то степени) набор ресурсов и деплой.

Для чего обычно идут в мультитенантные архитектуры:
1. Безопасность. Данные разных тенантов разделены физически (с поправкой на облака, но граница достаточно явная). Данные никаким образом не могут перетечь из одного тенанта в другой.
2. Перформанс. Если у нас есть требовательный по ресурсам клиент, мы его изолируем, наливаем доп ресурсы и он получает нормальную производительность при этом остальные не страдают от его нагрузки.
3. Кастомные модели поставки. Мы можем для разных тенантов иметь различные версии нашей системы+ какие-то доработки под клиента.
4. Расширенный контроль со стороны клиента. Мы можем дать доступ к логам, метрикам, не волнуясь что мы раскрываем сенсетив данные. Это не он-прем, но может быть очень близко по уровню контролируемости со стороны заказчика.

Минусы.
1. Наверное основной минус — это стоимость. Для каждого тенанта вы создаете новый стенд, оплачивая ресурсы.
2. Второе: это сложнее деплоить, мониторить и поддерживать. Каждый релиз вы раскатываете на каждый тенант, каждую джобу для, например, восстановления данных после сбоя — вы запускаете на каждом тенанте.

И задачка со звездочкой — интеграция. Предположим, есть внешний сервис, который умеет дергать вебхук с каким-то пейлоадом. Вам надо доставлять этот пейлоад до тенанта по определенным правилам (самое простое: пейлоад содержит id тенанта получателя). Два основных подхода:
1. в лоб, регистрировать вебхук для каждого тенанта.
2. создавать роутер, который будет на основе какой-то логики перенаправлять пейлоад конкретному тенанту. Этот подход гибче, но требует доплнительных затрат на разработку и поддержку.

Много интересного на этом пути. Кстати облачные провайдеры с удовольствием делятся свои опытом. Поделитесь и вы своим 🙏

https://learn.microsoft.com/en-us/azure/architecture/guide/multitenant/overview
https://aws.amazon.com/solutions/guidance/multi-tenant-architectures-on-aws/
Docs Architect Multitenant Solutions on Azure - Azure Architecture Center Learn how to build multitenant solutions, including B2B and B2C SaaS, on Azure by using the guidance that this series provides.
  • 👍 10
  • 🔥 1
More from @dddevotion
  1. Aug 19, 2026Вижу в индустрии два подхода к внедрению ai разработки. Понятно, что это спектр, но в цело…
  2. Jul 13, 2026Записываем в календарики Когда: завтра, во вторник 16:00 мск Что: стрим Александра Поломод…
  3. Jul 10, 2026Иногда наше бизнес-правило может выглядеть так: if (this.Total > 100) Мы точно знаем, как…
  4. Jul 8, 2026Давно не касался темы инцидентов и постмортемов. SRE Book вышла уже 10 лет назад, и может…
  5. Jun 12, 2026Вышел LeadDev Engineering Leadership Report 2026 Как же быстро ИИ в разработке прошел путь…
  6. Jun 9, 2026Интересный взгляд на агентскую разработку через DDD-призму. А как вы работаете с агентами?…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →