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 безсървърна модель за разработка на приложения осигурява допълнително ниво на абстракция за облачните системи, позволяващо изпълняване на функции като услуги (FaaS, Functions as a Service). Същността на безсървърната модель е, че разработчикът реализира логиката на ниво отделни функции, без да се тревожи за създаването и управлението на инфраструктурата за изпълнение на приложенията и без да е обвързан с конкретни сървърни приложения и необходимостта от облачни среди за тяхната работа.

Разработката се извършва без създаване на монолитни приложения, на ниво подготовка на набор от малки отделни функции, всяка от които осигурява обработка на определено събитие и е проектирана да работи независимо от средата (stateless, резултатът не зависи от предишното състояние и съдържанието на файловата система). Функциите се стартират само при необходимост и след обработка на събитието могат незабавно да приключат своята работа, т.е. за разлика от микросервисите, не е необходимо постоянно наличие на работещи среди, които да консумират ресурси в режим на изчакване.

Платформата Knative сама стартира контейнерите при необходимост, разполага в тях подготвени функции, организира управлението и осигурява мащабиране на средите, нужни за изпълнение на тези функции. Платформата може да бъде развивана на свои мощности без обвързване с външни облачни услуги. За стартиране е необходим само Kubernetes. Осигуряват се средства за поддръжка на различни стандартни рамки, включително Django, Ruby on Rails и Spring. За управление на работата на платформата може да се използва интерфейс за команден ред.

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

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

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

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