Serverless програми швидше і простіше разом з OpenShift

Red Hat OpenShift Serverless є набором керованих подіями Kubernetes-орієнтованих компонентів для мікросервісів, контейнерів і реалізацій Function-as-a-Service (FaaS).

Serverless програми швидше і простіше разом з OpenShift

Це рішення «з коробки» містить засоби безпеки та маршрутизації трафіку та поєднує в собі Red Hat Operators, Кнативна и Red Hat OpenShift для запуску stateless- та serverless-навантажень на платформі OpenShift у приватних, публічних, гібридних та мультихмарних середовищах.

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

Ключові особливості Red Hat OpenShift Serverless:

  • Широкий вибір мов програмування та runtime-компонентів для serverless-додатків. Ви можете вибирати саме той набір інструментів, який вам потрібен.
  • Автоматичне горизонтальне масштабування в залежності від інтенсивності запитів або настання подій для ефективного управління ресурсами на основі реальних, а не умоглядних потреб
  • Повна інтеграція з OpenShift Pipelines, Kubernetes-орієнтованою системою безперервного складання та доставки (CI/CD), на основі Tekton
  • Базис у вигляді Red Hat Operator, що дозволяє адміністраторам безпечно управляти працюючими інстансами та оновлювати їх, а також організуючий життєвий цикл додатків на кшталт хмарних сервісів
  • Постійне відстеження нових community-релізів, включаючи Knative 0.13 Serving, Eventing і kn (офіційного CLI для Knative), – як і для інших продуктів Red Hat, це означає ретельне тестування та перевірку на різних платформах і конфігураціях OpenShift

Крім того, Red Hat тісно взаємодіє за Serverless-технологіями з рядом партнерів, а також з Microsoft з питань Azure Functions і KEDA (Докладніше див. тут). Зокрема, сертифікований OpenShift-оператор вже є у TriggerMesh, а нещодавно ми стали співпрацювати Serverless.com, щоб Serverless Framework міг працювати з OpenShift Serverless та Knative. Ці партнерські відносини можна розглядати як ознаку зрілості serverless і початку формування галузевої екосистеми.

Якщо ви попередньо встановили попередню версію Red Hat OpenShift Serverless, її можна оновити до загальнодоступної GA-версії (general availability). Для версії Technology Preview потрібно буде переконфігурувати OLM Subscription Update Channel, як показано на Мал. 1.

Serverless програми швидше і простіше разом з OpenShift
Мал. 1. Оновлення каналу передплати.

Канал підписки треба оновити так, щоб він відповідав OpenShift Container Platform версії або 4.4 або 4.3.

Knative Services – обслуговування за вищим класом

OpenShift 4.4 сильно спрощує розгортання додатків з функціоналом OpenShift Serverless, дозволяючи без зайвих зусиль розгортати Knative Services прямо з Developer-режиму веб-консолі OpenShift.

При додаванні нової програми до проекту достатньо вказати для нього тип ресурсів Knative Service, тим самим миттєво активуючи функціонал OpenShift Serverless і включаючи масштабування до нуля в режимі очікування, як показано на мал. 2.

Serverless програми швидше і простіше разом з OpenShift
Мал. 2. Вибір Knative Service як тип ресурсів.

Проста установка з використанням Kourier

Як ми вже писали в анонсі версії OpenShift Serverless 1.5.0 Tech Preview, використання Kourier дозволило різко скоротити список вимог при встановленні Serverless на OpenShift, а в GA-версії цих вимог стало ще менше. Все це знижує витрати ресурсів, прискорює холодний запуск додатків, а також усувається вплив звичайних, не serverless навантажень, що працюють у тому ж просторі імен.

Загалом ці покращення, а також доробки в OpenShift 4.3.5 прискорюють створення додатків із попередньо зібраного контейнера на 40-50% залежно від розміру образу.
Як все відбувається без використання Kourier, можна побачити на Рис.3:

Serverless програми швидше і простіше разом з OpenShift
Мал. 3. Час створення програм у випадках, коли Kourier не використовується.

Як все відбувається, коли застосовується Kourier, можна побачити на Рис.4:

Serverless програми швидше і простіше разом з OpenShift
Мал. 4. Час створення програм під час використання Kourier.

