Хмарна віртуальна машина виглядає для користувача як звичайний сервер: на ній можна встановити операційну систему, розгорнути сайт чи базу даних і підключитися по SSH. Усередині, однак, стоїть шар програмного забезпечення, який ділить фізичне залізо дата-центру між десятками клієнтів одночасно. Ця стаття пояснює, з яких частин складається хмарна віртуалізація, чим вона відрізняється від виділеного сервера і коли її варто обирати.
Що таке віртуалізація в хмарі
В основі будь-якої хмарної платформи лежить гіпервізор — програма, яка керує фізичним процесором, пам'яттю і диском сервера та розподіляє їх між віртуальними машинами. Гіпервізор створює для кожної машини ілюзію окремого комп'ютера: власна віртуальна материнська плата, власний блок пам'яті, власний віртуальний диск. Клієнт працює з цією віртуальною машиною так, ніби вона фізична, хоча на одному й тому самому фізичному вузлі може одночасно працювати кілька десятків таких машин.
Хмарний провайдер додає поверх гіпервізора ще один шар — систему керування, яка вміє швидко створювати, зупиняти, переносити і видаляти віртуальні машини за запитом через панель або API. Саме це відрізняє хмару від звичайної віртуалізації: ресурс виділяється і звільняється майже миттєво, без фізичного доступу до обладнання.
Як влаштована віртуалізація: гіпервізори першого і другого типу
Гіпервізори першого типу працюють напряму на залізі, без проміжної операційної системи — так влаштовані KVM, Proxmox VE і більшість серверних платформ віртуалізації. Гіпервізор другого типу запускається поверх уже встановленої ОС, як звичайний застосунок, і частіше трапляється на робочих станціях, а не в дата-центрах. Хмарні провайдери майже завжди використовують тип 1: він дає прямий доступ до апаратних можливостей процесора і менше накладних витрат на кожну віртуальну машину.
Перевірити, які віртуальні машини запущені на вузлі віртуалізації, адміністратор може прямо з консолі гіпервізора:
qm list
virsh list --all
Перша команда — для Proxmox VE, друга — універсальний спосіб для платформ на основі libvirt. Детальніше про те, як влаштована сама платформа Proxmox, можна прочитати у статті «Proxmox: що це таке».
Хмарна віртуальна машина і виділений сервер: у чому різниця
Перш ніж обирати між хмарою і фізичним сервером, корисно порівняти їх за ключовими параметрами — саме ці відмінності визначають, яке завдання вирішує кожен варіант.
| Параметр | Хмарна віртуальна машина | Виділений сервер |
|---|---|---|
| Масштабування ресурсів | Змінюється через панель без простою або з коротким перезапуском | Потребує заміни чи додавання фізичних компонентів |
| Ізоляція ресурсів | Логічна, на рівні гіпервізора | Фізична — усе обладнання належить одному клієнту |
| Швидкість розгортання | Нова машина створюється за хвилини | Залежить від наявності вільного фізичного вузла |
| Контроль над обладнанням | Обмежений шаром гіпервізора | Повний, аж до налаштувань BIOS |
Докладне порівняння самої віртуалізації на фізичному сервері наведено у статті «Віртуалізація на виділеному сервері» — вона знадобиться, якщо рішення врешті схиляється до власного заліза.
Коли варто обирати хмарну віртуалізацію
Хмарна модель добре підходить не для будь-якого завдання, а для певного набору сценаріїв, де важливі гнучкість і швидкість змін:
- Тестові та staging-середовища, які живуть від кількох годин до кількох тижнів
- Проєкти зі змінним навантаженням, де заздалегідь невідомо, скільки ресурсів знадобиться через місяць
- Резервні й аварійні майданчики, які мають бути готові до швидкого розгортання
Для таких сценаріїв зручно одразу продумати спосіб публікації сервісу без відкриття вхідних портів на самій віртуальній машині — наприклад, через тунель, описаний у статті «Cloudflare Tunnel».
Що робити: як обрати хмарну віртуальну машину
Щоб підібрати конфігурацію свідомо, а не методом спроб, варто пройти кілька кроків перед замовленням.
- Оцінити реальне навантаження: кількість одночасних відвідувачів, обсяг бази даних, вимоги застосунку до оперативної пам'яті
- Визначити, чи потрібна можливість швидко збільшувати ресурси без перевстановлення системи
- Перевірити, який гіпервізор використовує провайдер і які типи віртуалізації він підтримує на рівні процесора
- Порівняти запропоновану модель з варіантом виділеного сервера, якщо навантаження стабільне і передбачуване
- Налаштувати резервне копіювання знімків віртуальної машини на рівні гіпервізора, а не лише всередині гостьової системи
Часті питання
Чим хмарна віртуальна машина відрізняється від звичайного VPS?
Технічно це один і той самий принцип — віртуальна машина на спільному фізичному вузлі. Термін «хмара» частіше підкреслює гнучке керування через панель або API і можливість швидко змінювати ресурси, тоді як «VPS» історично описує фіксований тарифний план із постійною конфігурацією.
Чи можна встановити на хмарну віртуальну машину будь-яку операційну систему?
Зазвичай провайдер пропонує перелік готових образів, але багато платформ віртуалізації дозволяють завантажити власний ISO-образ і встановити систему вручну, якщо гіпервізор підтримує потрібний тип віртуального обладнання.
Чи втрачає віртуальна машина у продуктивності через гіпервізор?
За апаратної підтримки віртуалізації на рівні процесора накладні витрати гіпервізора на обчислення мінімальні. Більше впливає те, скільки інших віртуальних машин конкурує за ті самі фізичні ресурси на одному вузлі.