Народжені у хмарі – від Cloud Native застосунків до Cloud Native AI
2024-07-15
Створення застосунків з урахуванням їхньої роботи у хмарі стало вже звичною практикою. Сьогодні головні інновації зміщуються тут у бік ШІ, формуючи цілий новий напрямок — Cloud Native AI. У чому особливості цього підходу, які переваги та перспективи він несе?
Хмарні технології як самостійне явище розвиваються на масовому ринку вже майже два десятиліття. За цей час ставлення до них суттєво змінилося — з перспективної інновації вони перетворилися на один з основних й звичних інструментів бізнесу, ставши основою ІТ-інфраструктур багатьох компаній та організацій по всьому світі. На першому історичному етапі, зі зрозумілих причин, перехід у хмару вимагав від користувачів суттєвих зусиль, пов'язаних з адаптацією локальних застосунків до нового типу середовища.
З часом кордони поступово зникають й сьогодні Cloud Native (CN) — підхід, у якому програми одразу створюються з розрахунком на роботу в хмарі — є однією з найпопулярніших концепцій розробки ПЗ. Але світ ІТ не стоїть на місці — нещодавно розпочався черговий етап хмарної еволюції, коли ми можемо говорити вже про Cloud Native Artificial Intelligence. У CNAI з розрахунком на роботу у хмарі створюються вже цілі системи на основі штучного інтелекту та машинного навчання (AI/ML). Такий підхід надає низку переваг, недоступних раніше масовому користувачеві.
Що таке Cloud Native та до чого тут мікросервіси
Саме поняття Cloud Native має визначену дату появи – цей термін був застосований 20 березня 2013 року в описі першого релізу Docker – спеціального програмного забезпечення для автоматизації розгортання та управління додатками в середовищах на основі контейнерних технологій. Двома роками пізніше, у рамках некомерційної організації Linux Foundation було створено спеціальний міжнародний проєкт Cloud Native Computing Foundation. Своєю головною метою CNCF ставить сприяння розвитку контейнерних технологій з відкритим вихідним кодом та узгодження технічних питань у цій сфері. До речі, сертифікати CNCF має компанія De Novo.
Поняття Cloud Native, за визначенням CNCF, охоплює технології, що дозволяють організаціям створювати та запускати масштабовані програми в сучасних динамічних ІТ-середовищах, таких як публічні, приватні та гібридні хмари. Прикладом такого підходу є контейнери, мікросервіси, незмінна інфраструктура (підхід до управління розгортанням ПЗ, при якому компоненти замінюються, а не змінюються, при цьому програма або служба фактично розгортається заново при кожній зміні), декларативні API, мережі сервісів (це спосіб управління тим, як різні частини застосунка обмінюються даними один з одним). Особливу популярність підхід Cloud Native почав набирати у зв’язку з розвитком контейнерних технологій — LXC, Docker, Kubernetes (K8s) та інших.
У ширшому сенсі, під Cloud Native маються на увазі збалансовані хмарні системи, на основі мікросервісного та контейнерного підходів, які дозволяють створювати розподілені системи, стійкі до зовнішніх впливів, прозорі для користувача та добре керовані. У поєднанні з надійною автоматизацією вони дозволяють інженерам багаторазово вносити зміни з передбачуваним результатом та мінімальними витратами. Підхід Cloud Native фактично незамінний там, де, з тих чи інших причин, застосунки на базі традиційної монолітної архітектури не справляються з динамічними вимогами сучасного бізнес-ландшафту (й таких галузей стає дедалі більше).
Можна виділити кілька ключових особливостей CN:
- Мікросервісна архітектура. Застосунки складаються з дрібніших незалежних сервісів (служб), які можна розробляти, розгортати та масштабувати незалежно одна від одної, не порушуючи роботу інших сервісів та цілісність програми.
- Контейнеризація. Сервіси та програми, з усіма компонентами та залежностями (до останніх відносяться, наприклад, системні бібліотеки, сторонні пакети коду та ін.), «упаковані» у спеціальні програмні пакети — контейнери, що спрощує міграцію та розгортання в хмарному середовищі.
- Автоматизація конфігурування та спрощене керування. Забезпечує багаторазову повторюваність та передбачуваність результатів розгортання та налаштування застосунків без додаткових зусиль.
- Підвищена стійкість до відмов, гнучкість та масштабованість. Механізми надмірності й стійкості до відмови реалізуються вже на етапі розробки застосунків, для забезпечення безперебійної роботи в непередбачуваних ситуаціях. До того ж програми можуть легко масштабуватися в режимі реального часу, оптимізуючи використання ресурсів та підвищуючи економічну ефективність. Незалежні мікросервіси забезпечують швидші цикли розробки та прискорену адаптацію до змінних завдань.
- Автоматизація розгортання та безперервні оновлення. Конвеєри безперервної інтеграції та доставлення (Continuous Integration and Continuous Delivery
CI/CD) автоматизують процеси розгортання та оновлення ПЗ, скорочуючи кількість помилок, пов'язаних з людським фактором та прискорюючи процес виведення застосунків на ринок.
Підхід, Cloud Native сьогодні застосовується у багатьох галузях. Особливо популярний він там, де потрібні, сервіси чи застосунки високої доступності, які мають бути постійно працездатними — це, наприклад, платформи електронної комерції чи онлайн-банкінгу. Також CN добре показує себе там, де потрібна масштабованість ПЗ в режимі реального часу, а програми відчувають непередбачувані сплески навантаження (соціальні мережі, мобільні ігрові платформи тощо). Незамінний подібний підхід й для тих видів бізнесу, яким необхідно постійно повторювати ітерації та швидко випускати нові функції. Та, звичайно ж, підхід Cloud Native ідеально вписується у методологію DevOps, забезпечуючи співпрацю та автоматизацію взаємодії між командами розробки та експлуатації.
Cloud Native AI — сьогодення та майбутнє хмарних сервісів
Величезний попит на технології AI/ML призвів не лише до технологічного стрибка, а й до стрімкого зростання конкуренції у галузі розробки програмного забезпечення. Компанії прагнуть якнайшвидше отримати доступ до величезних обчислювальних ресурсів, середовищ розробки та платформ DevOps. Тому для більшості компаній саме хмари Cloud Native з їхньою гнучкістю, відмовостійкістю та масштабованістю стають основним середовищем для розробки інноваційних додатків та послуг. Водночас створення AI/ML-сервісів вимагає додаткових інструментів і підходів для забезпечення максимально швидкого навчання та розгортання ML-моделей, створення робочих прототипів, доступу до даних та обчислювальних ресурсів. Це призвело до появи Cloud Native Artificial Intelligence (CNAI) — нової концепції створення та розгортання у хмарах застосунків та робочих AI/ML-навантажень на основі принципів Cloud Native.
Як виявилося, саме підхід CN з його контейнеризацією та мікросервісами виявився дуже затребуваним для розгортання навантажень штучного інтелекту та моделей машинного навчання. Зокрема, завдяки Kubernetes, ML-моделі можна запакувати в контейнери, а потім розгорнути в кластерах K8s. Контейнеризація особливо важлива у випадку ШІ-застосунків та сервісів, оскільки різні моделі зазвичай потребують різних й часто суперечливих залежностей. Ізоляція цих залежностей усередині контейнерів забезпечує набагато більшу гнучкість при розгортанні рішень. Інструменти CN дозволяють швидко, зручно та ефективно розгортати AI/ML-навантаження, які можна без проблем адаптувати або масштабувати за потреби, без порушення цілісності всієї системи.
До того ж технології Kubernetes постійно розвиваються й вже підтримують, наприклад, спільне використання акселераторів GPU/TPU, які наразі дуже потрібні для прискорення робочих навантажень ШІ. Також ведеться робота щодо реалізації можливості використання пулів ресурсів за межами кластерів Kubernetes, що ще більше розширить сферу застосування концепції CNAI.
Традиційна розробка ШІ-застосунків часто пов'язана зі складним управлінням інфраструктурою, ізольованими конвеєрами даних та громіздкими процедурами розгортання. CNAI розв'язує ці проблеми, використовуючи принципи Cloud Native протягом усього життєвого циклу створення ПЗ. Так, використання комерційних хмарних платформ як інфраструктурної основи дозволяє компаніям сконцентруватися на цільових задачах розробки AI/ML-рішень та не турбуватися про працездатність середовища, в якому ці рішення будуть розгорнуті (за цю частину відповідає оператор хмарних сервісів). Мікросервісна архітектура, характерна для CNAI, дозволяє розділити складні робочі процеси ШІ на низку простіших складових, які, своєю чергою, можна розгортати масштабувати та змінювати незалежно одна від одної. Це дає необхідну гнучкість у процесі розробки ШІ-рішень. Технології контейнеризації (наприклад, Docker), та оркестрації контейнерів (Kubernetes) забезпечують можливість безшовної міграції між різними хмарними середовищами та спрощує розгортання.
Своєю чергою автоматизація більшості процесів – від підготовки даних та навчання моделей до розгортання і моніторингу готового рішення допомагає оптимізувати робочі процеси та скорочує кількість людських помилок. До переваг CNAI можна віднести також те, що гнучкість концепції дозволяє легко експериментувати з різними моделями та підходами у сфері AI/ML, швидко відсіваючи хибні шляхи та прискорюючи впровадження інновацій. Як зазначають учасники ринку, застосування CNAI, крім підвищення надійності, керованості та ефективності середовищ розробки, також істотно скорочує час виведення на ринок нових ШІ-продуктів, що сьогодні є важливою конкурентною перевагою.
Де працює CNAI?
Особливо помітних успіхів CNAI допомагає досягти таких напрямках як аналіз великих даних (при роботі з величезними масивами інформації масштабованість та можливості автоматизованої обробки незамінні); Розробка ШІ-застосунків, що працюють у режимі реального часу, вимагають низької затримки та моментальної реакції (системи виявлення шахрайства, ШІ-асистенти тощо); Машинне навчання у хмарі.
Прикладів успішного використання CNAI вже багато. Наприклад, за допомогою цього підходу компанія OpenAI змогла масштабувати свої кластери Kubernetes до 7500 вузлів, у процесі побудови масштабованої інфраструктури для великих ML-моделей, таких як GPT, CLIP, DALL E та інших проєктів, також концепцію використовує американська компанія Hugging Face, що розробляє інструменти для створення програм з використанням технологій ML. Сервіс Pinterest може аналізувати мільярди зображень для покращення пошуку та видачі рекомендацій користувачам, Walmart прогнозує попит на товари в магазинах для оптимізації ланцюжків постачання, PayPal виявляє шахрайські транзакції в режимі реального часу, а Uber використовує чат-бот, який може відповідати на запитання користувачів про поїздки та цінах — все це було реалізовано з використанням CNAI.
Сьогодні концепція Cloud Native Artificial Intelligence все ще знаходиться на початковій стадії розвитку, але її потенціал величезний. Завдяки проникненню хмарних технологій у різні сфери повсякденного життя та зростанню популярності ШІ, попит на рішення CNAI в найближчі роки, без сумніву, продовжить зростати. Постійне вдосконалення технологій контейнеризації, Kubernetes та безсерверних обчислень ще більше розширюватиме можливості розробки в рамках CNAI. До того ж широке використання автоматизації та спрощення управління складними ІТ-інфраструктурами в рамках CNAI сприятиме зниженню порога входу у світ AI/ML-технологій та залученню все більшої кількості компаній-розробників.
Сьогодні CNAI пропонує потужний та ефективний підхід, що дозволяє розкрити потенціал ШІ. Використовуючи масштабованість, автоматизацію та гнучкість хмари, організації можуть створювати AI/ML-застосунки та сервіси, які сприяють інноваціям та дозволяють досягати сталого успіху. Оскільки ШІ продовжує змінювати наш світ, CNAI, безперечно, вже найближчим часом стане ключовим чинником цієї трансформації.
Для реалізації Cloud Native Artificial Intelligence потрібна надійна, продуктивна та масштабована інфраструктура й отримати її можна вже сьогодні у хмарі De Novo. Ми пропонуємо доступ до найпотужніших TPU NVIDIA H100 та L40S безпосередньо з оточення Kubernetes у складі нових хмарних послуг Tensor Cloud (у колективній хмарі) та HTI (сервіс класу GPU Private Cloud), а з PaaS-платформою ML Cloud ви отримуєте ще й готове повноцінне робоче середовище для ML-інженера (класу AWS SageMaker або Google Vertex AI).
Бажаєте дізнатися більше? Звертайтесь по детальну консультацію до наших експертів! Вони не тільки дадуть відповідь на ваші запитання, але й допоможуть розгорнути пілотний проєкт або перенести навантаження в хмару De Novo.