Меню
Головна Блог компанії De Novo Kubernetes у хмарах: два сервіси De Novo для контейнерних інфраструктур
Kubernetes у хмарах: два сервіси De Novo для контейнерних інфраструктур

Kubernetes у хмарах: два сервіси De Novo для контейнерних інфраструктур

2024-04-01

De Novo продовжує розробляти та виводити на ринок нові хмарні послуги. На початку 2024 року клієнтам стали доступні сервіси для роботи з кластерами Kubernetes — HCI і KaaS. Що вони собою являють, які можливості відкривають користувачам і чому це важлива подія для українського ринку, ми й поговоримо.

Почнемо з того, що у світі все активніше розвивається контейнерний підхід до побудови програмних інфраструктур. Його використовують компанії та організації практично будь-яких сфер та напрямків — від маленьких стартапів до гігантів на кшталт Google, Spotify, Airbnb. Контейнерна віртуалізація зайняла міцні позиції у сфері розробки та застосування ПЗ. У міру зростання популярності, накопичуються і складнощі вирішувати які і допомагають зокрема нові хмарні сервіси De Novo — Hosted Container Infrastructure (HCI) та Kubernetes as a Service (KaaS).

Моноліти, контейнери, кластери… кілька слів про базові поняття

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

Тому на початку 2000-х паралельно з процесом проникнення гіпервізорної віртуалізації на масовий ринок почав розвиватися інший, «контейнерний», підхід до розробки ПЗ. Контейнери це невеликі пакети програмного забезпечення, що містять все необхідне для запуску програми, зокрема код, бібліотеки, дані. У контейнері можна запустити практично будь-яке ПЗ та сервіси: веб-застосунки, бази даних, ігри, інструменти DevOps і тощо.

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

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

Рис. 1. Порівняння традиційної, віртуалізованої та контейнерної архітектур (source)

 

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

Все це зазвичай простіше робити для монолітних додатків (до того ж далеко не все ПЗ, особливо, старе, підтримує технології контейнеризації). Тому на даний момент обидва підходи — монолітний і контейнерний — не стільки конкурують, скільки доповнюють один одного й немає сенсу сперечатися, який з них краще. Все залежить від задачі. Проте, ідея контейнерного підходу здалася настільки перспективною, що ІТ-спільнота стала активно розробляти та просувати різні програмні інструменти (як відкриті, open source, так і «пропрієтарні»), які б допомогли полегшити роботу з контейнерами та усунути існуючі недоліки.

Найвідомішими розробками такого роду є платформи Dockers і Kubernetes (яку часто називають більш коротко — K8s). Перша призначена для створення та запуску контейнерів, друга для їхньої оркестрації. За допомогою Dockers можна швидко та ефективно створювати, тестувати та розгортати програми у контейнерах. Kubernetes дозволяє масштабувати контейнерні системи, керувати ними, координувати і планувати їхню роботу. Ще однією перевагою контейнерних інфраструктур є те, що вони добре працюють у хмарах — приватних, колективних, гібридних, забезпечуючи ще більшу гнучкість та зручність роботи (рис. 2).

Рис. 2. Контейнерні інфраструктури добре працюють у хмарах — приватних, колективних, гібридних.

 

«Kubernetes вже став стандартом де-факто у світі контейнерної віртуалізації, мікросервісних архітектур та парадигми DevOps. Багато організацій розглядають Kubernetes як майже безальтернативну платформу розробки та запуску Cloud Native Apps».

Геннадій Карпов, директор з технологій De Novo

Складність в тому, що у великих і навіть середніх організацій контейнерні інфраструктури розростаються дуже швидко і керувати необхідно вже самими кластерами Kubernetes. Для вирішення цього комплексного завдання також є інструменти. Один з найбільш потужних функціональних та популярних — платформа VMware Tanzu Kubernetes Grid (табл. 1).

 

Табл. 1. Місце VMware Tanzu Kubernetes Grid у процесі роботи з контейнерними інфраструктурами

 DockerKubernetes ( K8s )VMware TKG
