Google Compute Engine (GCE) — це компонент інфраструктури як послуги який дає змогу користувачам запускати віртуальні машини на інфраструктурі Google. GCE пропонує гнучкі налаштування віртуальних машин, як то масштабованість, спектр завантажувальних образів, включно з образами створених користувачами, висока доступність, мережеві налаштування, управління та аналітика використання. Доступ до управління Google Compute Engine доступний через консоль розробників, API або утиліту командного рядка gcloud. Щодо оплати використовується принцип pay-as-you-go, плата за послуги відбувається за той час, коли віртуальна машина запущена, за вимкнутий екземпляр віртуальної машини нараховується плата лише за деякі компоненти, такі як персистентні диски. Користувач має повний контроль над своїми віртуальними машинами, в тому числі доступ в операційну систему для віддаленого адміністрування. Послуга схожа на віртуальний виділений сервер, але з додатковими послугами в складі Google Cloud Platform.

Google Compute Engine
Тип Віртуальний виділений сервер
Автор Google, Inc.
Розробник Google
Доступні мови English
Стан розробки Active
Ліцензія Proprietary software
Вебсайт cloud.google.com/compute/

Віртуальна машина в контексті хмарних обчислень називається екземпляром (англ. instance), або часто використовується транслітерація терміну - інстанс.

Історія ред.

З розвитком технологій віртуалізації операційних систем зростає й популярність хостингу віртуальних машин. Спочатку ці технології застосовувались переважно для внутрішніх потреб компаній, але згодом стали фундаментом для створення хмарної платформи Google Cloud Platform. В 2010 році[1] ґрунтуючись на системі віртуалізації KVM, Google розпочав роботу над Google Compute Engine, який наразі є одним з головних компонентів інфраструктури як послуги GCP, де фактично виконуються інші продукти, такі як Kubernetes Engine, App Engine and Cloud SQL.

28 червня 2012 року на Google I/O 2012 Google анонсував Compute Engine в обмеженому режимі.

25 лютого 2013 року Google оголосив, що RightScale став надавати послуги підтримки в GCE. Для GCP це була важлива новина на 2013 рік, оскільки RightScale була відома рішеннями для управління хмарними середовищами.[2]

У квітні 2013 року GCE став доступним лише для обмеженого кола клієнтів, які мають Золотий Пакет Підтримки.

Під час Google I/O 2013 було оголошено багато функцій, включаючи погодинний білінг, віртуальні машини зі спільними ядрами, більше видів постійних віртуальних дисків, поліпшення програмно-конфігурованих мереж, анонсована сертифікація ISO/IEC 27001.

15 травня 2013 року послуга GCE стала доступною для дуже широкого кола користувачів.

7 серпня 2013 року стало доступним балансування навантаження на мережевому рівні (IP).

2 грудня 2013 року компанія Google оголосила, що GCE загалом доступна. Також з'явилась підтримка живої міграція віртуальних машин. Кількість віртуальних процесорів збільшилось до 16, віртуальна дискова підсистема стала швидше більш швидкі а також знизилась ціна для ціну стандартних віртуальних машин.

18 червня 2014 року компанія Google оголосила про підтримку персистентних дисків SSD. Ці диски забезпечують до 30 IOPS на ГБ, що на 20х більше записують IOPS і 100x більше читають IOPS, ніж стандартні персистентні диски.

13 липня 2022 року підтримка архітектури ARM (64-бітна архітектура Ampere)[3].

Типи машин ред.

Віртуальні машини Google Compute Engine використовують гіпервізор KVM[1] для віртуалізації 64-бітної архітектури x86 (AMD EPYC, Intel Xeon). Віртуальні машини завантажуються з постійного диска, на якому розміщена коренева файлова система. Кількість ресурсів, таких як процесори, та обсяг оперативної пам'яті залежать від обраного типу машини. GCE підтримує завантаження операційних систем Linux, Microsoft Windows.

2022 року з'явилась підтримка 64-бітної архітектури Arm 64 Ampere, яка підтримує образи деякі образи Linux, та не підтримує деякі розширення та технології, що доступні для x86 (не підтримує Windows, віртуальний дисплей, деякі види дискових сховищ, вкладену віртуалізацію)[4]

