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. За управление на работата на платформата може да се използва интерфейс за команден ред.

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

  • Служба за стартиране на безсерверни контейнери в Kubernetes с автоматична настройка на мрежовата свързаност, маршрутизиране, проследяване на промени (създаване на снимки на разположения код и настройки) и поддържане на необходимото ниво на мащабируемост (до намаляване на броя на pod-овете до нула при липса на активност). Разработчикът се фокусира само върху логиката, всичко, свързано с изпълнението, се поема от платформата. За организиране на мрежовата свързаност и маршрутизиране на запитванията могат да се използват мрежови подсистеми като Ambassador, Contour, Kourier, Gloo и Istio. Има поддръжка за HTTP/2, gRPC и WebSockets.
  • Eventing — универсална система за абонатстване (прикрепяне на обработчици), доставка и управление на събития. Позволява създаването на асинхронно работещи приложения, прикрепяйки изчислителни ресурси към потоци данни чрез обектен модел и механизъм за обработка на събития.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster