Стала доступна платформа бессерверных вычислений Knative 1.0 от Google
Стабильный релиз платформы Knative 1.0, с помощью которой создается инфраструктура бессерверных вычислений, развертывается поверх системы контейнерной изоляции на базе платформы Kubernetes, представила Google, 4 ноября сообщил OpenNET.ru.
Knative также разрабатывали IBM, Red Hat, SAP и VMware. Выпуск Knative 1.0 стал точкой фиксации API для разработки приложений. Теперь API будет неизменен и сохранит обратную совместимость. Код проекта создан на языке Go и распространяется под лицензией Apache 2.0.
Платформа Knative работает следующим образом: она запускает приготовленные контейнеры в моменты, когда это необходимо (приложение не привязывается к какому-то конкретному контейнеру), происходит организация управления и обеспечивается масштабирование окружений, которые необходимы для выполнения функций и приложений.
Платформу можно развернуть на своих мощностях без использования внешних облачных сервисов, только с помощью Kubernetes. Можно использовать предоставляемые средства для поддержки различных типовых фреймворков, в том числе Django, Ruby on Rails и Spring. Для управления работой платформы доступен вариант использования интерфейса командной строки.
Платформа предоставляет два основных компонента. Первый — Serving — развертывание и управление приложениями и функциями в форме бессерверных контейнеров. Контейнеры, в таком случае, запускаются в Kubernetes с автоматической настройкой сетевого взаимодействия, маршрутизацией, отслеживанием изменений (создание снапшотов размещаемого кода и настроек), при этом поддерживается требуемый уровень масштабирования (вплоть до уменьшения числа pod-ов до нуля, если нет активности).
Разработчик концентрируется только на логике, а всем, что связано с выполнением, занимается платформа. Для организации сетевого взаимодействия и маршрутизации запросов можно использовать сетевые подсистемы Ambassador, Contour, Kourier, Gloo и Istio. Есть поддержка HTTP/2, gRPC и WebSockets.
Второй компонент — Eventing — универсальная система подписки (прикрепления обработчиков), доставки и управления событиями. Он позволяет создавать приложения, работающие асинхронно, и прикреплять вычислительные ресурсы к потокам данных с использованием объектной модели и механизма обработки событий.