Что такое Multi-tenancy?
Multi-tenancy – архитектура в которой единственный экземпляр программного приложения обслуживает множество клиентов. Каждый клиент называется «тенантом» или «арендатором». Тенантам (арендаторам) может быть предоставлена возможность настройки некоторых частей приложения, таких как цветовая схема пользовательского интерфейса и/или бизнес-правил, но им не предоставляется возможность изменять исходный код приложения.
Экономичность использования технологии Multi-tenancy обусловлена тем, что расходы на разработку и обслуживание программного обеспечения являются общими, равномерно распределяясь между «арендаторами». Архитектура Multi-tenancy контрастирует с традиционной архитектурой Single-tenancy, где каждый клиент имеет собственный экземпляр программного обеспечения и может иметь доступ к исходному коду для изменения, либо этот код изменяется разработчиком с учетом пожеланий конкретного клиента. С использованием архитектуры Multi-tenancy только поставщик ПО имеет исключительное право централизовано вносить изменения в приложение. В архитектуре Single-tenancy поставщик вынужден обеспечивать возможность обновления различных экземпляров своего программного обеспечения для поддержки каждого своего клиента, при этом учитывая изменения в коде сделанные ранее для каждого из них, что в свою очередь значительно увеличивает стоимость приложения для конечного потребителя.
В облачных вычислениях возможности архитектуры Multi-tenancy выходят на новый уровень благодаря новой модели обслуживания и предоставления сервисов, использующих преимущества виртуализации и удаленного доступа. Например, поставщик SaaS (программного обеспечения в качестве сервиса) может стартовать единственный экземпляр своего приложения в одной базе данных, предоставив доступ к приложению множеству клиентов-арендаторов. С использованием Multi-tenancy данные каждого арендатора будут изолированы и останутся невидимыми для других арендаторов, а стоимость приложения для потребителя существенно снизится за счет сокращения затрат разработчика на поддержку и распределения этих затрат между «арендаторами».
Благодаря OpenEdge 11 разработка и развертывание приложений с поддержкой архитектуры Multi-tenancy становятся быстрее и, главное, проще. В OpenEdge практически все дорогостоящие аспекты применения Multi-tenancy прозрачны для приложения поставщика. Как результат, внедрить Multi-tenancy стало действительно просто – не только с точки зрения пользователей, но и с точки зрения поставщика приложения.
В OpenEdge используется собственная запатентованная технология Multi-tenant Tables, которая реализует истинную архитектуру Multi-tenancy на уровне базы данных, что гарантирует именно физическое разделение хранимых данных, а не виртуальное, как это происходит у конкурентов! В результате, приложению не нужно заниматься управлением «арендами», этим занимается СУБД, что значительно упрощает код и полностью делает архитектуру Multi-tenancy прозрачной.
Вот лишь небольшой список возможного применения технологии:
- Одно приложения с множеством конечных потребителей (арендаторов)
- Несколько подразделений в рамках одной компании
- Поддержка дочернего бизнеса
- Финансовые системы
- Медицинские системы
- Государственные предприятия
- Упрощение перехода в Облако
В наши дни вы уже не можете обеспечить большую безопасность ваших данных. К сожалению, с использованием множества приложений данные из одной и более учетных записей, вероятно, имеют общее пространство для хранения вместе с прочими данными, тем самым увеличивая риск несанкционированного доступа. Традиционно, чтобы смягчить этот риск у вас было два решения. Первое, разделить базу данных на множество отдельных экземпляров, при этом, вдобавок, увеличивая расходы на аппаратные средства. Или, второе, адаптировать бизнес-логику приложения путем внедрения кода Multi-tenancy. Оба варианта являются не достаточно экономически выгодными, не гибкими и не безопасными – но третьего было не дано… до сих пор!
|