nmk

Лекція №1 (2 години). Вступ до хмарних технологій та типи хмарних середовищ

План лекції

  1. Що таке хмарні технології: визначення та ключові характеристики
  2. Передумови виникнення та історія розвитку хмарних обчислень
  3. Основні моделі хмарних послуг: IaaS, PaaS, SaaS
  4. Типи хмарних середовищ: публічна, приватна, гібридна та мультихмарна моделі

Перелік умовних скорочень

Вступ

Хмарні технології стали одним із найважливіших досягнень інформаційних технологій початку XXI століття. Вони докорінно змінили підходи до зберігання, обробки та надання доступу до даних і програмного забезпечення. Сьогодні хмарні обчислення використовуються повсюдно — від особистих фотоальбомів у Google Photos до глобальних фінансових систем провідних банків світу. Розуміння принципів роботи хмарних технологій є фундаментальною компетентністю для сучасного ІТ-фахівця.

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

1. Що таке хмарні технології: визначення та ключові характеристики

1.1 Визначення

Найбільш авторитетне й загальноприйняте визначення хмарних обчислень надає Національний інститут стандартів і технологій США (NIST) у документі NIST Special Publication 800-145 (2011):

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

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

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

1.2 П’ять ключових характеристик (за NIST)

NIST визначає п’ять фундаментальних характеристик хмарних обчислень:

1. Самообслуговування на вимогу (On-demand self-service)

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

Приклад: Розробник може зайти в консоль AWS, натиснути кілька кнопок і за 2–3 хвилини отримати повноцінний сервер з операційною системою, готовий до роботи.

2. Широкий мережевий доступ (Broad network access)

Ресурси доступні через стандартні мережеві протоколи (HTTP/HTTPS, REST API тощо) з будь-якого пристрою — ноутбука, смартфона, планшета — з будь-якої точки світу, де є Інтернет.

Приклад: Бухгалтер може відкрити хмарну ERP-систему (наприклад, SAP S/4HANA Cloud) зі свого домашнього ноутбука так само, як зі свого офісного комп’ютера.

3. Об’єднання ресурсів у пул (Resource pooling)

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

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

4. Швидка еластичність (Rapid elasticity)

Ресурси можуть бути швидко виділені та звільнені — іноді автоматично — відповідно до поточних потреб. Для користувача ресурси видаються необмеженими та можуть бути отримані в будь-якому обсязі в будь-який момент.

Приклад: Інтернет-магазин під час розпродажу «Чорна п’ятниця» автоматично збільшує кількість серверів від 10 до 100 (щоб витримати навантаження), а після закінчення акції — знову зменшує до 10, сплачуючи лише за фактичне використання.

5. Вимірювані послуги (Measured service)

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

Приклад: Компанія, що зберігає 500 ГБ даних у Amazon S3, платить лише за ці 500 ГБ і за обсяг переданих даних, а не за весь дисковий масив.

1.3 Переваги хмарних технологій

Перевага Пояснення
Зниження витрат Відсутність капітальних витрат на обладнання; операційна модель оплати
Масштабованість Можливість збільшувати або зменшувати ресурси в реальному часі
Доступність Доступ з будь-якого місця через Інтернет
Надійність Провайдери забезпечують резервування, SLA 99.9–99.999%
Швидкість розгортання Нові ресурси — хвилини, а не тижні
Актуальність ПЗ Оновлення відбуваються автоматично на стороні провайдера
Безпека Провайдери інвестують мільярди у засоби захисту

2. Передумови виникнення та історія розвитку хмарних обчислень

Хмарні обчислення — не революційний стрибок, а результат поступової еволюції підходів до використання обчислювальних ресурсів протягом майже 70 років.

2.1 1950–1960-ті: мейнфрейми та розподіл часу

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

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

Дж. К. Р. Ліклайдер у 1969 році висунув концепцію «Інтергалактичної комп’ютерної мережі» — мережі комп’ютерів, через яку кожен міг би отримати доступ до програм і даних з будь-якої точки. Це — перше бачення того, що ми сьогодні називаємо хмарою.

