No history yet

Основи архітектури хмарних платформ

Будівельні блоки хмари

Хмарна платформа — це не просто один великий комп'ютер. Це складна система, побудована з різних компонентів, що працюють разом, як злагоджений механізм. Розуміння цих основних будівельних блоків є ключовим для ефективного використання хмарних технологій. Давайте розглянемо чотири основні стовпи: обчислювальні ресурси, мережу, сховище та сервіси.

Обчислювальні ресурси: Мозок операції

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

Віртуальні машини (ВМ) Це найпростіший для розуміння варіант. Віртуальна машина — це повний емульований комп'ютер зі своєю операційною системою (ОС), процесором, пам'яттю та сховищем. Уявіть собі великий фізичний сервер у дата-центрі, поділений на кілька незалежних віртуальних комп'ютерів. Ви отримуєте повний контроль над своєю ВМ, наче це ваш власний фізичний сервер.

Контейнери Контейнери є легшою альтернативою ВМ. Замість того, щоб емулювати цілий комп'ютер, контейнер пакує лише застосунок та його залежності. Всі контейнери на одному хості спільно використовують ядро операційної системи хоста. Це робить їх набагато швидшими для запуску та ефективнішими у використанні ресурсів. Найпопулярнішою технологією для роботи з контейнерами є Docker.

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

Мережа: Сполучна тканина

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

Віртуальні мережі та підмережі Віртуальна мережа (VNet) — це ваш приватний, ізольований простір у хмарі. Ви можете розділити VNet на менші сегменти, які називаються підмережами. Це дозволяє групувати пов'язані ресурси (наприклад, веб-сервери в одній підмережі, а бази даних — в іншій) та застосовувати до них різні правила безпеки.

Балансувальники навантаження Коли ваш застосунок стає популярним, один сервер може не впоратися з трафіком. Балансувальник навантаження автоматично розподіляє вхідні запити між кількома серверами. Це не тільки підвищує продуктивність, але й забезпечує високу доступність: якщо один сервер виходить з ладу, балансувальник просто перенаправляє трафік на інші.

Lesson image

Сховище: Цифрова пам'ять

Дані потрібно десь зберігати. Хмарні платформи пропонують різні типи сховищ, оптимізовані для різних завдань.

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

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

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

Тип сховищаОсновне використанняАналогія
БлочнеЖорсткий диск для ВМВнутрішній HDD комп'ютера
Об'єктнеЗберігання файлів (фото, відео)Безмежний цифровий склад
ФайловеСпільний доступ до файлівМережевий диск в офісі

Сервіси та віртуалізація

Окрім базових будівельних блоків, хмарні провайдери пропонують широкий спектр керованих сервісів. Це готові рішення, які позбавляють вас необхідності керувати інфраструктурою.

Приклади включають:

  • Бази даних як сервіс (DBaaS): Ви отримуєте повністю керовану базу даних (SQL або NoSQL), а провайдер дбає про налаштування, оновлення та резервне копіювання.
  • Черги повідомлень: Дозволяють різним частинам вашого застосунку асинхронно спілкуватися між собою, підвищуючи надійність системи.
  • Сервіси аналітики: Потужні інструменти для обробки та візуалізації великих обсягів даних.

В основі всього цього лежить віртуалізація. Це технологія, яка дозволяє одному фізичному комп'ютеру функціонувати як кілька віртуальних машин. Спеціальне програмне забезпечення, яке називається гіпервізором, створює та керує цими ВМ, розподіляючи між ними ресурси фізичного обладнання (процесор, пам'ять, сховище). Саме віртуалізація робить хмару гнучкою, масштабованою та економічно ефективною, дозволяючи багатьом клієнтам спільно використовувати одну й ту саму фізичну інфраструктуру, залишаючись при цьому повністю ізольованими один від одного.

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

Quiz Questions 1/6

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

Quiz Questions 2/6

Що є основною функцією балансувальника навантаження в хмарній архітектурі?

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