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

Това решение "от кутията" съдържа средства за сигурност и маршрутизиране на трафика и обединява Red Hat Operators, и за стартиране на stateless и serverless натоварвания на платформата OpenShift в частни, публични, хибридни и мултиоблачни среди.
позволява на разработчиците напълно да се концентрират върху създаването на приложения от ново поколение, предлагайки широк набор от програмни езици, фреймуърци, среди за разработка и други инструменти за създаване и разгръщане на иновационни бизнес продукти.
Ключови характеристики на 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 и (повече информация на ). По-специално, сертифициран OpenShift оператор вече има у , а наскоро започнахме сътрудничество с , за да може Serverless Framework да работи с OpenShift Serverless и Knative. Тези партньорства могат да се разглеждат като признак на зрялост на serverless и начало на формирането на индустриална екосистема.
Ако преди сте инсталирали предварителна версия на Red Hat OpenShift Serverless, можете да я актуализирате до публичната версия GA (обща наличност). За версията на Technology Preview, ще е необходимо да пренастроите OLM Subscription Update Channel, както е показано на Рис. 1.

Рис. 1. Актуализиране на канала за абонамент.
Каналът за абонамент трябва да бъде актуализиран така, че да отговаря на версия на OpenShift Container Platform 4.4 или 4.3.
Knative Services – обслужване от най-висок клас
OpenShift 4.4 значително опростява разгръщането на приложения с функционалността на OpenShift Serverless, позволявайки лесно разгръщане на Knative Services директно от Developer режим на уеб конзолата на OpenShift.
При добавяне на ново приложение в проекта, е достатъчно да зададете типа ресурси Knative Service, активирайки моментално функционалността на OpenShift Serverless и включвайки мащабиране до нула в режим на изчакване, както е показано на Рис. 2.

Рис. 2. Избор на Knative Service като типа ресурси.
Лесна инсталация с помощта на Kourier
Както вече споменахме в , използването на значително намали списъка с изискванията при инсталиране на Serverless на OpenShift, а в GA версията тези изисквания са дори по-малко. Всичко това намалява разхода на ресурси, ускорява студеното стартиране на приложенията, а също така премахва влиянието на обикновени, не serverless натоварвания, работещи в същото пространство от имена.
Като цяло, тези подобрения и актуализациите в OpenShift 4.3.5 ускоряват създаването на приложения от предварително изградения контейнер с 40-50%, в зависимост от размера на образа.
Как протича всичко без използването на Kourier, можете да видите на Рис. 3:

Рис. 3. Време за създаване на приложения в случаи, когато Kourier не се използва.
Как протича всичко, когато се прилага Kourier, можете да видите на Рис. 4:

Рис. 4. Време за създаване на приложения при използване на Kourier.
TLS/SSL в автоматичен режим
OpenShift Serverless сега може автоматично да създава и внедрява TLS/SSL за маршрута (OpenShift Route) на вашия Knative Service, за да не се разсейвате с имплементацията и поддръжката на тези функции при работа над приложението. С други думи, Serverless освобождава разработчиците от сложностите, свързани с TSL, запазвайки високото ниво на сигурност, което всички очакват от Red Hat OpenShift.
Интерфейс на командния ред на OpenShift Serverless
В OpenShift Serverless тойкоманда kn и е наличен директно в конзолата OpenShift на страницата за Командни Линии, както е показано на Рис. 5:

Рис. 5. Страница за изтегляне на интерфейса на командни линии OpenShift Serverless.
При изтегляне от тази страница получавате версия kn за MacOS, Windows или Linux, проверена от Red Hat и гарантирано без зловреден софтуер.
На Рис. 6 е показано как с kn можете с една команда да развиете услуга, за да създадете приложение на платформата OpenShift, достъпно по URL за секунди:

Рис. 6. Използване на интерфейса на командни линии kn.
Този инструмент позволява пълно управление на ресурсите Serverless Serving и Eventing без необходимост от преглеждане или редактиране на конфигурации YAML.
Подобрено представяне на Topology в Developer режима на конзолата.
Сега ще видим как доработеното представяне Topology улеснява управлението на Knative Services.
Knative Service – центрирано визуализиране.
Knative Services на страницата с представяне Topology се показват под формата на правоъгълник, съдържащ всички ревизии, както е показано на Рис. 7:

Рис. 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.

Рис. 8. Разпределение на трафика на Knative Service.
По-дълбок поглед към Serverless Revisions.
Представянето на Топология сега позволява много по-дълбок поглед в избраната ревизия, например, бързо да се видят всички нейни pod-ове и, ако е необходимо, да се прегледат техните журнали. Освен това, в това представяне лесно можете да получите достъп до деплойменти и конфигурации на ревизията, както и до подмаршрута, който указва директно към тази ревизия, както е показано на Рис. 9:

Рис. 9. Ресурсите, асоциирани с ревизиите.
Надяваме се, че описаните по-горе новшества ще ви помогнат при създаването и управлението на serverless приложения, а в предстоящите версии ще се появят още повече полезни функции за разработчици, например, възможността да се създават източници на събития и други.
Заинтересовани ли сте?
Вашето мнение е важно за нас
, какво мислите за serverless. Присъединете се към нашата Google група за участие в дискусии и семинари Office Hours, за да можете да си сътрудничите с нас и да оставяте своите отзиви и предложения.
Допълнителна информация
за разработка на приложения в OpenShift с помощта на следните ресурси на Red Hat:
Източник: habr.com
