Вышла Khative 1.0 — бессерверная платформа, упрощающая разработку в Kubernetes
2 ноября Google представила стабильный релиз платформы Knative 1.0, предназначенной для создания инфраструктуры бессерверных вычислений, развертываемой поверх системы контейнерной изоляции на базе платформы Kubernetes.
Kubernetes — открытое программное обеспечение для автоматизации контейнеризированных приложений, их развертывания, масштабирования и координации в условиях кластера. Он предназначен для управления кластером контейнеров Linux как единой системой, а также позволяет запускать и управлять контейнерами Docker на большом количестве хостов. Еще одной важной функцией Kubernetes является обеспечение совместного размещения и репликации большого количества контейнеров. Изначально проект был начат Google, но сейчас его поддерживает довольно много компаний, в том числе Microsoft, Red Hat, IBM, SAP, VMware и Docker.
Google дала разработчикам абстрагироваться от сложных деталей базовой инфраструктуры и явила «проект Knative версии 1.0, достигнув важной вехи». Сам проект был выпущен Google в июле 2018 года и является трудом более 600 разработчиков.
Knative был создан для систематизации передового опыта разработки облачных приложений с акцентом на трех областях: создание контейнеров, обслуживание и масштабирование рабочих нагрузок и обработки событий. Он предоставляет необходимый набор компонентов для создания и запуска бессерверных приложений в Kubernetes, позволяя автоматически масштабировать веб-хуки и службы. Масштабирование возможно даже до нуля, что помогает использовать дорогостоящие мощности серверных ресурсов с наибольшим коэффициентом полезного действия.
Кроме исправления множества багов, разработчики Knative доработали стабильность и производительность платформы. Также было внесено много изменений, в том числе:
поддержка нескольких уровней маршрутизации HTTP (включая Istio, Contour, Kourier и Ambassador);
поддержка нескольких уровней хранения для концепций Eventing с общими методами подписки (включая Kafka, GCP PubSub и RabbitMQ);
поддержка HTTP / 2, gRPC и WebSockets;
поддержка автоматического предоставления сертификатов TLS (через запросы DNS или HTTP01);
редизайн форм API для обслуживания в соответствии с PodTemplateSpec, используемым Deployment, CronJob и т.д., упрощения работы Kubernetes-пользователей и много другое.
Довольно большой вклад в создание Knative внесла команда Red Hat. С момента выпуска она является частью проекта, интегрировав Knative в свою гибридную облачную платформу Red Hat OpenShift на базе Kubernetes. Red Hat OpenShift Serverless включает бессерверное развертывание Knative и возможности обработки событий. Работу с ним можно установить одним кликом с помощью веб-интерфейса управления OpenShift.
Команда OpenShift Serverless в течение последних 12 месяцев упорно работала над расширением возможностей Knative за счет внедрения бессерверных функций Red Hat OpenShift. Доступные в предварительном техническом превью для всех текущих версий OpenShift 4.x бессерверные функции значительно повышают скорость разработки и эффективность во многих средах выполнения, включая Node.js, Python, Quarkus, TypeScript, Rust и Go.