Хмарні технології стали одним із найважливіших досягнень інформаційних технологій початку XXI століття. Вони докорінно змінили підходи до зберігання, обробки та надання доступу до даних і програмного забезпечення. Сьогодні хмарні обчислення використовуються повсюдно — від особистих фотоальбомів у Google Photos до глобальних фінансових систем провідних банків світу. Розуміння принципів роботи хмарних технологій є фундаментальною компетентністю для сучасного ІТ-фахівця.
У цій лекції ми розглянемо ключові поняття та концепції, що лежать в основі хмарних обчислень, прослідкуємо їхній історичний розвиток та вивчимо основні архітектурні моделі надання хмарних послуг.
Найбільш авторитетне й загальноприйняте визначення хмарних обчислень надає Національний інститут стандартів і технологій США (NIST) у документі NIST Special Publication 800-145 (2011):
Хмарні обчислення (Cloud Computing) — це модель надання зручного мережевого доступу на вимогу до спільного пулу налаштовуваних обчислювальних ресурсів (мереж, серверів, сховищ, застосунків і сервісів), що може бути швидко виділений і звільнений з мінімальними зусиллями з управління або мінімальною взаємодією з постачальником послуг.
Простіше кажучи, хмарні технології — це надання обчислювальних ресурсів (обладнання, програмного забезпечення, зберігання даних) через Інтернет за моделлю послуги (as a Service), замість того щоб ці ресурси фізично знаходились у користувача або його організації.
Метафора «хмари» виникла з практики малювання мережевих схем, де Інтернет або зовнішня мережа традиційно позначалась символом хмари. Тобто для кінцевого користувача не важливо, де фізично знаходяться ресурси — вони десь «у хмарі».
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 ГБ і за обсяг переданих даних, а не за весь дисковий масив.
| Перевага | Пояснення |
|---|---|
| Зниження витрат | Відсутність капітальних витрат на обладнання; операційна модель оплати |
| Масштабованість | Можливість збільшувати або зменшувати ресурси в реальному часі |
| Доступність | Доступ з будь-якого місця через Інтернет |
| Надійність | Провайдери забезпечують резервування, SLA 99.9–99.999% |
| Швидкість розгортання | Нові ресурси — хвилини, а не тижні |
| Актуальність ПЗ | Оновлення відбуваються автоматично на стороні провайдера |
| Безпека | Провайдери інвестують мільярди у засоби захисту |
Хмарні обчислення — не революційний стрибок, а результат поступової еволюції підходів до використання обчислювальних ресурсів протягом майже 70 років.
Перші великі обчислювальні машини — мейнфрейми — були надзвичайно дорогими та займали цілі кімнати. Перші університети та корпорації мали у своєму розпорядженні один-два мейнфрейми. Щоб ефективніше використовувати ці дорогоцінні ресурси, у 1960-х роках виникла концепція поділу часу (time-sharing): кілька користувачів могли одночасно підключатися до одного мейнфрейму через термінали та виконувати свої задачі, отримуючи кожен свою «частку» процесорного часу.
Ця концепція є прямим прообразом сучасної хмарної моделі — центральний ресурс, яким спільно користуються багато людей.
Дж. К. Р. Ліклайдер у 1969 році висунув концепцію «Інтергалактичної комп’ютерної мережі» — мережі комп’ютерів, через яку кожен міг би отримати доступ до програм і даних з будь-якої точки. Це — перше бачення того, що ми сьогодні називаємо хмарою.
Віртуалізація — ключова технологія хмарних обчислень — з’явилась ще на мейнфреймах IBM у 1970-х роках. IBM VM/370 дозволяла запускати кілька «віртуальних машин» на одному фізичному комп’ютері — кожна мала власну копію операційної системи.
У 1980-х роках масове поширення персональних комп’ютерів змістило акцент: обчислення стали децентралізованими. Компанії почали купувати власні сервери — ця модель отримала назву on-premise (локальна інфраструктура).
Масове розповсюдження Інтернету у 1990-х роках відкрило можливість дистанційного доступу до програм через мережу. З’явились перші постачальники прикладних сервісів (ASP — Application Service Providers), які надавали доступ до бізнес-застосунків (бухгалтерія, CRM) через Інтернет замість їхнього локального встановлення. Це — безпосередній попередник сучасного SaaS.
Salesforce.com, заснована у 1999 році, стала піонером SaaS-моделі, вперше запропонувавши CRM-систему виключно через браузер за щомісячну підписку.
На початку 2000-х Amazon зіткнулась із серйозною технічною проблемою: масштабування власної ІТ-інфраструктури для e-commerce сайту вимагало величезних ресурсів, причому пікові навантаження (наприклад, під час свят) були у 10 разів вищими за звичайні. Amazon побудувала внутрішню інфраструктуру з дуже великим запасом. Виникло питання: чи не можна продавати цей надлишковий ресурс іншим компаніям?
У 2006 році Amazon публічно запустила Amazon Web Services (AWS) — перший у світі масштабний комерційний публічний хмарний сервіс. Ключові продукти:
EC2 революціонізував ринок: будь-хто міг орендувати сервер за лічені хвилини і платити по $0.10 на годину, не купуючи фізичного обладнання.
Успіх AWS привернув до ринку хмарних послуг великих технологічних гравців:
Протягом 2010-х хмарні технології стали мейнстримом:
Факти про сучасний ринок (2024):
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 у хмарі
Хмарні послуги поділяються на три фундаментальні моделі залежно від того, на якому рівні стека постачальник бере на себе управління ресурсами, а на якому — відповідальність залишається за клієнтом.
Для розуміння цих моделей скористаємось «стеком хмарних послуг» — ієрархією рівнів від фізичного обладнання до готового застосунку:
┌─────────────────────────────────────────┐
│ Дані / Контент │
├─────────────────────────────────────────┤
│ Застосунок │
├─────────────────────────────────────────┤
│ Середовище виконання / Runtime │
├─────────────────────────────────────────┤
│ Проміжне ПЗ / Middleware │
├─────────────────────────────────────────┤
│ Операційна система │
├─────────────────────────────────────────┤
│ Віртуалізація │
├─────────────────────────────────────────┤
│ Сервери / Обладнання │
├─────────────────────────────────────────┤
│ Мережа / Сховище │
└─────────────────────────────────────────┘
Чим вище за стеком бере на себе відповідальність провайдер — тим менше турбот у клієнта, але й менше свободи у налаштуванні.
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 та розгортає банківський застосунок. Банк платить погодинно лише за фактичний час роботи серверів.
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-сертифікати та автоматичні бекапи бази даних.
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% часу.
| Критерій | On-Premise | IaaS | PaaS | SaaS |
|---|---|---|---|---|
| Обладнання | Клієнт | Провайдер | Провайдер | Провайдер |
| Мережа/Сховище | Клієнт | Провайдер | Провайдер | Провайдер |
| Операційна система | Клієнт | Клієнт | Провайдер | Провайдер |
| Middleware | Клієнт | Клієнт | Провайдер | Провайдер |
| Середовище виконання | Клієнт | Клієнт | Провайдер | Провайдер |
| Застосунок | Клієнт | Клієнт | Клієнт | Провайдер |
| Дані | Клієнт | Клієнт | Клієнт | Клієнт |
| Контроль | Максимальний | Високий | Середній | Мінімальний |
| Зусилля з управління | Дуже великі | Великі | Середні | Мінімальні |
Примітка: «Клієнт» означає, що дана компонента є відповідальністю користувача; «Провайдер» — що нею керує постачальник хмарних послуг.
З розвитком ринку з’явились додаткові спеціалізовані моделі:
Не менш важливим, ніж тип послуги (що надається), є модель розгортання (де і як розгортається хмарна інфраструктура). NIST визначає чотири моделі розгортання.
Публічна хмара — хмарна інфраструктура, яка належить та управляється стороннім постачальником, і ресурси якої спільно використовуються множиною непов’язаних організацій (орендарів).
Характеристики:
Провідні постачальники публічних хмар:
Переваги публічної хмари:
Недоліки:
Приклад: Netflix розміщує всю свою стримінгову інфраструктуру на AWS. Понад 200 мільйонів підписників отримують відео з серверів AWS у датацентрах по всьому світу.
Приватна хмара — хмарна інфраструктура, розгорнута виключно для однієї організації. Вона може знаходитись фізично у власних датацентрах організації (on-premise) або бути розміщена у третьої сторони, але при цьому ресурси не розділяються з іншими організаціями.
Характеристики:
Технологічні рішення для побудови приватної хмари:
Переваги приватної хмари:
Недоліки:
Приклад: Національний банк України або великий комерційний банк з жорсткими регуляторними вимогами НБУ щодо зберігання фінансових даних у межах країни може розгорнути приватну хмару на основі VMware або OpenStack у власних захищених датацентрах.
Гібридна хмара — середовище, що поєднує публічну і приватну хмари (або on-premise інфраструктуру) в єдину, інтегровану архітектуру, де дані та застосунки можуть вільно переміщуватись між ними.
Типові сценарії використання гібридної хмари:
«Хмарний розрив» (Cloud Bursting): у звичайний час застосунок працює у приватній хмарі, але при перевантаженні — автоматично «перетікає» у публічну хмару.
Приклад: Сайт державного реєстру зазвичай обробляє 10 000 запитів/день із власних серверів, але під час виборів або переписів населення — автоматично використовує ресурси Azure для обробки пікових навантажень.
Розмежування чутливих і нечутливих даних: персональні або конфіденційні дані зберігаються у приватній хмарі, а аналітика, веб-фронтенд, CDN — у публічній.
Приклад: Медична компанія зберігає медичні знімки та записи пацієнтів у власному захищеному датацентрі (відповідно до HIPAA / українського законодавства про персональні дані), натомість портал для пацієнтів та аналітичні дашборди розміщені в Google Cloud.
Поступова міграція: компанія поступово переносить системи з on-premise до публічної хмари, зберігаючи роки певний «гібридний» стан.
Технологічні рішення для гібридної хмари:
Ключова вимога до гібридної хмари: наявність надійного, безпечного з’єднання між приватною і публічною хмарою — зазвичай реалізується через VPN або виділені канали (AWS Direct Connect, Azure ExpressRoute).
Мультихмарне середовище — стратегія використання двох або більше публічних хмарних провайдерів одночасно. На відміну від гібридної хмари (яка поєднує публічну і приватну), мультихмарна модель передбачає використання кількох публічних хмар.
Мотиви впровадження мультихмарної стратегії:
Уникнення залежності від постачальника (Vendor Lock-In): якщо компанія залежить лише від AWS і конкурент сильно підвищить ціни або виникнуть проблеми з доступністю — це катастрофа для бізнесу.
Географічні вимоги: певних регіонах послуги конкретного провайдера можуть бути відсутні або обмежені.
Нормативні вимоги: деякі галузі або країни вимагають розміщення даних у певних географічних зонах, а не всі провайдери мають датацентри у кожній країні.
Проблеми мультихмарних середовищ:
Приклад: Велика телекомунікаційна компанія використовує:
| Критерій | Публічна | Приватна | Гібридна | Мультихмарна |
|---|---|---|---|---|
| Власник інфраструктури | Провайдер | Організація | Обидва | Провайдери |
| Витрати на старт | Мінімальні | Значні | Середні | Середні |
| Масштабованість | Максимальна | Обмежена | Висока | Максимальна |
| Контроль | Мінімальний | Максимальний | Середній | Середній |
| Відповідність регуляторам | Залежить | Максимальна | Висока | Середня |
| Складність управління | Низька | Середня | Висока | Дуже висока |
| Типові клієнти | Стартапи, СМБ | Банки, держоргани | Підприємства | Великі корпорації |
Хмарні обчислення — це модель надання обчислювальних ресурсів через Інтернет за моделлю «as a Service», яка характеризується самообслуговуванням на вимогу, широким мережевим доступом, об’єднанням ресурсів у пул, швидкою еластичністю та вимірюваністю послуг.
Історія хмарних технологій охоплює більш ніж 60 років: від концепцій поділу часу на мейнфреймах 1960-х через появу Інтернету та ASP у 1990-х до запуску AWS у 2006 році та сучасного домінування хмарних рішень у всіх галузях.
Чотири моделі розгортання — публічна, приватна, гібридна, мультихмарна — дозволяють організаціям гнучко будувати хмарну стратегію відповідно до своїх вимог безпеки, вартості та масштабованості.