Хмарні бізнес-моделі: Простими словами про IaaS, PaaS і SaaS

Про хмарах, хмарних технологіях і віртуалізації говорять вже довго, особливо про трьох найбільш популярних моделях обслуговування: програмне забезпечення як послуга (SaaS), платформа як послуга (PaaS) і інфраструктура як послуга (IaaS). У сьогоднішньому матеріалі ми хотіли б знову звернутися до цього питання і поговорити про особливості і застосовності хмарних сервісів.

/ Flickr / Robert / CC

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

На третьому рівні розташувався IaaS — сервери, сховища, мережі, обчислювальна інфраструктура, яку клієнт отримує в користування для запуску своїх рішень. Описана структура може бути представлена у вигляді наступної схеми:


Для демонстрації цих трьох типів послуг часто застосовується аналогія з піцою — своєрідна «Pizza as a Service». Коли споживач замовляє і поїдає піцу в кафе або ресторані, то це SaaS, а якщо замовляє її собі на будинок, то це PaaS. Якщо ж він пішов у магазин, купив інгредієнтів і приготував страву самостійно, то, можна сказати, що це IaaS.



Тепер трохи заглибимося в кожну з цих технологій і почнемо з кінця стека — IaaS.

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

Поняття IaaS включає в себе такі особливості:

  • Ресурси — це послуга. Клієнт має можливість у будь-який час збільшувати і зменшувати обсяги споживаних ресурсів
  • З фізичними ресурсами можуть працювати кілька користувачів завдяки можливостям віртуалізації
  • Гнучкі моделі оплати (наприклад, варіант pay as you go, коли компанія платить тільки за споживані потужності)
Враховуючи все вищесказане, можна визначити, коли слід використовувати IaaS-рішення. Звертатися до IaaS варто в тому випадку, компанія іноді відчуває потребу в підвищенні потужностей при сплесках навантаження — тобто є потреба в оперативному масштабуванні інфраструктури.

Ще один варіант — компанія являє собою стартап, у якого немає коштів на придбання власного «заліза» і його підтримку, або ж організація хоче запустити експериментальний напрям бізнесу і закуповувати обладнання для цього не завжди буває доцільно (проект може не злетіти).

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

Тут хотілося б додати, що думка, нібито не варто використовувати хмарні рішення для бізнес-критичних додатків. Однак зазначимо, що це не так. Критичний бізнес-додаток може бути розгорнуто на продуктивному сервері з 16 ядрами і терабайтами пам'яті, в якому передбачено дублювання ряду компонентів (у тому числі і на більш високих рівнях).

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

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

Щоб абстрагувати концепцію роботи з серверами, було виконано наступне:

  • Реалізована система збирання, компилирующая і зберігає код;
  • Впроваджена база даних управління додатками, що стежить за версіями та метаданих;
  • Запущений планувальник завдань, який обробляє велику групу серверів і запускає додаток на декількох машинах як на одного;
  • Балансувальник навантаження управляє інтернет-трафіком;
  • Робота DNS автоматизована;
  • Реалізована форма контейнеризації (FreeBSD Jail, Solaris Zones, Linux Containers), що запобігає втручання однієї програми в роботу іншого.
Перший і останній пункти — це ті елементи, які сприяли зростанню популярності Docker. Технологія Linux Container давно була частиною ядра ОС Linux, але автоматизувати їх використання зважилися тільки великі компанії або PaaS-провайдери.

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

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

Трохи про SaaS
У разі SaaS споживач отримує можливість користуватися додатками постачальника, виконуваними в хмарі. Програми доступні з різних клієнтських пристроїв, наприклад через браузер. повідомляє Gartner, ринок SaaS виріс на 21,7% до 38,9 млрд доларів в 2016 році. У 2017 році темпи зростання тільки збільшаться.

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

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

Таким чином, чим більше високорівневу модель ви плануєте використовувати, тим менший рівень компетенцій в ІТ вимагається від команди. Справедливо і зворотне — чим нижче рівень ІТ-зрілості вашої компанії, тим більш високорівнева модель вам буде потрібно.

P. S. Ще кілька матеріалів по темі з нашого блогу:

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.