TLS/SSL в автоматичному режимі

OpenShift Serverless тепер може автоматично створювати та розгортати TLS/SSL для маршруту (OpenShift Route) вашого Knative Service, щоб ви не відволікалися на реалізацію та супровід цих функцій при роботі над програмою. Інакше кажучи, Serverless позбавляє розробника труднощів, пов'язаних з TSL, зберігаючи при цьому високий рівень безпеки, який всі звикли чекати від Red Hat OpenShift.

Інтерфейс командного рядка OpenShift Serverless

В OpenShift Serverless він називається kn і доступний прямо в консолі OpenShift на сторінці Command Line Tools, як показано на мал. 5:

Serverless програми швидше і простіше разом з OpenShift
Мал. 5. Сторінка завантаження інтерфейсу командного рядка OpenShift Serverless.

При завантаженні цієї сторінки ви отримуєте версію kn для MacOS, Windows або Linux, яка перевірена Red Hat і гарантовано не містить шкідливого ПЗ.

Рис. 6 показано, як у kn можна лише однією командою розгорнути сервіс, щоб за лічені секунди створити інстанс програми на платформі OpenShift з доступом за URL:

Serverless програми швидше і простіше разом з OpenShift
Мал. 6. Використання інтерфейсу командного рядка kn.

Цей інструмент дозволяє повноцінно керувати ресурсами Serverless Serving та Eventing без того, щоб дивитися чи правити будь-які конфігурації YAML.

Покращена виставка Topology в Developer-режимі консолі

Тепер подивимося, як доопрацьоване уявлення Topology полегшує управління Knative Services.

Knative Service – центрована візуалізація

Knative Services на сторінці представлення Topology відображаються у вигляді прямокутника, що містить усі ревізії, як показано на Рис.7:

Serverless програми швидше і простіше разом з OpenShift
Мал. 7. Knative Services на сторінці представлення Topology.

Тут можна миттєво переглянути поточні відсотки розподілу трафіку Knative Service, а згрупувати Knative Services в рамках групи додатків, щоб легко візуально контролювати те, що відбувається всередині обраної групи.

Згортання списків OpenShift Knative Services

Продовжуючи тему угруповання, треба сказати, що в OpenShift 4.4 можна згортати Knative Services всередині групи додатків для зручнішого перегляду та управління сервісами, коли в проекті розгортаються складніші додатки.

Knative Service у деталях

У OpenShift 4.4 також покращена бічна панель для Knative Services. На ній з'явилася вкладка Resources, де відображаються компоненти сервісу, такі як Pods, Revisions та Routes. Ці компоненти також забезпечують швидкий та простий перехід до логів окремих pod'ів.

Подання Topology також показує відсотки розподілу трафіку і навіть дозволяє швидко змінити конфігурацію. Таким чином, ви можете швидко дізнатися розподіл трафіку для вибраної Knative Service в реальному часі за числом pod'ів, що працюють для заданої ревізії, як показано на Рис. 8.

Serverless програми швидше і простіше разом з OpenShift
Мал. 8. Розподіл трафіку Knative Service.

Глибокіший погляд на Serverless Revisions

Також уявлення Topology тепер дозволяє набагато глибше подивитись усередину обраної ревізії, наприклад, швидко побачити всі її pod'и та, якщо потрібно, переглянути їхні журнали. Крім того, у цьому поданні можна легко отримати доступ до деплойментів і конфігурацій ревізії, а також до підмаршруту, який безпосередньо вказує на цю ревізію, як показано на Мал. 9:

Serverless програми швидше і простіше разом з OpenShift
Мал. 9. Ресурси, пов'язані з ревізіями.

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

Зацікавилися?

Спробуйте OpenShift!

Нам важливий зворотний зв'язок

Розкажітьщо ви думаєте про serverless. Приєднуйтесь до нашої Google-групи OpenShift Developer Experience для участі в обговореннях та семінарах Office Hours, щоб співпрацювати з нами та залишати свої відгуки та пропозиції.

Додаткові відомості

Дізнайтесь більше про розробку програм OpenShift за допомогою наступних ресурсів Red Hat:

Джерело: habr.com

Додати коментар або відгук