2.2 1970–1980-ті: віртуалізація та персональні комп’ютери

Віртуалізація — ключова технологія хмарних обчислень — з’явилась ще на мейнфреймах IBM у 1970-х роках. IBM VM/370 дозволяла запускати кілька «віртуальних машин» на одному фізичному комп’ютері — кожна мала власну копію операційної системи.

У 1980-х роках масове поширення персональних комп’ютерів змістило акцент: обчислення стали децентралізованими. Компанії почали купувати власні сервери — ця модель отримала назву on-premise (локальна інфраструктура).

2.3 1990-ті: Інтернет та перші ASP

Масове розповсюдження Інтернету у 1990-х роках відкрило можливість дистанційного доступу до програм через мережу. З’явились перші постачальники прикладних сервісів (ASP — Application Service Providers), які надавали доступ до бізнес-застосунків (бухгалтерія, CRM) через Інтернет замість їхнього локального встановлення. Це — безпосередній попередник сучасного SaaS.

Salesforce.com, заснована у 1999 році, стала піонером SaaS-моделі, вперше запропонувавши CRM-систему виключно через браузер за щомісячну підписку.

2.4 2000–2006: комерціалізація та народження хмари

На початку 2000-х Amazon зіткнулась із серйозною технічною проблемою: масштабування власної ІТ-інфраструктури для e-commerce сайту вимагало величезних ресурсів, причому пікові навантаження (наприклад, під час свят) були у 10 разів вищими за звичайні. Amazon побудувала внутрішню інфраструктуру з дуже великим запасом. Виникло питання: чи не можна продавати цей надлишковий ресурс іншим компаніям?

У 2006 році Amazon публічно запустила Amazon Web Services (AWS) — перший у світі масштабний комерційний публічний хмарний сервіс. Ключові продукти:

EC2 революціонізував ринок: будь-хто міг орендувати сервер за лічені хвилини і платити по $0.10 на годину, не купуючи фізичного обладнання.

2.5 2008–2010: конкуренти виходять на ринок

Успіх AWS привернув до ринку хмарних послуг великих технологічних гравців:

2.6 2010-ті — сьогодення: зрілість і домінування хмарних технологій

Протягом 2010-х хмарні технології стали мейнстримом:

Факти про сучасний ринок (2024):

2.7 Хронологія ключових подій


1960 1969: Ліклайдер — концепція "Інтергалактичної мережі"
↓
1972 IBM VM/370 — перша комерційна система віртуалізації
↓
1990 Масовий Інтернет; поява перших ASP
↓
1999 Salesforce — перший SaaS (CRM через браузер)
↓
2006 Amazon запускає AWS EC2 та S3 — народження публічної хмари
↓
2008 Google App Engine (перший PaaS); OpenStack
↓
2010 Microsoft Azure виходить на ринок
↓
2013 Docker — революція контейнеризації
↓
2014 AWS Lambda — народження serverless; Kubernetes від Google
↓
2020+ Мультихмарні стратегії, edge computing, AI у хмарі

3. Основні моделі хмарних послуг: IaaS, PaaS, SaaS

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

Для розуміння цих моделей скористаємось «стеком хмарних послуг» — ієрархією рівнів від фізичного обладнання до готового застосунку:


┌─────────────────────────────────────────┐
│ Дані / Контент │
├─────────────────────────────────────────┤
│ Застосунок │
├─────────────────────────────────────────┤
│ Середовище виконання / Runtime │
├─────────────────────────────────────────┤
│ Проміжне ПЗ / Middleware │
├─────────────────────────────────────────┤
│ Операційна система │
├─────────────────────────────────────────┤
│ Віртуалізація │
├─────────────────────────────────────────┤
│ Сервери / Обладнання │
├─────────────────────────────────────────┤
│ Мережа / Сховище │
└─────────────────────────────────────────┘