Типи машин діляться за призначенням:

  • Загальне призначення — для загального призначення
  • Сховище — для зберігання даних, без високого навантаження на процесор (експериментальна на 2024 рік)
  • Обчислення на процесорах — оптимізовані під високе навантаження на процесори
  • Обчислення в пам'яті — оптимізовані під задачі які потребують багато оперативної пам'яті. Дозволяють створювати екземпляри до з 12 ТіБ оперативної пам'яті
  • Графічні та ШІ-прискорювачі — Дозволяють використовувати графічні прискорювачі. Підходять для задач які можна виконувати з допомогою CUDA такі як високопродуктивні обчислення та ШІ

Персистентні диски ред.

Кожен екземпляр GCE завантажується з дискового пристрою, який називається персистентним (постійним) диском. Цей диск забезпечує дисковий простір для екземпляра та містить кореневу файлову систему. За замовчуванням GCE використовує SCSI для підключення цих дисків.

Також можна розширяти або додавати інші диски до віртуальної машини. При типовому використанні на персистентному диску буде таблиця розбиття (GPT/MBR), створений розділ, розділ відформатовано в файлову систему, та файлова система буде змонтована. Можливо використання LVM для Linux.

Диски підтримують додаткові функції, такі як снапшот та клонування. Є можливість від'єднати диск від однієї машини та приєднати до іншої.

GCE пропонує широкий спектр варіантів зберігання даних, що відрізняються продуктивністю, вартістю та призначенням:[5]

  • Balanced Persistent Disk (PD-balanced) - збалансований варіант між швидкістю та вартістю. Він підходить для різноманітних робочих навантажень, де потрібна як певна швидкість читання/запису, так і економічна ефективність.
  • Persistent Disk Standard (PD-standard) - тип диска пропонує найнижчу ціну за одиницю зберігання, але має найповільнішу швидкість читання/запису. Він підходить для даних, до яких рідко звертаються, наприклад, для резервних копій або архівів.
  • Persistent Disk Extreme (PD-extreme) - диск призначений для робочих навантажень із високими вимогами до IOPS (операцій вводу/виводу за секунду). Він ідеально підходить для баз даних із високою продуктивністю або інших програм, що потребують швидкого виконання операцій з даними.
  • Persistent Disk Hyperdisk - Hyperdisk створений для критично важливих робочих навантажень, що вимагають надзвичайно високої доступності та продуктивності. Вони пропонують низьку затримку та високу пропускну здатність.
  • Balanced Hyperdisk - Hyperdisk що пропонує баланс між ціною та продуктивністю, подібно до стандартного збалансованого диска, але з кращими показниками.
  • Extreme Hyperdisk Throughput - Hyperdisk оптимізований для робочих навантажень, що потребують максимально високої пропускної здатності (передачі великих обсягів даних за короткий час).
  • Local SSDs: - Локальні твердотілі накопичувачі доступні лише для віртуальних машин, розміщених на машинах з локальними SSD. Вони забезпечують найвищу швидкість читання/запису серед усіх типів дисків GCP, але дані на них не є персистентними, після зупинки віртуальної машини дані втрачаються.

Станом на 2024 рік більшість дисків можуть мати розмір від 10 ГБ, до 64 ТіБ на диск, мають та 257-512ТіБ сумарно на віртуальну машину. Деякі типи дисків мають інші обмеження, наприклад PD-extreme можуть бути від 500 ГБ, Balanced Hyperdisk - від 4ГБ, локальні твердотілі накопичувачі можуть бути не більше 36 ТБ, та також залежить від типа машини .

Образи ред.

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

На 2024 рік GCE надає такі проекти образів linux: CentOS, Container-Optimized OS, Debian, Fedora CoreOS, RHEL, Rocky Linux, SLES, Ubuntu LTS, Ubuntu PRO, також є Windows Server, Windows client, та окремі проекти Microsoft SQL Server для Windows та Microsoft SQL Server для Linux.[6]

