Google прадставіў платформу бессерверных вылічэнняў Knative 1.0

Кампанія Google прадставіла стабільны рэліз платформы Knative 1.0, прызначанай для стварэння інфраструктуры бессерверных вылічэнняў, якая разгортваецца па-над сістэмай кантэйнернай ізаляцыі на базе платформы Kubernetes. Акрамя Google у распрацоўцы Knative таксама бяруць удзел такія кампаніі, як IBM, Red Hat, SAP і VMware. Выпуск Knative 1.0 адзначыў стабілізацыю API для распрацоўкі прыкладанняў, які з гэтага часу не будзе мяняцца і захавае зваротную сумяшчальнасць. Код праекту напісаны на мове Go і распаўсюджваецца пад ліцэнзіяй Apache 2.0.

Прапанаваная ў Knative бессерверная мадэль распрацоўкі прыкладанняў (serverless) падае дадатковы ўзровень абстракцыі для хмарных сістэм, які дазваляе выконваць функцыі як сэрвісы (FaaS, Functions as a service). Сутнасць бессервернай мадэлі ў тым, што распрацоўшчык рэалізуе логіку на ўзроўні асобных функцый, не клапоцячыся аб стварэнні і кіраванні інфраструктурай для запуску прыкладанняў, і не прывязваючыся да канкрэтных серверных прыкладанняў і неабходным для іх працы хмарным асяроддзем.

Распрацоўка вядзецца без стварэння маналітных прыкладанняў на ўзроўні падрыхтоўкі набору невялікіх асобных функцый, кожная з якіх забяспечвае апрацоўку вызначанай падзеі і разлічана на адасобленую працу без прывязкі да асяроддзя (stateless, вынік не залежыць ад мінулага стану і змесціва ФС). Функцыі запускаюцца толькі пры ўзнікненні неабходнасці і пасля апрацоўкі падзеі могуць адразу завяршаць сваю працу, г.зн. у адрозненне ад мікрасэрвісаў не патрабуецца пастаянная наяўнасць запушчаных акружэнняў, якія спажываюць рэсурсы на халастым ходу.

Платформа Knative сама запускае кантэйнеры па меры неабходнасці, размяшчае ў іх падрыхтаваныя функцыі, арганізуе кіраванне і забяспечвае маштабаванне акружэнняў, неабходных для выканання гэтых функцый. Платформа можа быць разгорнута на сваіх магутнасцях без прывязкі да знешніх хмарных сэрвісаў. Для запуску неабходны толькі Kubernetes. Даюцца сродкі для падтрымкі розных тыпавых фрэймворкаў, уключаючы Django, Ruby on Rails і Spring. Для кіравання працай платформы можа выкарыстоўвацца інтэрфейс каманднай сцёкі.

Платформа дае два асноўныя кампаненты:

  • Serving для запуску бессерверных кантэйнераў у Kubernetes з аўтаматычнай наладай сеткавага ўзаемадзеяння, маршрутызацыяй, адсочваннем змен (стварэнне снапшотаў які размяшчаецца кода і налад) і падтрыманнем патрабаванага ўзроўня маштабавання (аж да памяншэнне ліку pod-ов да нуля пры адсутнасці актыўнасці). Распрацоўнік засяроджвае ўвагу толькі на логцы, усім, што злучана з выкананнем займаецца платформа. Для арганізацыі сеткавага ўзаемадзеяння і маршрутызацыі запытаў могуць выкарыстоўвацца сеткавыя падсістэмы Ambassador, Contour, Kourier, Gloo і Istio. Маецца падтрымка HTTP/2, gRPC і WebSockets.
  • Eventing - універсальная сістэма падпіскі (прымацавання апрацоўшчыкаў), дастаўкі і кіравання падзеямі. Дазваляе ствараць асінхронна якія працуюць прыкладанні, прымацоўваючы вылічальныя рэсурсы да струменяў дадзеных пры дапамозе аб'ектнай мадэлі і механізму апрацоўкі падзей.

Крыніца: opennet.ru

Дадаць каментар