Чим вище за стеком бере на себе відповідальність провайдер — тим менше турбот у клієнта, але й менше свободи у налаштуванні.

3.1 IaaS — Інфраструктура як послуга

IaaS (Infrastructure as a Service) — модель, за якої постачальник надає у розпорядження клієнта базову обчислювальну інфраструктуру: сервери (віртуальні машини), мережу та сховище. Все інше — від операційної системи до застосунку — клієнт встановлює і конфігурує самостійно.

Що надає провайдер:

Що відповідальний клієнт:

Характерні сервіси IaaS: | Провайдер | Сервіс | Призначення | |———–|——–|————-| | AWS | EC2 | Віртуальні машини | | AWS | S3 | Об’єктне сховище | | Azure | Virtual Machines | Віртуальні машини | | Azure | Azure Blob Storage | Об’єктне сховище | | Google | Compute Engine | Віртуальні машини | | Google | Cloud Storage | Об’єктне сховище |

Для кого підходить IaaS:

Приклад використання IaaS:

Середній банк вирішує не купувати нові фізичні сервери для розширення бекенду своєї системи. Замість цього ІТ-відділ орендує 20 EC2-екземплярів в AWS, встановлює на них корпоративний Linux, налаштовує власну СУБД Oracle та розгортає банківський застосунок. Банк платить погодинно лише за фактичний час роботи серверів.

3.2 PaaS — Платформа як послуга

PaaS (Platform as a Service) — модель, за якої постачальник забезпечує повноцінну платформу для розробки, тестування та розгортання застосунків. Клієнт not лише не піклується про фізичне обладнання — він також не займається адміністрацією операційних систем, налаштуванням серверів та проміжного ПЗ. Розробники зосереджуються виключно на написанні коду і роботі з даними.

Що надає провайдер:

Що відповідальний клієнт:

Характерні сервіси PaaS: | Провайдер | Сервіс | Призначення | |———–|——–|————-| | AWS | Elastic Beanstalk | Розгортання веб-застосунків | | AWS | RDS | Керована реляційна БД | | Azure | App Service | Хостинг веб-застосунків | | Azure | Azure SQL Database | Керована SQL БД | | Google | App Engine | Розгортання застосунків | | Google | Cloud SQL | Керована реляційна БД | | Heroku | Heroku Platform | Хмарна PaaS для стартапів |

Для кого підходить PaaS:

Приклад використання PaaS:

Команда з 5 розробників створює SaaS-застосунок для управління проєктами. Замість того щоб налаштовувати сервери, СУБД та веб-сервери, вони використовують Azure App Service: просто завантажують свій код через Git—і платформа автоматично розгортає застосунок, масштабує його залежно від кількості відвідувачів, забезпечує SSL-сертифікати та автоматичні бекапи бази даних.

3.3 SaaS — Програмне забезпечення як послуга

SaaS (Software as a Service) — найвища з трьох базових моделей, за якої постачальник надає кінцевому користувачеві повністю готовий застосунок, доступний через браузер або мобільний додаток. Клієнт не займається ні інфраструктурою, ні розробкою — лише використовує готовий продукт.

Що надає провайдер:

Що відповідальний клієнт:

Найпопулярніші SaaS-рішення: | Категорія | Продукти | |———–|———| | CRM | Salesforce, HubSpot, Pipedrive | | Офісні пакети | Google Workspace, Microsoft 365 | | Комунікації | Slack, Microsoft Teams, Zoom | | Проєктний менеджмент | Jira, Trello, Asana, Monday.com | | Бухгалтерія | QuickBooks Online, FreshBooks | | ERP | SAP S/4HANA Cloud, Oracle Cloud ERP |

Для кого підходить SaaS:

Приклад використання SaaS:

Відділ продажів компанії використовує Salesforce CRM: менеджери заходять через браузер, вносять контакти клієнтів, фіксують угоди та дзвінки. Вони не думають про сервери, бази даних чи оновлення — Salesforce сам оновлює систему тричі на рік, забезпечує безпеку та доступність 99.9% часу.