Основна задачаСтворення контейнерівОркестрування контейнерівУправління кластерами контейнерів Kubernetes
Інтеграція з vSphereНіНіТак
Управління життєвим циклом додатківНіТакТак
Моніторинг, журналуванняНіТакТак
БезпекаНіОбмеженоТак

Але, для надійної роботи самої TKG також потрібна відповідна, багатошарова і стійка до відмови програмно-апаратна інфраструктура, створення якої це теж окрема, складна й дуже затратна задача.

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

Рис. 3. Основні проблеми, з якими стикаються користувачі контейнерних інфраструктур

 

Але тепер доступ до повного спектру інструментів управління кластерами Kubernetes можна отримати з хмари, як послугу — тобто легко просто і без зайвих витрат. Першим хмарним оператором в Україні, який пропонує подібний сервіс своїм клієнтам, стала компанія De Novo, яка вивела на ринок відразу два сервіси, орієнтовані на різні групи користувачів — HCI та KaaS.

Найкращі світові практики для українських користувачів

В основі сервісів HCI та KaaS, які відносяться до хмарних платформ класу PaaS, лежать дуже близькі інструменти та технології (рис. 4). Основна різниця в тому, що перший розгортається на ресурсах приватної хмари De Novo HPI («Приватна хмара, як сервіс»), а другий використовує потужності колективної хмари оператора (рис. 5).

Рис. 4. Сервіс Hosted Container Infrastructure розгортається на базі інфраструктури HPI, а KaaS використовує потужності колективної хмари De Novo.

 

Рис. 5. Архітектура комплексного рішення De Novo для розгортання кластерів Kubernetes: сервіс HCI (на основі VMware Tanzu Kubernetes Grid), спирається на потужну та стійку до відмов програмно-апаратну інфраструктуру хмари HPI

 

У випадку HCI замовник отримує ресурси у ексклюзивне використання, а використовуючи KaaS — ділить потужності колективної хмари з "сусідами". Обидва сервіси, хоча й трохи відрізняються за деталями реалізації (про які поговоримо в наступному розділі), забезпечують користувачам дуже близьку функціональність, надійність і зручність використання — на рівні таких відомих рішень як AWS Elastic Kubernetes Service, Google Kubernetes Engine, MS Azure Kubernetes Service.

Важливо, що вперше подібну функціональність світового рівня на українському ринку пропонує національний оператор хмар — компанія De Novo.

Що може HCI

Сервіс Hosted Container Infrastructure, окрім того, що розгорнутий на ресурсах приватної HPI та побудований відповідно до еталонної архітектури VMware на базі VMware TKG, дає можливість керування K8s-кластерами (і навіть окремими віртуальними машинами) безпосередньо з оточення Kubernetes, без необхідності знання деталей інфраструктури та володіння інструментами системи VMware vSphere (яка використовується у якості базової IaaS-платформи). Глибока інтеграція з IaaS-інфраструктурою хмари De Novo дозволяє використовувати IaaS-ресурси — storage, network, load balancer, auth, GPU — найефективнішим чином, без зайвих програмних прошарків, стандартними для Kubernetes засобами (CSI, CNI, CPI, GPU-Operator).

Вкрай важливим є те, що TKG не містить будь-яких проприєтарних компонент та не створює “vendor lock”. Базова технологія TKG – Kubernetes Cluster API – є відкритою технологією спільноти Kubernetes та використовується, в тому числі, як основа сервісів класу “managed Kubernetes” від гіперскейлерів.

 

Ось лише стислий перелік того, які можливості відкриває HCI. Наприклад, користувач зможе:

  • Створювати ізольовані оточення (тенанти), встановлювати для них ліміти споживання ресурсів, надавати до них доступ для окремих команд DevOps-інженерів та розробників.
  • Використовувати образи немодифікованих Kubernetes та інших open-source компонентів, які підготовлені, верифіковані, підписані та підтримуються (у тому числі оновлюються) VMware для розгортання кластерів Kubernetes та супутніх сервісів.
  • Керувати (створювати, конфігурувати, масштабувати, оновлювати, видаляти) кластерами Kubernetes, віртуальними машинами, мережами, ingress/egress та іншими об'єктами інфраструктури декларативним методом, використовуючи Kubernetes Cluster API у поєднанні з kubectl та YAML.
  • Використовувати вже інтегровані в платформу сервіси Harbor, Contour, MinIO, Velero, Prometeus, Graphana, FluentBit, Carvel, Sonobouy. Cert-Manager, External DNS (перелік постійно розширюється).
  • Використовувати вбудовану в платформу функціональність горизонтального автомасштабування кластерів Kubernetes (autoscaling)
  • Значно зменшити непродуктивне навантаження на DevOps-інженерів за рахунок максимальної автоматизації процесів керування життєвим циклом кластерів Kubernetes та платформи загалом.

