ru:https://highload.today/blogs/kak-ispolzuyut-oblaka-v-it-vse-chto-vy-hoteli-znat-ob-oblachnyh-tehnologiyah/ ua:https://highload.today/uk/blogs/yak-vikoristovuyut-hmari-v-it-vse-shho-vi-hotili-znati-pro-hmarni-tehnologiyi/
logo
Хмари      19/12/2022

Як використовують хмари в IT: все, що ви хотіли знати про хмарні технології

Юрій Швидкий BLOG

Data Engineer в NIX

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

Що таке хмарні технології

Термін «хмара» (з англ. — cloud) використовується для абстрактного опису віддаленого сервера з доступом через мережу. Коли потрібно позначити такі сервери схематично чи на мережевих діаграмах, то зображують саме хмару.

Пересічним користувачам хмару описують як усе те, що має доступ через мережу інтернет.

Коли кажуть, що щось зберігається у хмарі, мається на увазі — на віддаленому сервері.

Інший пов’язаний термін — це хмарні обчислення (Cloud Computing). Приблизно півстоліття тому почали говорити про хмарні обчислення як одну з форм публічного сервісу (public utility) яка, наприклад, як і у випадку з електрикою, одного дня слугуватиме для вирішення повсякденних задач.

Із розвитком вебтехнологій, широкосмугового доступу, заліза серверів, різних технологій кластерінгу та грід-обчислень, віртуалізації та мультиарендності така форма публічного сервісу стала доступною сьогодні.

Існує багато визначень терміну Cloud Computing, зокрема досить влучні від Gartner Glossary або Forrester Research. Найбільш вдалим мені здається визначення NIST (National Institute of Standards and Technology).

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

В NIST також визначили п’ять основних характеристик хмарних сервісів:

Онлайн-курс "Створення текстів" від Skvot.
Великий практичний курс для розвитку скілів письма та створення історій, які хочеться перечитувати Результат курсу — портфоліо з 9 робіт та готовність братися за тексти будь-яких форматів.
Детальніше про курс
  • On-demand self-service. Користувач може самостійно виділити та керувати обчислювальними ресурсами (за необхідності автоматизувати цей процес) без комунікації з провайдером.
  • Broad network access. Ресурси мають бути доступні в мережі.
  • Resource pooling. Загальний пул ресурсів одночасно можуть використовувати декілька юзерів, мультиарендність.
  • Rapid elasticity. Хмарна модель повинна вміти оперативно і за необхідності автоматично масштабуватися відповідно до навантаження.
  • Measured service. Відстеження та вимірювання використання хмарних послуг дозволяє розрахувати та стягнути плату за послугу.

NIST розглядає Cloud Computing з точки зору трьох сервіс-моделей. Це набір компонентів для розробки продукту: від налаштування низькорівневої інфраструктури до готових до використання бізнес-компонентів.

Infrastructure as a Service

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

Замовник опікується лише тими компонентами, що лежать над гіпервізером. Тобто він ізолюються від заліза, займається налаштуванням операційної системи, файловою системою сховища,  деплоєм застосунку або контейнера. Як приклад, до рішень IaaS належать Compute Engine від Google та EC2 від Amazon, сервіси DigitalOcean провайдера.

Platform as a Service

Провайдер займається налаштуванням мережі, ОС, сховища тощо. Тут все залежить від потреби клієнта. Замовнику залишається «прошарок» для розгортання та запуску застосунка, де можна описати бізнес-логіку виконання.

Основи Web дизайну від Ithillel.
Цей онлайн-курс з основ веб-дизайну дозволить вам опанувати мистецтво створення ефективних та привабливих інтерфейсів для вебсайтів і застосунків. Ви оволодієте ключовими принципами UX/UI дизайну, створюватимете дизайн-макети та прототипи, розроблятимете адаптивні інтерфейси для різних пристроїв, готуючись до професійної кар'єри в галузі веб-дизайну.
Дізнатися більше

Як приклад, можна підняти базу даних та відповідати за логіку наповнення БД, її модель, схему. У цьому випадку провайдер стежить за масштабуванням, розміром дисків, бекапом бази, балансуванням навантаження і так далі. В якості прикладів PaaS можу згадати Pub/Sub від GCP та Kinesis від Amazon, сервіси Heroku провайдера

Software as a Service

Провайдер продає готовий до використання продукт, який можна кастомізувати в рамках наявної платформи. Таких продуктів багато. Це можуть бути сервіси для бізнес-аналітики, де не потрібно з нуля дбати про інфраструктуру та писати код-базу продукту, а можна використовувати наявний інтерфейс. Іншими прикладами є Google Apps, Salesforce, GitHub, Jira.

