Google stellt die serverlose Computing-Plattform Knative 1.0 vor

Google hat eine stabile Version der Knative 1.0-Plattform eingeführt, die darauf ausgelegt ist, eine Serverless-Computing-Infrastruktur zu schaffen, die auf einem Container-Isolationssystem basierend auf der Kubernetes-Plattform bereitgestellt wird. An der Entwicklung von Knative sind neben Google auch Unternehmen wie IBM, Red Hat, SAP und VMware beteiligt. Die Veröffentlichung von Knative 1.0 markierte die Stabilisierung der API für die Anwendungsentwicklung, die sich von nun an nicht ändern wird und abwärtskompatibel bleibt. Der Projektcode ist in Go geschrieben und wird unter der Apache 2.0-Lizenz vertrieben.

Das in Knative angebotene serverlose Anwendungsentwicklungsmodell (serverless) bietet eine zusätzliche Abstraktionsschicht für Cloud-Systeme, die es Ihnen ermöglicht, Funktionen als Dienste auszuführen (FaaS, Functions as a Service). Der Kern des serverlosen Modells besteht darin, dass der Entwickler die Logik auf der Ebene einzelner Funktionen implementiert, ohne sich um die Erstellung und Verwaltung der Infrastruktur für die Ausführung von Anwendungen kümmern zu müssen und ohne an bestimmte Serveranwendungen und die für deren Betrieb erforderlichen Cloud-Umgebungen gebunden zu sein.

Die Entwicklung erfolgt ohne die Erstellung monolithischer Anwendungen auf der Ebene der Vorbereitung einer Reihe kleiner separater Funktionen, von denen jede die Verarbeitung eines bestimmten Ereignisses ermöglicht und für den separaten Betrieb ohne Bezug zur Umgebung ausgelegt ist (zustandslos, das Ergebnis hängt nicht davon ab). der vergangene Zustand und der Inhalt des Dateisystems). Funktionen werden nur bei Bedarf gestartet und können nach der Verarbeitung des Ereignisses ihre Arbeit sofort abschließen, d. h. Im Gegensatz zu Microservices ist nicht die ständige Anwesenheit laufender Umgebungen erforderlich, die im Leerlauf Ressourcen verbrauchen.

Die Knative-Plattform selbst startet Container nach Bedarf, platziert vorbereitete Funktionen darin, organisiert die Verwaltung und sorgt für die Skalierung der zur Ausführung dieser Funktionen erforderlichen Umgebungen. Die Plattform kann in den eigenen Einrichtungen bereitgestellt werden, ohne an externe Cloud-Dienste gebunden zu sein. Zum Ausführen benötigen Sie lediglich Kubernetes. Es werden Tools zur Unterstützung verschiedener generischer Frameworks bereitgestellt, darunter Django, Ruby on Rails und Spring. Über die Befehlszeilenschnittstelle kann der Betrieb der Plattform gesteuert werden.

Die Plattform bietet zwei Hauptkomponenten:

  • Dient zur Ausführung serverloser Container in Kubernetes mit automatischer Vernetzung, Weiterleitung, Änderungsverfolgung (Erstellung von Snapshots von gehostetem Code und Einstellungen) und Aufrechterhaltung des erforderlichen Skalierungsniveaus (bis hin zur Reduzierung der Anzahl der Pods auf Null, wenn keine Aktivität stattfindet). Der Entwickler konzentriert sich nur auf die Logik, alles, was mit der Ausführung zusammenhängt, wird von der Plattform erledigt. Die Netzwerksubsysteme Ambassador, Contour, Kourier, Gloo und Istio können zur Organisation von Netzwerkinteraktionen und Routenanfragen verwendet werden. Es gibt Unterstützung für HTTP/2, gRPC und WebSockets.
  • Eventing ist ein universelles System zum Abonnieren (Anhängen von Handlern), Bereitstellen und Verwalten von Ereignissen. Ermöglicht die Erstellung asynchron laufender Anwendungen durch Anhängen von Rechenressourcen an Datenströme mithilfe eines Objektmodells und eines Ereignisverarbeitungsmechanismus.

Source: opennet.ru

Kommentar hinzufügen