Деякі операційні системи не доступні для відповідних типів інстансів, наприклад продукти Microsoft не підтримуються на ARM-процесорах. Операційні системи з підтримкою це Ubuntu PRO, SLES та Microsoft мають особливості пов'язані з ліцензуванням та підтримкою, ви маєте купити ліцензію прямо на GCP, або маєте можливість застосувати свою ліцензію. Про це окремо описано в документації.

Також користувач може створити свої образи на базі створених віртуальних машин та змінених своїми налаштуваннями. Можливо також створення образа операційної системи користувачем якої немає в переліку публічних образів, для такого є перелік вимог.[7]

Образи диска належать до глобальних ресурсів в сенсі регіонів та зон, що означає, що образи неявно доступні в усіх регіонах і зонах Google Cloud Platform.[8] Це дозволяє уникнути необхідності експорту та імпорту образів між регіонами.

Мережа ред.

В GCE для мережева взаємодія відбувається в мережі Віртуальної Приватної Хмари (Virtual Private Cloud network VPC). Хоча VPC не є частиною Google Cloud Engine, проте це необхідний компонент інфраструктури як послуги який забезпечує функціональність мережі для Compute Engine, Google Kubernetes Engine та безсерверних обчислень. Ця мережа пропонує глобальну, масштабовану та гнучку інфраструктуру для хмарних ресурсів і сервісів у хмарному середовищі Google Cloud. VPC network складається зі списку регіональних віртуальних підмереж (subnet) в дата-центрах, які з'єднані глобальною мережею WAN, і логічно ізольована. Це забезпечує керування мережевим трафіком, дозволяє формувати правила безпеки. Кожен інстанс GCE належить лише одній мережі і спілкується через загальнодоступну IP-адресу яка призначається в цій мережі.

Коли створюється інстанс GCE, IP-адреса автоматично призначається екземпляру за замовчуванням. Ця адреса прикріплюється до екземпляра протягом всього життя екземпляра і вивільняється після видалення екземпляра. GCE також забезпечує механізм резервування та приєднання статичних IP-адрес до віртуальних машин.

Додаткові можливості VPC включають вбудовані внутрішні балансувальники навантаження, підключення до локальних мереж через тунелі Cloud VPN та VLAN-підключення для Cloud Interconnect, а також розподіл трафіку з зовнішніх балансувальників навантаження Google Cloud до бекендів.

Додатково, використання VPC в Google Cloud дозволяє користувачам налаштовувати мережі з урахуванням конкретних потреб їхнього хмарного середовища. Оскільки кожен проект може мати кілька мереж, користувачі можуть створювати і керувати різними мережами з різними конфігураціями та правилами брандмауера в межах одного проекту. Такий підхід дозволяє гнучко налаштовувати мережеву інфраструктуру відповідно до вимог конкретних додатків та сервісів.

Брандмауер

Правила брандмауера за замовчуванням налаштовується за допомогою Тегів. На стороні ресурсів як GCE та інші визначаються теги та їх значення, на стороні VPC конфігуруються правила на базі селекторів. Також можливо налаштувати класичні правила по ip-адресам, та їх діапазонам.

Регіони та зони ред.

Регіон позначає географічне розташування інфраструктури Google. Кожен регіон відповідає місту де розташований центр обробки даних. В кожному регіоні розташовується деяка кількість зон, зазвичай 3 позначених літерою. Повна назва зони виглядає так europe-north1-a де europe - це континент, europe-north1 назва регіону. Користувачі можуть обирати зону для розгортання ресурсів в доступних регіонах. Основні фактори, які впливають на вибір зони це географічна близькість до клієнтів для мінімізації затримки. Проте перелік доступних сервісів, наявних архітектур CPU, доступних машин з прискорювачами, тощо, а також ціни на послуги GCP можуть також відрізнятися в залежності від регіону та зони.

Континенти мають наступне кодування:

  • africa- Африка
  • asia - Південно-східна Азія, та тихий океан
  • europe - Європа
  • me (middle east) - Середня та південна Азія
  • northamerica - Північна Америка
  • southamerica - Південна Америка

Станом на 2024 рік доступно 40 регіонів та 121 зону.[9]

Межі можливостей ресурсів ред.