За допомогою цієї ілюстрації можете побачити, які компетенції належать провайдеру, а які — команді підтримки продукту:

Стосовно першої колонки On premises — тут немає провайдера, який допоможе розгорнути систему з нуля. Користувачу треба самостійно займатися всіма аспектами своєї системи. Переважно це сильна команда інфраструктури, яка опікується залізом, мережею, організацією дата-центрів, можливо, ще й ПО для створення віртуалок і насамкінець — розробкою застосунка.

У випадку IaaS вимоги трохи простіші. Зазвичай тут оперує DevOps-команда. Ці фахівці розгортають рівень, який забезпечує виконання системи. Тут налаштовуються CI/CD процеси, відбувається їх підтримка, моніторинг, налаштування наявних інструментів для створення віртуалок, контейнерів — тобто середовище виконання.

NIST виділяє чотири моделі розгортання у хмарі:

  1. Public cloud. Користувачі з будь-якої точки світу підключаються до клауду для управління обчислювальними ресурсами в дата-центрі через відкритий інтерфейс.
  2. Private cloud. Інфраструктура в межах однієї компанії, яка з певних причин не може піти у публічну хмару, має свій цод. Доступ до клауду можливий лише всередині цієї компанії.
  3. Онлайн-курс "Фінансовий директор" від Laba.
    Опануйте інструменти управління грошовими потоками, ризиками та активами компанії, щоби перейти на посаду CFO.
    Приєднатися до курсу
  4. Community cloud. Являє собою поєднання кількох організацій або громад, які створили єдину хмару для вирішення конкретних завдань. Може бути розгорнута як у приватній так і в публічній хмарі.
  5. Hybrid cloud. Це комбінація трьох попередніх моделей. Найчастіше це Private- та Public-клауди, інтегровані через VPN-тунель. Подібна схема використовується у різних ситуаціях. Наприклад, компанія має дешеві сервери в Private для зберігання чутливих даних. При цьому компанія раз на місяць має потребу у важких обчисленнях. Та лише заради цього купувати дорогий сервер недоцільно. Тому такі операції вигідніше запускати в Public і сплачувати за фактичне використання обладнання.

Лідери ринку cloud-технологій

Один із перших Cloud Computing провайдерів була компанія Salesforce. Наприкінці 1990-х компанія почала надавати свої віддалені сервери для комерційного використання. Згодом до них приєднався Amazon, запустивши у 2002 році Amazon Web Services. У 2010 році на ринку з’явилася платформа Microsoft Azure, а через три роки — Google Cloud Platform.  

Посилаючись на цьогорічне дослідження Gartner, найпопулярнішими провайдерами хмарних послуг є Amazon Web Services, Azure від Microsoft та Google Cloud Platform (уже кілька років поспіль). Розглянемо трохи детальніше кожен з них.

1Amazon Web Services

Найбільш зрілий та перевірений постачальник. Відповідно до рекомендацій щодо використання — нічого конкретного, оскільки якщо продукт, не важливо складної чи простої архітектури, можна запустити у віртуалізованому середовищі, це можна зробити і в AWS.

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

Серед недоліків — багате різноманіття сервісів, які потребують глибокої технічної експертизи при виборі. У той же час AWS — це велика платформа, де щось постійно доопрацьовується, змінюється з точки зору технологій та практик. А це створює труднощі навіть для найбільш гнучких команд. Також є деякі сирі сервіси з точки зору комерційного використання (хоча по ним надаються знижки).

2Azure

Платформа надає трохи менше, ніж AWS. Та її головна перевага — широка інтеграція з продуктами материнської компанії та різноманітні партнерські програми (VMware, NetApp, Red Hat, Cray, Databricks і так далі). Також в Azure активно розвиваються напрями Edge computing та IoT.

За даними Gartner, до недоліків платформи часто відносять зауваження клієнтів на періодичні проблеми з SLA у критичних сервісах, складнощі під час укладання комерційних контрактів та недостатню якість платної технічної підтримки.

Курс Fullstack Web Development від Mate academy.
Стань універсальним розробником, який може створювати веб-рішення з нуля.
Дізнатись про курс

3Google Cloud Platform

Основні можливості подібні до AWS та Azure. У тому ж дослідженні Gartner особливо виділили акцент платформи на роботу з Big Data, Machine Learning та аналітикою. А ще в Google пропонують вигідніші умови, що пояснюється бажанням залучити частину ринку. Щоправда, іноді це створює складнощі для клієнтів. GCP може переводити замовників на інші тарифні сітки пізніше, вже під час роботи з користувачем. До мінусів можна віднести деякі труднощі у співпраці з ентерпрайз-компаніями. Це більше пов’язано зі швидким зростанням та організаційною незрілістю платформи.

