Розуміння одного клієнта проти мультитенанта в хмарних обчисленнях

У сфері хмарних обчислень, термін “орендар” позначає групу користувачів або окрему особу, котра отримує доступ до спільного набору обчислювальних ресурсів, таких як сховища даних, сервери та програмні додатки. Ці ресурси надаються постачальником хмарних послуг.

Кожен орендар функціонує незалежно від інших, маючи обмеження на доступ до даних або ресурсів, які належать іншим користувачам. Таким чином, декілька орендарів можуть використовувати одну інфраструктуру, зберігаючи при цьому конфіденційність і безпеку своїх даних. Орендарями можуть бути фізичні особи, організації або окремі підрозділи у складі великої компанії.

Коли ресурси та інфраструктура призначені виключно для одного орендаря, таку архітектуру називають одноорендною. Якщо ж ресурси спільно використовуються кількома орендарями, то це вже мультитенантна архітектура.

Проте, відмінність між цими двома архітектурами не завжди очевидна. Наприклад, хмарний сервіс AWS дозволяє створювати як одно-, так і багатоорендні конфігурації. Різниця полягає у деталях реалізації. Розглянемо їх докладніше.

Джерело: blogs.sap.com

Перш ніж заглибитися в подробиці, розглянемо короткий опис кожної архітектури.

Функція Архітектура з одним орендарем Архітектура з кількома орендарями
Спільний доступ до ресурсів Недоступний для інших Спільний для кількох орендарів
Налаштування Можливість гнучкого налаштування Обмежені можливості налаштування
Вартість Зазвичай дорожче Зазвичай дешевше
Безпека Підвищена безпека Нижчий рівень безпеки
Продуктивність Прогнозована продуктивність Вплив на масштабованість
Обслуговування Клієнт обслуговує ресурси Постачальник хмарних технологій займається обслуговуванням
Співпраця Обмежена співпраця Краща співпраця
Відповідність нормам Краща відповідність конкретним нормам Стандартні процеси для всіх орендарів

Архітектура з одним орендарем

Хмарні додатки з одноорендною архітектурою розроблені для обслуговування одного клієнта або організації. Вони надають виділені ресурси, які не використовуються спільно з іншими клієнтами.

Джерело: cncf.io

У такій моделі клієнт має ексклюзивний доступ до сервера, програми або інфраструктури в хмарі. Він отримує повний контроль над ресурсами та може налаштовувати їх під свої специфічні вимоги. Іншими словами, хмарні ресурси призначені виключно для цього клієнта.

Одиночний орендар може гнучко налаштовувати ресурси, досягаючи таким чином більшого контролю та відповідності потребам.

Зазвичай, цей варіант дорожчий, ніж багатоорендна архітектура, оскільки клієнт оплачує використання виділених ресурсів.

Ось приклад наскрізної архітектури з одним орендарем в хмарі AWS:

  • Створення віртуальної приватної мережі (VPC) для ізоляції ресурсів одного клієнта, що забезпечує безпеку та ізоляцію мережі.
  • Використання управління ідентифікацією та доступом (IAM) для контролю доступу до ресурсів, що дозволяє визначати, до яких саме ресурсів орендар має доступ.
  • Використання Elastic Compute Cloud (EC2) для створення віртуальних машин, що надає повний контроль над ресурсами з певними конфігураціями.
  • Використання Elastic Block Store (EBS) для забезпечення блокового сховища даних для віртуальних машин.
  • Використання служби реляційних баз даних (RDS) для забезпечення керованого сервісу баз даних, зі створенням окремого екземпляра для клієнта, що гарантує ізоляцію та безпеку.
  • Використання Amazon S3 для зберігання статичних ресурсів, таких як зображення, відео та документи, з можливістю створення окремого “відра” для доступу лише одного орендаря.
  • Використання Elastic Load Balancer (ELB) для розподілу трафіку між численними екземплярами програми, що знаходяться в ресурсах, призначених виключно для конкретного клієнта.

Приклади хмарних програм

Нижче наведено декілька прикладів відомих хмарних програм, які можуть використовувати архітектуру з одним орендарем:

  • Workday – хмарне програмне забезпечення для управління персоналом і фінансами, яке пропонує архітектуру з одним орендарем.
  • Хмарна платформа SAP HANA.
  • Архітектура Oracle Cloud.
  • IBM Cloud Dedicated з виділеними ресурсами, непризначеними для інших клієнтів.
  • Приватна хмара Rackspace.