Ресурси Google Compute Engine поділяються на три категорії: глобальні, регіональні та зональні. Наприклад, IP-адреси є регіональним ресурсом. Користувач може використовувати конкретну IP-адресу тільки для віртуальних машин, запущених в одній із зон того самого регіону, де розміщена ця адреса. Зональні ресурси доступні лише у конкретній зоні. Наприклад, самі інстанси та їх диски.

У таблиці нижче наведено межі можливостей ресурсів GCE:

Область застосування Ресурс
Глобальний Образ
Глобальний Снапшот
Глобальний Мережа
Глобальний Брандмауер
Глобальний Маршрут
Регіон Адреса
Зона Інстанс
Зона Тип машини
Зона Диск

Особливості ред.

Модель виставлення рахунків та ціноутворення ред.

Мінімальна тарифікація за віртуальну машину 10 хвилин, наступні хвилини тарифікуються похвилинно.[10] Система постійного ціноутворення, що базується на фактичному використанні, надає знижки клієнтам в залежності від місячного обсягу використання.[11][12]

Google Compute Engine пропонує знижки за довгострокове використання інстанс. Як тільки екземпляр працює понад 25 % платіжного циклу (зазвичай місяць), ціна починає знижуватися:

  • якщо екземпляр використовується на 50 % місяця, то отримуватиме 10 % знижку від цін на запитом
  • якщо екземпляр використовується протягом 75 % місяця, можна отримати знижку в розмірі 20 % від ціни за запитом
  • якщо екземпляр використовується на 100 % місяця, можна отримати знижку в розмірі 30 % від ціни за запитом

Прозоре обслуговування ред.

Під час планового обслуговування в центрах обробки даних Google, Compute Engine може автоматично мігрувати віртуальні машини з одного апаратного хоста на інший без активних запитів на це від користувачів.[13][14]

Список літератури ред.

  1. а б Metz, Cade (3 липня 2012). Google Shaman Explains Mysteries of ‘Compute Engine’. Wired. Архів оригіналу за 14 листопада 2020. Процитовано 26 вересня 2016.
  2. Barb Darrow (25 лютого 2013). Exclusive: RightScale is first to resell, support Google Compute Engine. Gigaom blog. Архів оригіналу за 27 лютого 2013. Процитовано 5 липня 2013.
  3. Ampere® Altra® based T2A VMs now in preview on Google Cloud. amperecomputing.com (англ.). Процитовано 15 квітня 2024.
  4. General-purpose machine family for Compute Engine | Compute Engine Documentation. Google Cloud (англ.). Процитовано 15 квітня 2024.
  5. Storage options | Compute Engine Documentation. Google Cloud (англ.). Процитовано 15 квітня 2024.
  6. Operating system details | Compute Engine Documentation. Google Cloud (англ.). Процитовано 15 квітня 2024.
  7. Requirements to build custom images | Compute Engine Documentation. Google Cloud (англ.). Процитовано 15 квітня 2024.
  8. Global Resources. Google Compute Engine Documentation. Google. Архів оригіналу за 26 квітня 2016. Процитовано 6 квітня 2014.
  9. Global Locations - Regions & Zones. Google Cloud (англ.). Процитовано 15 квітня 2024.
  10. Buttler, Brandon. Google rolls out by-the-minute cloud billing, introduces a new NoSQL database. NetworkWorld. Архів оригіналу за 30 July 2013. Процитовано 6 квітня 2014.
  11. Joneja, Navneet. Introducing Sustained Use Discounts - Automatically pay less for sustained workloads on Compute Engine. Google Cloud Blog. Google. Архів оригіналу за 5 березня 2016. Процитовано 6 квітня 2014.
  12. Babcock, Charles (28 березня 2014). Google Wins In Amazon Cloud Price Battle. InformationWeek. Архів оригіналу за 25 жовтня 2020. Процитовано 6 квітня 2014.
  13. Adler, Brian. Google Compute Engine Live Migration Passes the Test. RightScale Blog. RightScale. Архів оригіналу за 27 квітня 2019. Процитовано 6 квітня 2014.
  14. Leong, Lydia. Google Compute Engine and live migration. Blog. Архів оригіналу за 14 листопада 2013. Процитовано 1 липня 2019.

Посилання ред.