3.4 Порівняльна таблиця моделей

Критерій On-Premise IaaS PaaS SaaS
Обладнання Клієнт Провайдер Провайдер Провайдер
Мережа/Сховище Клієнт Провайдер Провайдер Провайдер
Операційна система Клієнт Клієнт Провайдер Провайдер
Middleware Клієнт Клієнт Провайдер Провайдер
Середовище виконання Клієнт Клієнт Провайдер Провайдер
Застосунок Клієнт Клієнт Клієнт Провайдер
Дані Клієнт Клієнт Клієнт Клієнт
Контроль Максимальний Високий Середній Мінімальний
Зусилля з управління Дуже великі Великі Середні Мінімальні

Примітка: «Клієнт» означає, що дана компонента є відповідальністю користувача; «Провайдер» — що нею керує постачальник хмарних послуг.

3.5 Додаткові моделі послуг (за межами трьох базових)

З розвитком ринку з’явились додаткові спеціалізовані моделі:

4. Типи хмарних середовищ

Не менш важливим, ніж тип послуги (що надається), є модель розгортання (де і як розгортається хмарна інфраструктура). NIST визначає чотири моделі розгортання.

4.1 Публічна хмара (Public Cloud)

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

Характеристики:

Провідні постачальники публічних хмар:

Переваги публічної хмари:

Недоліки:

Приклад: Netflix розміщує всю свою стримінгову інфраструктуру на AWS. Понад 200 мільйонів підписників отримують відео з серверів AWS у датацентрах по всьому світу.

4.2 Приватна хмара (Private Cloud)

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

Характеристики:

Технологічні рішення для побудови приватної хмари:

Переваги приватної хмари:

Недоліки:

Приклад: Національний банк України або великий комерційний банк з жорсткими регуляторними вимогами НБУ щодо зберігання фінансових даних у межах країни може розгорнути приватну хмару на основі VMware або OpenStack у власних захищених датацентрах.

4.3 Гібридна хмара (Hybrid Cloud)

Гібридна хмара — середовище, що поєднує публічну і приватну хмари (або on-premise інфраструктуру) в єдину, інтегровану архітектуру, де дані та застосунки можуть вільно переміщуватись між ними.

Типові сценарії використання гібридної хмари:

  1. «Хмарний розрив» (Cloud Bursting): у звичайний час застосунок працює у приватній хмарі, але при перевантаженні — автоматично «перетікає» у публічну хмару.

    Приклад: Сайт державного реєстру зазвичай обробляє 10 000 запитів/день із власних серверів, але під час виборів або переписів населення — автоматично використовує ресурси Azure для обробки пікових навантажень.

  2. Розмежування чутливих і нечутливих даних: персональні або конфіденційні дані зберігаються у приватній хмарі, а аналітика, веб-фронтенд, CDN — у публічній.

    Приклад: Медична компанія зберігає медичні знімки та записи пацієнтів у власному захищеному датацентрі (відповідно до HIPAA / українського законодавства про персональні дані), натомість портал для пацієнтів та аналітичні дашборди розміщені в Google Cloud.

  3. Поступова міграція: компанія поступово переносить системи з on-premise до публічної хмари, зберігаючи роки певний «гібридний» стан.

Технологічні рішення для гібридної хмари:

Ключова вимога до гібридної хмари: наявність надійного, безпечного з’єднання між приватною і публічною хмарою — зазвичай реалізується через VPN або виділені канали (AWS Direct Connect, Azure ExpressRoute).

4.4 Мультихмарне середовище (Multi-cloud)

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