Переваги хмарної архітектури з одним клієнтом

Хмарна архітектура з одним орендарем має ряд переваг у порівнянні з архітектурою з кількома орендарями:

  • Підвищений рівень безпеки завдяки виділеним ресурсам для одного клієнта, що дає повний контроль над безпекою. Це усуває ризик витоку даних або несанкціонованого доступу.
  • Можливість гнучкого налаштування ресурсів під специфічні потреби, що позитивно впливає на продуктивність і ефективність. Клієнт також має більшу гнучкість у виборі програмного та апаратного забезпечення.
  • Передбачувана продуктивність, оскільки ресурси виділені для одного клієнта. Це забезпечує стабільність продуктивності, що важливо для додатків, які потребують високої надійності та продуктивності.
  • Краща відповідність конкретним нормам та стандартам, оскільки ресурси призначені для одного орендаря.
  • Покращена масштабованість, оскільки клієнт може збільшувати або зменшувати ресурси відповідно до потреб.

Однак, варто пам’ятати, що архітектура з одним орендарем, як правило, дорожча за багатоорендну, тому не завжди є найкращим рішенням для кожної організації.

Реальні випадки використання хмарної архітектури з одним клієнтом

Розглянемо кілька випадків, де архітектура з одним орендарем є оптимальною:

  • Організації охорони здоров’я, які повинні дотримуватися суворих правил, таких як HIPAA, що вимагає високого рівня безпеки та конфіденційності. Архітектура з одним орендарем надає їм повний контроль над ресурсами та дозволяє впроваджувати необхідні заходи безпеки.
  • Фінансові установи, які повинні дотримуватися таких правил, як PCI DSS. Таким чином, архітектура з одним орендарем стає для них хорошим рішенням.
  • Державні організації, зобов’язані дотримуватися таких нормативів як FISMA, що також вимагають високого рівня безпеки та відповідності.
  • Науково-дослідницькі організації, які потребують високого рівня кастомізації та продуктивності ресурсів.
  • Організації електронної комерції, які можуть динамічно збільшувати чи зменшувати свої ресурси у відповідь на потреби клієнтів.

Мультитенантна архітектура

Джерело: aws.amazon.com

Мультитенантна архітектура часто є найкращим рішенням для організацій, які орієнтуються на економію коштів, масштабованість і співпрацю, а не на високі вимоги до безпеки та кастомізації.

  • Декілька клієнтів спільно використовують одні й ті ж ресурси у хмарі, тобто ресурси не призначаються виключно жодному клієнту, а розподіляються між ними.
  • Мультитенантна архітектура, зазвичай, дешевша за одноорендну через характер спільного використання ресурсів.
  • Існують обмеження щодо можливості налаштування, що може бути недоліком для клієнтів з унікальними вимогами до ресурсів.

Ось приклад реалізації мультитенантної архітектури в хмарі AWS:

  • Створення VPC для ізоляції ресурсів кожного орендаря, що забезпечує безпеку та ізоляцію мережі. Кожен орендар має власний VPC.
  • Використання IAM для управління доступом до ресурсів кожного орендаря. IAM визначає правила доступу до ресурсів, які можуть відрізнятися для різних орендарів.
  • Використання ELB для розподілу трафіку між кількома екземплярами програми з контролем доступу конкретного орендаря.
  • Використання RDS для забезпечення керованого сервісу баз даних, створюючи окремі екземпляри баз даних для кожного клієнта, з окремими правами доступу та контентом даних. Можливе використання того самого кластера, що гарантує ізоляцію та безпеку.
  • Використання Amazon S3 для зберігання статичних ресурсів, таких як зображення, відео та документи. Доступ до відер може контролюватися на рівні орендарів з можливістю розділення між кількома обліковими записами.
  • Використання CloudFront для розповсюдження статичних ресурсів між користувачами зі створенням окремих дистрибутивів для кожного орендаря, що забезпечує ізоляцію та безпеку.

Приклади хмарних програм

