Anton Sidorov homepage

Bookmark this to keep an eye on my project updates!

Follow me on GitHub

Multi Tenant Architecture

Зачем

Схемы Схемы

Плюсы минусы

Критерии

Плюсы:

  • Безопасность
  • Стоимость эксплуатации (TCO)
  • Производительность
  • Надежность
  • Функциональность
    • Скорость реагирования на потребности отдельных клиентов - уникальный функционал.
    • Переиспользование общего (Единая кодовая база) функционала.
  • Управляемость - сопровождение
  • Разработка
  • TimeToMarket сократить по ЮЛ

Минусы, Риски:

  • Шумные соседи
    • Производительность
    • Надежность
    • Безопасность
  • Сложность разработки

Паттерны

  • Модели MTA
    • Если вы ожидаете, что ваш бизнес будет масштабироваться до большого количества клиентов, очень важно развернуть общую инфраструктуру.
    • Если требования к изоляции клиентов являются высокими, может потребоваться инфраструктура с одним клиентом и отдельными инстансами (экземплярами решения).
    • Уровни изоляции
  • RMQ multi-tenancy
  • Database multi-tenancy
  • k8s multi-tenancy

Варианты:

  • Multi Tenant Architecture (MTA) - Single Instance
  • Single Tenant Architecture (STA) - Multi Instance
  • Гибридный (компромисный) вариант

Multi Tenant Architecture (MTA) - Single Instance

MTA

Управляемость Надежность
Стоимость Производительность
Функциональность Безопасность
  Разработка

Single Tenant Architecture (STA) - Multi Instance

STA

Производительность Стоимость
Надежность Управляемость
Безопасность: изоляция данных для каждого клиента, что снижает риск случайной утечки.  
Функциональность  
Разработка  

Гибридный вариант

Возможно стоит применять различные уровни изоляции на каждом уровне (слое) решения (GUI, Пользовательские сценарии, Бизнес логика, Хранилища, Инфраструктура)

  • Вертикальное секционирование развертывания Вертикальное секционирование развертывания
Производительность Разработка
Функциональность Стоимость
   
  • Горизонтально секционированные развертывания Горизонтально секционированные развертывания
Производительность Разработка
Функциональность Стоимость
   

To-do

  • https://docs.microsoft.com/ru-ru/azure/architecture/guide/multitenant/related-resources