Мотиви впровадження мультихмарної стратегії:

  1. Уникнення залежності від постачальника (Vendor Lock-In): якщо компанія залежить лише від AWS і конкурент сильно підвищить ціни або виникнуть проблеми з доступністю — це катастрофа для бізнесу.

  2. Використання найкращого від кожного провайдера (Best-of-breed):
    • Google Cloud — найкраще рішення для BigQuery та ML
    • AWS — найширший набір сервісів і найбільша екосистема
    • Azure — найкраща інтеграція з корпоративним Microsoft-стеком
  3. Географічні вимоги: певних регіонах послуги конкретного провайдера можуть бути відсутні або обмежені.

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

  5. Надійність та резервування: розподіл навантаження між провайдерами зменшує ризик втрати доступності при аварії одного з них.

Проблеми мультихмарних середовищ:

Приклад: Велика телекомунікаційна компанія використовує:

4.5 Порівняльна таблиця моделей розгортання

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

Висновки

  1. Хмарні обчислення — це модель надання обчислювальних ресурсів через Інтернет за моделлю «as a Service», яка характеризується самообслуговуванням на вимогу, широким мережевим доступом, об’єднанням ресурсів у пул, швидкою еластичністю та вимірюваністю послуг.

  2. Історія хмарних технологій охоплює більш ніж 60 років: від концепцій поділу часу на мейнфреймах 1960-х через появу Інтернету та ASP у 1990-х до запуску AWS у 2006 році та сучасного домінування хмарних рішень у всіх галузях.

  3. Три базові моделі послуг відповідають різним рівням відповідальності за стек:
    • IaaS — клієнт управляє від ОС до застосунку, провайдер — фізичним обладнанням;
    • PaaS — клієнт зосереджений лише на застосунку та даних;
    • SaaS — клієнт просто використовує готовий застосунок через браузер.
  4. Чотири моделі розгортання — публічна, приватна, гібридна, мультихмарна — дозволяють організаціям гнучко будувати хмарну стратегію відповідно до своїх вимог безпеки, вартості та масштабованості.

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

Джерела

  1. Mell, P., & Grance, T. (2011). The NIST Definition of Cloud Computing (SP 800-145). National Institute of Standards and Technology. https://doi.org/10.6028/NIST.SP.800-145
  2. Armbrust, M. et al. (2010). A View of Cloud Computing. Communications of the ACM, 53(4), 50–58. https://doi.org/10.1145/1721654.1721672
  3. Erl, T., Puttini, R., & Mahmood, Z. (2013). Cloud Computing: Concepts, Technology & Architecture. Prentice Hall.
  4. Sosinsky, B. (2011). Cloud Computing Bible. Wiley.
  5. Amazon Web Services. (2024). AWS Documentation. https://docs.aws.amazon.com
  6. Microsoft. (2024). Azure Documentation. https://learn.microsoft.com/azure
  7. Google Cloud. (2024). Google Cloud Documentation. https://cloud.google.com/docs
  8. Gartner. (2024). Gartner Forecasts Worldwide Public Cloud End-User Spending. https://www.gartner.com/en/newsroom

Запитання для самоперевірки

  1. Дайте визначення хмарних обчислень за NIST. Назвіть та поясніть усі п’ять ключових характеристик хмарних обчислень.
  2. Яка технологія 1970-х років стала одним із фундаментів сучасних хмарних обчислень? Поясніть її суть.
  3. У якому році та яка компанія вперше запустила комерційний публічний хмарний сервіс і які початкові послуги вона запропонувала?
  4. Поясніть різницю між IaaS, PaaS та SaaS. Для якої аудиторії найбільше підходить кожна з моделей?
  5. Яка відповідальність клієнта у моделях IaaS та PaaS за операційну систему?
  6. Наведіть по два реальних приклади SaaS-продуктів із різних категорій та поясніть, чому вони відносяться до SaaS, а не до PaaS.
  7. Порівняйте публічну та приватну хмари за критеріями: контроль, масштабованість, вартість, відповідність регуляторам.
  8. Що таке «хмарний розрив» (cloud bursting) і в яких сценаріях він застосовується?
  9. Яка головна відмінність між гібридною та мультихмарною стратегіями?
  10. Чому великі корпорації обирають мультихмарну стратегію? Назвіть не менше трьох причин.