Це машинний переклад, який може містити помилки!
Хмарні сервіси та віртуалізація
Віртуалізація дозволяє кільком машинам або ізольованим середовищам використовувати спільне фізичне обладнання. Хмарні сервіси надають ресурси у формі послуг через мережу, зазвичай з можливістю самостійного обслуговування та масштабування. Ви можете віртуалізувати власне обладнання, і віртуальне середовище не є автоматично хмарою.
Тут вам потрібно пояснити, що саме віртуальна машина (VM) та контейнер ділять із основною системою, а також розрізнити IaaS, PaaS і SaaS на прикладах. Вам не потрібно купувати хмарний сервіс. Використовуйте VM, до якої ви вже маєте доступ, або надані в тексті приклади.
Місце в навчальному матеріалі: Цей рівень пояснює віртуалізацію в архітектурі експлуатації. Ядро операційної системи пояснює, які компоненти гостьова операційна система має як окремі копії. Карта огляду показує зв’язки частина-ціле, технічні відносини та шляхи до практичних завдань.
Що таке віртуалізація?
Віртуалізація означає запуск кількох «віртуальних» машин на тому самому фізичному комп’ютері. Замість того щоб мати окремий фізичний сервер для веб-сервера, один для бази даних і один для файлового сервера, ви можете запустити всі три як віртуальні машини на одному й тому ж обладнанні.
Програмне забезпечення, яке робить це можливим, називається гіпервизором:
| Тип | Пояснення | Приклад |
|---|---|---|
| Тип 1 (bare-metal) | Платформа віртуалізації встановлюється безпосередньо на сервері | Proxmox VE (KVM), VMware ESXi |
| Тип 2 (hosted) | Працює над звичайною операційною системою | VirtualBox, VMware Workstation |
Type 1 vs. Type 2
- Type 1 – це те, що ми використовуємо у виробництві та в серверній кімнаті. Proxmox працює безпосередньо на сервері.
- Type 2 – це те, що ви використовуєте на своєму комп’ютері для тестування. VirtualBox працює поверх Windows або macOS.
Що таке віртуальна машина (ВМ)?
ВМ — це віртуальна машина з віртуальною ЦП, пам’яттю та диском. Вона запускає гостьову операційну систему зі власним ядром, тоді як гіпервізор надає доступ до фізичного апаратного забезпечення. Proxmox VE використовує Linux і KVM для запуску ВМ; вираз «безпосередньо на сервері» не означає, що платформа позбавлена ядра операційної системи.
Переваги ВМ:
- Ізоляція — Збій в одній гостьовій операційній системі зазвичай не призводить до зупинки інших ВМ. Проте вони все одно спільно використовують хост-систему, сховище даних та інші ресурси й можуть постраждати від спільних помилок або дефіциту ресурсів.
- Гнучкість — Ви можете запускати різні операційні системи на одному комп’ютері (наприклад, Ubuntu та Windows Server).
- Сніпшоти/резервне копіювання — Ви можете зробити миттєвий знімок стану ВМ і повернутися назад, якщо щось піде не так.
- Використання ресурсів — Фізичний комп’ютер із великою кількістю ОЗП і ЦП може працювати з багатьма ВМ.
Що таке контейнери?
Контейнер Linux запускає застосунок в ізольованому середовищі і використовує спільне ядро системи Linux, на якій він працює. Віртуальна машина має власну гостьову операційну систему зі своїм ядром.
Контейнери та віртуальні машини містить ілюстроване порівняння та також показує, як кілька контейнерів можуть запускатися всередині однієї віртуальної машини. Використайте його для пояснення того, що використовує спільне ядро, і що відбувається, якщо віртуальну машину вимкнено. Далі Докер Рівень 0 знайомить з конкретним інструментом для контейнеризації застосунків.
На практиці ми часто використовуємо обидва варіанти: віртуальні машини як хости для контейнерів Docker.
Хмарні послуги
У публічному хмарному середовищі постачальник володіє та обслуговує інфраструктуру, а ви замовляєте ресурси через мережу. Приватна хмара призначена для одного підприємства і може обслуговуватися самим підприємством або постачальником. Самостійне обслуговування, спільні пули ресурсів, масштабування та вимірювання використання є ключовими характеристиками хмари.
Моделі обслуговування
Існують три основні моделі хмарних послуг:
| Модель | Повна назва | Що ви отримуєте | Що керуєте самостійно | Приклад |
|---|---|---|---|---|
| IaaS | Інфраструктура як служба | Віртуальні машини, мережі та зберігання | ОС, застосунки, налаштування | Azure VM, AWS EC2 |
| PaaS | Платформа як служба | Готова платформа для виконання вашого коду | Лише застосунок | Azure App Service, Heroku |
| SaaS | Програмне забезпечення як служба | Готові застосунки, якими ви користуєтесь через браузер або додаток | Користувачі, доступ, дані та доступні параметри | Microsoft 365, Google Docs |
Простий спосіб це запам’ятати
- IaaS = Ви орендуєте порожню машину. Ви самостійно встановлюєте та налаштовуєте все.
- PaaS = Ви орендуєте готове середовище. Вам потрібно лише завантажити свій код.
- SaaS = Ви орендуєте готовий додаток. Вам потрібно лише увійти та використовувати його.
Моделі надання послуг
Хмарні послуги можуть надаватися різними способами:
| Модель | Опис | Приклад |
|---|---|---|
| Публічна хмара | Спільна інфраструктура, доступна для всіх | Azure, AWS, Google Cloud |
| Приватна хмара | Хмарне середовище для однієї компанії | Внутрішнє середовище із самообслуговуванням, спільним використанням ресурсів та масштабуванням |
| Гібридна хмара | Поєднання публічної та приватної | Деякі послуги локально, деякі в Azure |
VPS: Типове хмарне рішення
VPS (віртуальний приватний сервер) є одним із найпоширеніших рішень у моделі IaaS. Ви орендуйте віртуальну машину в хмарного провайдера та маєте повний контроль над нею, ніби це власний фізичний сервер.
Типові сценарії використання:
- Запуск веб-сервера
- Налаштування служб VPN
- Розміщення застосунку (наприклад, Flask + база даних)
- Тестування без ризику для власного обладнання
Приклади постачальників, які надають віртуальні сервери:
- Akamai (Linode)
- DigitalOcean
- Hetzner
- Microsoft Azure
Витрати в хмарі
Перевірте ціни та налаштуйте сповіщення про витрати перед замовленням ресурсів. Зупинений віртуальний сервер може все ще генерувати витрати на зберігання та зарезервовані адреси тощо. Переконайтеся, за що саме надавач послуг бере оплату, і видаліть ресурси, які ви більше не будете використовувати.
Локально проти хмари
Багато підприємств використовують комбінацію локальних серверів та хмарних послуг. Ось деякі фактори, які слід враховувати:
| Фактор | Локально (on-premises) | Хмара |
|---|---|---|
| Контроль | Повний контроль над апаратним забезпеченням та даними | Залежить від постачальника |
| Вартість | Значні інвестиції на старті | Поточні щомісячні витрати |
| Масштабованість | Обмежена фізичним апаратним забезпеченням | Можна масштабувати вгору та вниз за потреби |
| Обслуговування | Ви повинні все виправити самостійно | Постачальник обслуговує апаратне забезпечення |
| Конфіденційність | Ви знаєте, де знаходяться дані | Дані можуть зберігатися в інших країнах |
Завдання 1 – Дослідження віртуальної машини
Використовуйте віртуальну машину (VM), до якої ви вже маєте доступ. Якщо у вас є Proxmox, стаття Навігація в Proxmox VE пояснює, як переглянути дані про ЦП, ОЗП та диск. Якщо ви хочете створити нову VM, дотримуйтесь інструкції з встановлення за посиланням інструкція зі встановлення. Для виконання цього завдання вам не потрібно встановлювати додатковий гіпервизор на власному комп’ютері.
- Які обсяги ресурсів ЦП, ОЗП та сховища виділені для цієї VM?
- Які ресурси спільні з іншими VM на фізичному хості?
- Що може статися, якщо сумарна потреба кількох VM у пам’яті перевищить доступний обсяг на хості? Поясніть це без зміни параметрів ресурсів.
Якщо у вас немає доступної VM, використовуйте рекомендовані значення ресурсів із інструкції з встановлення як умовний приклад. У такому разі позначте відповідь як пояснення прикладу, а не як опис здійсненого встановлення.
Завдання 2 — Запуск контейнера за допомогою Docker
Скористайтеся контейнером Nginx з розділу Запустіть та дослідьте контейнер, якщо ви вже виконали це завдання. Якщо ви його видалили, створіть його заново так, як показано в практичному занятті з контейнерів. Якщо у вас немає Docker, почніть із встановлення. Поясніть, ядро якої операційної системи використовує контейнер, і порівняйте процес запуску зі звичайною віртуальною машиною (VM). Якщо у вас немає доступу до Docker, скористайтеся схемами контейнеризації, щоб пояснити різницю без спроб відтворити результати практичного тестування.
Завдання 3 — Які хмарні послуги ви вже використовуєте?
Подумайте про те, які послуги ви використовуєте в повсякденному житті:
- Microsoft 365 (Word, Teams, OneDrive) є SaaS
- GitHub Pages для розміщення вебсайту є PaaS
- Віртуальна машина у Proxmox демонструє віртуалізацію. Вона не є автоматично IaaS; це залежить від того, як ресурси надаються та адмініструються як послуга.
Чи зможете ви класифікувати інші послуги, якими ви користуєтеся?
Завдання 4 - Де зберігаються ваші дані?
Перейдіть на Microsoft Privacy Dashboard та перегляньте, що Microsoft зберігає про вас. Також перевірте умови використання хмарного сервісу, який ви використовуєте:
- Де у світі зберігаються дані?
- Що станеться з даними, якщо ви видалите свій обліковий запис?
- Чи належать вам дані, чи постачальнику послуг?
Ці питання особливо важливі з огляду на GDPR та конфіденційність.
Перевірте пояснення
Поясніть усно або письмово, чому віртуальна машина в Proxmox не є автоматично хмарною службою. Потім оберіть один приклад для кожної моделі — IaaS, PaaS та SaaS — і описіть, що саме керують клієнт і постачальник у кожному випадку. Якщо ви просто перелічуєте назви, скористайтеся таблицею моделей обслуговування, щоб пояснити розподіл відповідальності.
Підсумок
- Віртуалізація дозволяє запускати кілька служб на тому ж обладнанні, як віртуальних машин або контейнерів
- Хмарні сервіси надають ресурси через мережу, зокрема із самостійним обслуговуванням та масштабуванням
- IaaS, PaaS і SaaS описують ступінь відповідальності, яку ви берете на себе
- На практиці багато хто використовує гібридне рішення з поєднанням локальних та хмарних служб
- Вибір між локальними та хмарними рішень залежить від контролю, вартості, масштабованості та конфіденційності даних
Джерела: NIST: визначення хмарних послуг та Proxmox VE: KVM і віртуальні машини.