Ось декілька прикладів реальних хмарних додатків з мультитенантною архітектурою:

  • Salesforce – платформа для управління відносинами з клієнтами (CRM), що дозволяє декільком організаціям використовувати ту саму інфраструктуру, зберігаючи свої дані окремо і безпечно.
  • Dropbox – сервіс для зберігання та обміну файлами, який дозволяє декільком користувачам спільно працювати над одними і тими ж файлами.
  • Microsoft Office 365 – набір інструментів для підвищення продуктивності, що дозволяє декільком користувачам працювати над документами, таблицями та презентаціями.
  • Google Workspace – схожий набір інструментів, що надається Google.
  • AWS – хмарна інфраструктурна платформа, яка дозволяє декільком організаціям використовувати ту саму інфраструктуру, зберігаючи їхні дані окремо і безпечно.

Переваги мультитенантної архітектури

Мультитенантна хмарна архітектура має ряд переваг:

  • Зазвичай, вона дешевша, ніж архітектура з одним орендарем завдяки спільному використанню ресурсів.
  • Має більший вплив на масштабованість, ресурси масштабуються в залежності від потреби, що дозволяє задовольнити мінливі потреби клієнтів одночасно.
  • Потребує менше обслуговування. Провайдер хмарних послуг відповідає за підтримку ресурсів, що є однаковими для всіх орендарів.
  • Збільшує співпрацю між клієнтами, які працюють над спільними проєктами та обмінюються даними.
  • Сприяє стандартизації процесів та процедур, що впроваджуються та застосовуються до всіх орендарів одночасно.

Однак, архітектура з кількома орендарями може не підходити, якщо організація потребує високого рівня безпеки, відповідності нормам або кастомізації через обмеження спільних ресурсів.

Реальні випадки використання мультитенантної архітектури

Розглянемо деякі варіанти застосування мультитенантної архітектури:

  • Малі та середні підприємства (МСП) з обмеженими бюджетами, яким потрібні економічні рішення.
  • Постачальники програмного забезпечення як послуги (SaaS), які надають послуги великій кількості клієнтів.
  • Платформи соціальних мереж, які потребують високого рівня масштабованості та співпраці, щоб задовольняти мінливі потреби користувачів.
  • Навчальні заклади, які шукають економічно ефективні рішення для своєї ІТ-інфраструктури, розподіляючи витрати на ресурси з іншими закладами.
  • Постачальники публічних хмар, які використовують мультитенантну архітектуру для надання послуг великій кількості клієнтів.

Де підходить AWS Cloud?

Джерело: прод.майстерні.aws

Як зазначалося вище, AWS дозволяє створювати як одно-, так і багатоорендні архітектури.

Можна створити виділену інфраструктуру для одного клієнта або організації, наприклад, використовувати хости EC2 з фізичними серверами, призначеними для одного клієнта. Це дає клієнту повний контроль над апаратним забезпеченням.

AWS також надає віртуальну приватну хмару (VPC), що дозволяє створювати ізольовані віртуальні мережі.

З іншого боку, AWS має ряд сервісів, які можна використовувати для створення спільної інфраструктури. Наприклад, екземпляри EC2 (не виділені) надають віртуальні сервери, які можуть використовувати декілька клієнтів. Таким чином, ви користуєтеся одним апаратним забезпеченням та інфраструктурою, зберігаючи конфіденційність та безпеку своїх даних.

Або, можна використовувати такі сервіси, як Amazon S3, що дозволяють спільно використовувати одне сховище між декількома клієнтами. Клієнти можуть зберігати та отримувати дані в спільному середовищі.

Щодо баз даних RDS в AWS, то тут також є різні варіанти налаштування. Можна створити окремі екземпляри баз даних для кожного клієнта, або створити спеціальний кластер бази даних та екземпляр для одного клієнта.

Або ж, можна використовувати RDS для створення сервісу спільної бази даних для кількох орендарів. У цьому випадку, один екземпляр бази даних підтримує кількох клієнтів, обмежуючи рівень налаштування та продуктивності.

Отже, платформа не визначає тип архітектури (одно- чи багатоорендна). Важливіше, як ви її налаштовуєте.

Заключні слова

Вибір між архітектурою з одним або кількома клієнтами залежить від специфічних потреб замовника. Архітектура з одним клієнтом підходить для організацій, яким потрібен високий рівень безпеки, відповідності та кастомізації. Архітектура з кількома клієнтами є вигіднішою для тих, хто орієнтується на економію коштів і масштабованість.

Хмарні платформи, такі як AWS, дають можливість переглянути своє рішення з часом, а також дозволяють створювати гібридне середовище, де кожне рішення матиме своє місце.

Пропонуємо також ознайомитися з іншими матеріалами про мультитенантність у хмарних обчисленнях.