- Multitenancy
-
Multitenancy (англ. Tenancy — аренда, Multitenancy — множественная аренда) — элемент архитектуры программного обеспечения, где единый экземпляр объекта приложения, запущенного на сервере, обслуживает множество клиентов организаций (арендаторы). Multitenancy сопоставляется с архитектурой из множественных экземпляров (multiinstance), где разделённые программные экземпляры (или аппаратная часть системы) настроены для различных клиентов организаций. С архитектурой множество-арендаторов (multitenant) программные приложения предназначаются виртуальным разделам со своими данными и конфигурациями и каждый клиента организации, работает с экземпляром настроенного виртуального приложения.
Принципы multitenancy (множественной аренды) не повсеместно приняты и поддерживаются внутри индустрии программного обеспечения, что может являться источником конкурентных преимуществ (см. ниже).
Содержание
Принятие
История приложений multitenant
Приложения multitenant развиваются в трёх направлениях (а также совмещают некоторые характеристики):
- С 1960-х годов компании арендуют пространство и вычислительные мощности на мэйнфреймах (разграничение времени) для уменьшения стоимости вычислений. Так же пользователи этих компаний используют существующие приложения, обычно, с простым разграничением точки входа - экран входа в систему для определения идентификационного номера пользователя. Основываясь на этом ID отдел учёта пользователей мейнфрейма должен подготовить для каждого пользователя процессор, память и дисковое пространство. Этот метод продолжает использоваться в SAP в их R/1 - R/3 ERP линейки продуктов.
- С 1990-х годов традиционные службы предоставления приложения размещают приложения для помощи своим клиентам. Завися от ограничений основных приложений ASP размещает приложения на различных машинах (если множество экземпляров приложений не может быть запущенно на одной физической машине) или разделяет процессы. Multitenant приложения представляют более созревшую архитектуру, которая делает доступными простые службы с низкими операционными затратами.
- Популярные, орриентированные на потребителей веб-приложения были функционально созданы как экземляр единого приложения, которое служит всем клиентам. Multitenant приложения предоставляют естественную эволюцию от такой модели к дополнительным настраиваемым группам или пользователям внутри единого клиента организации.
Отличия от виртуализации
В multitenancy среде, большое количество клиентов разделяют одно и то же приложение, запущенное в одной и той же операционной системе, на одном и том же оборудовании с единым механизмом хранения данных. Различие между клиентами достигается во время проектирования приложения, таким образом клиенты не пересекаются и не видят данные друг друга. Сравните и сопоставьте это с виртуализацией, где абстрактные компоненты дают возможность каждое приложение клиента запустить на выделенной физической машине.
Конкурентные преимущества
Некоторые компании активно продвигают основы multitenancy и её использования как источник конкурентного преимущества.
Экономика multitenancy
Экономия
Multitenancy позволяет экономить больше, нежели простая экономия достигнутого расширения от объединения ИТ-ресурсов в единую операцию. Экземпляр приложения обычно берёт на себя определённую долю памяти и вычислительных расходов, которые могут быть существенными при умножении на большое количество клиентов. Multitenancy уменьшает эти вычислительные расходы амортизируя их на большинство клиентов. В дальнейшем экономия может достигаться от снижения затрат на лицензирование программного обеспечения (такие как ОС и системы управления базами данных). В общем, если вы можете запускать всё в едином экземпляре программного обеспечения, то вы приобретёте одну лицензию программного обеспечения. Экономия может затмиться сложностью расширения единого экземпляра как потребностью роста. В дополнение, разработка multitenant систем это более комплексная задача, а так же требует более строго тестирования безопасности.
Сбор данных
Ссылки
Категории:- Архитектура программного обеспечения
- Разработка программного обеспечения
Wikimedia Foundation. 2010.