Можливості різних клауд-провайдерів схожі. Різниця лише в особливостях використання тих чи інших сервісів. Розглянемо поширений приклад дата пайплайну — коли необхідно організувати роботу з великим масивом даних. Основними сервісами можуть бути:

  • Object storage — розподілене сховище, яка не накладає обмежень на формат зберігання об’єктів. Дозволяє налаштувати життєвий процес даних: реплікацію, розміщення у певних регіонах тощо. В AWS для цього використовується сховище S3, в Azure — Blob Storage, в GCP — Cloud Storage.
  • Message queue — у кожної системи для роботи з даними повинна бути своя «кровоносна система», яка дозволяє переміщувати дані між різними сервісами. До цієї категорії належать Kinesis/Managed Kafka в AWS, Storage Queues в Azure та Pub/Sub у Google Cloud Platform.
  • Data ingestion tool — використовується для інтеграції внутрішніх сервісів обробки даних із будь-яким джерелом даних. Це Glue в AWS, Data Factory в Azure та Cloud Data Fusion на базі GCP.
  • Compute engine — зазвичай це сервер, в який інтегрований фреймворк на кшталт Spark, Link чи Storm для роботи з даними у великих масштабах. Йдеться не просто про переміщення даних, а про реалізацію конкретних бізнес-завдань. Наприклад, прогону ML-моделей, аналітики тощо. В AWS для цього маємо EMR, в Azure — Data Explorer, в Google Cloud Platform — Dataflow/Dataproc.
  • MPP SQL DB — база даних, яка реалізує патерн паралельної обробки. З її допомогою можна підготувати та проаналізувати дані без втрати масштабу. Дозволяє аналітикам працювати через SQL-інтерфейс. Однак це не традиційна БД, оскільки шари зберігання та обробки розділені. Це ніби двигун для трансляції SQL-запиту в розподілений застосунок, який виконує з даними певну операцію. До прикладу, це Redshift/Athena (AWS), Synapse Analytics (Azure), BigQuery (GCP).
  • Operational DB — застосовуються для вивантаження даних, що використовуються найчастіше. Зазвичай їх небагато, і тому немає сенсу використовувати MPP SQL DB і завантажувати її постійними реквестами, які є досить дорогими, враховуючи їх ціну використання. Приклади операційних БД: BigTable(KV), Spanner(SQL)(GCP); DynamoDB(KV), Aurora(SQL)(AWS); CosmosDB(KV), Azure SQL(SQL)(Azure) тощо.
  • Orchestration tools — необхідні для управління складними процесами із заданим порядком виконання тасків. З їх допомогою можна, скажімо, додавати логіку на тому чи іншому етапі. У кожного провайдера свої інструменти оркестрації. В AWS це Data Pipeline, Azure має Data Factory, а у GCP є Composer.
  • Онлайн-курс "2D Animation" від Skvot.
    Покроково та з фідбеком від лекторки увійдіть у 2D-анімацію через вивчення софтів, інструментів та створення кейсу у портфоліо.
    Програма курсу та реєстрація

Усі ці сервіси розгорнуті навколо таких основних компонентів клауду, як нетворкінг, комп’ютинг та IAM (Identity & Access Management).

Підсумки

Тож підіб’ємо невеликий підсумок. Система у хмарі складається із сервісів. За винятком технічних деталей і термінології, кожен провайдер має набір схожих сервісів. Знаючи, як побудувати рішення на одному клауді, ви вже зможете побудувати схоже на іншому.

Наступна моя стаття на Highload буде присвячена бізнес-драйверам та ризикам міграції в хмару, а також best practices у проєктуванні хмарних застосунків. Тож не пропустіть!

Якщо ви знайшли помилку, будь ласка, виділіть фрагмент тексту та натисніть Ctrl+Enter.

Англійська для початківців від Englishdom.
Для тих, хто тільки починає вивчати англійську і хоче вміти використовувати базову лексику і граматику.
Реєстрація на курс

Цей матеріал – не редакційний, це – особиста думка його автора. Редакція може не поділяти цю думку.

Топ-5 найпопулярніших блогерів березня

PHP Developer в ScrumLaunch
Всего просмотровВсього переглядів
2434
#1
Всего просмотровВсього переглядів
2434
Founder at Shallwe, Python Software Engineer (Django/React)
Всего просмотровВсього переглядів
113
#2
Всего просмотровВсього переглядів
113
Career Consultant в GoIT
Всего просмотровВсього переглядів
95
#3
Всего просмотровВсього переглядів
95
CEO & Founder в Trustee
Всего просмотровВсього переглядів
94
#4
Всего просмотровВсього переглядів
94
Рейтинг блогерів

Найбільш обговорювані статті

Топ текстів

Ваша жалоба отправлена модератору

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: