Google hat die Serverless-Computing-Plattform Knative 1.0 vorgestellt.

Das Unternehmen Google hat die stabile Version der Plattform Knative 1.0 vorgestellt, die zur Erstellung einer Infrastruktur für serverlose Rechenzentren dient und auf der Containerisierungsplattform Kubernetes basiert. Neben Google sind auch Unternehmen wie IBM, Red Hat, SAP und VMware an der Entwicklung von Knative beteiligt. Die Veröffentlichung von Knative 1.0 markierte die Stabilisierung der API zur Anwendungsentwicklung, die nun unverändert bleibt und die Rückwärtskompatibilität gewährleistet. Der Code des Projekts ist in der Programmiersprache Go geschrieben und unter der Lizenz Apache 2.0 verfügbar.

Das in Knative vorgeschlagene serverlose Anwendungsentwicklungsmodell bietet eine zusätzliche Abstraktionsebene für Cloud-Systeme, die es ermöglicht, Funktionen als Dienste (FaaS, Functions as a Service) auszuführen. Der Kern des serverlosen Modells besteht darin, dass der Entwickler die Logik auf der Ebene einzelner Funktionen umsetzt, ohne sich um den Betrieb und das Management der Infrastruktur zur Ausführung von Anwendungen kümmern zu müssen, und sich nicht an spezifische serverseitige Anwendungen und die dafür erforderlichen Cloud-Umgebungen bindet.

Die Entwicklung erfolgt ohne die Erstellung monolithischer Anwendungen auf der Grundlage einer Reihe kleiner, individueller Funktionen, von denen jede die Verarbeitung eines bestimmten Ereignisses übernimmt und für den separaten Betrieb ohne Bindung an die Umgebung ausgelegt ist (stateless, das Ergebnis hängt nicht vom vorherigen Zustand oder dem Inhalt des Dateisystems ab). Die Funktionen werden nur bei Bedarf gestartet und können direkt nach der Verarbeitung des Ereignisses beendet werden, d.h. im Gegensatz zu Mikrodiensten ist es nicht erforderlich, dass ständig laufende Umgebungen Ressourcen im Leerlauf verbrauchen.

Die Plattform Knative startet Container nach Bedarf, platziert darin vorbereitete Funktionen, organisiert das Management und sorgt für die Skalierung der Umgebungen, die zur Ausführung dieser Funktionen erforderlich sind. Die Plattform kann in der eigenen Infrastruktur ohne Bindung an externe Cloud-Dienste bereitgestellt werden. Es wird lediglich Kubernetes benötigt. Es stehen Werkzeuge zur Unterstützung verschiedener Standard-Frameworks wie Django, Ruby on Rails und Spring zur Verfügung. Für die Verwaltung der Plattform kann die Befehlszeilenschnittstelle verwendet werden.

Die Plattform bietet zwei Hauptkomponenten:

  • Serving für die Bereitstellung von serverlosen Containern in Kubernetes mit automatischer Konfiguration der Netzwerkintegration, Routing, Änderungsverfolgung (Erstellung von Snapshots des bereitgestellten Codes und der Einstellungen) und Aufrechterhaltung des erforderlichen Skalierungsniveaus (bis zur Reduzierung der Anzahl der Pods auf null bei Inaktivität). Der Entwickler konzentriert sich lediglich auf die Logik, während die Plattform sich um die Ausführung kümmert. Für die Netzwerkinteraktion und das Routing von Anfragen können Netzwerksubsysteme wie Ambassador, Contour, Kourier, Gloo und Istio verwendet werden. Unterstützung für HTTP/2, gRPC und WebSockets ist vorhanden.
  • Eventing ist ein universelles System zur Abonnierung (Verknüpfung von Handlern), Lieferung und Verwaltung von Ereignissen. Es ermöglicht die Erstellung von asynchron arbeitenden Anwendungen, indem Rechenressourcen über ein objektorientiertes Modell und einen Ereignisverarbeitungsmechanismus mit Datenströmen verknüpft werden.

Quelle: opennet.ru

60GB SSD 8Gb DDR4