Й, звичайно, кожен клієнт отримує доступ до вищого рівня технічної підтримки (production grade support) для всього технологічного стека в режимі 24/7.

HCI та KaaS для підтримки цифрової трансформації

Нові можливості, які відкриває для користувачів сервіс De Novo Hosted Container Infrastructure є дуже різноманітними. Наприклад, ви плануєте або реалізуєте трансформацію прикладного ландшафту від успадкованої архітектури до Cloud Native. Звичайно, у вас виникне потреба в надійній платформі, що зможе забезпечити функціонування бізнес-застосунків з обома типами архітектури одночасно.

Чи, скажімо, ви вже використовуєте сервіси “managed Kubernetes” одного або декількох світових операторів, таких як Google Cloud, AWS, Microsoft Azure. Але при цьому вас не влаштовує вартість або рівень передбачуваності витрат на послуги.

Можливо, ви б хотіли знизити обсяг непрофільного навантаження на DevOps-інженерів, позбавити їх необхідності розбиратися в глибоких шарах технологічного стека. Або треба мінімізувати ризики невиправданих витрат, пов'язаних з помилками планування, необхідністю підтримки резерву ресурсів у разі раптового чи періодичного зростання потреб у потужностях.

Буває й так, що компанія вже розгорнула інфраструктуру Kubernetes власними силами, використовуючи відкриті (open source) компоненти, але стабільність і продуктивність такого рішення залишає бажати кращого, а трудові витрати на підтримку та розвиток системи невиправдано високі. Або є регуляторні обмеження або корпоративні політики, які забороняють використання публічних хмар або зберігання та обробку інформації поза периметром організації (HCI може бути встановлено в периметрі організації замовника».

У цих та багатьох інших випадках, що заважають процесу цифрової трансформації підприємства, сервіс De Novo HCI буде ефективною відповіддю на виклики.

Що ж до сервісу KaaS, то за своїми основними можливостями він не поступається HCI, але його базою є колективна хмара. Основою  KaaS також є технологічний стек  VMware  Tanzu  Kubernetes  Grid та, додатково, Cloud Director Container Services Extension, що дозволяє керувати повним життєвим циклом K8s-кластерів безпосередньо з графічного інтерфейсу операційного порталу хмари Cloud Director або через vCD API (з використанням, наприклад,  terraform).  KaaS  безконфліктно співіснує та інтегрується зі «звичайними» (IaaS) віртуальними датацентрами в Cloud Director.

Як і у випадку з HCI, для KaaS реалізована глибока інтеграція з інфраструктурою IaaS, а також доступна техпідтримка рівня production grade support. Для зручності сприйняття, порівняємо деякі параметри HCI та KaaS у таблиці 2 .

 

Табл. 2. Порівняння основних параметрів хмарних сервісів De Novo HCI та KaaS

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

Який сервіс підійде для ваших завдань? Можна спробувати та вирішити!

Практика — критерій істини

Перш ніж вирішити, що підходить саме вам, обидва сервіси можна перевірити на реальних завданнях. Для KaaS є стандартна програма безкоштовного тестування хмари «Try & Buy». Стосовно HCI, оскільки це більш складне та об'ємне рішення, то тут є кілька опцій.

Для початку можна домовитися про детальну технічну демонстрацію сервісу з використанням повнофункціонального екземпляра HCI. Архітектори та інженери De Novo за півтори-дві години дадуть відповідь на всі технічні питання. Також є можливість протестувати повнофункціональний екземпляр на реальних задачах протягом кількох тижнів.

© 2008—2024 De Novo (Де Ново)