Einfach coden!

Knative: Die neue Serverless-Plattform für Kubernetes und Istio

Knative: Die neue Serverless-Plattform für Kubernetes und Istio

Einfach coden!

Knative: Die neue Serverless-Plattform für Kubernetes und Istio


Serverless oder Container? Mit Knative soll diese Frage bald obsolet werden. Zusammen mit zahlreichen namhaften Vertretern der Open-Source-Community hat das Team der Google Cloud an der Plattform für das Deployment und das Ausführen moderner Serverless-Anwendungen und -Funktionen auf Basis von Kubernetes und Istio gearbeitet. So können sich Entwickler ganz auf das konzentrieren, was ihnen am Herzen liegt: Das Coden.

Die Vorteile von Serverless, gerade aus Entwicklersicht, sind mehr als verheißend: Schnellere Entwicklung durch automatische Skalierung, die vollkommene Abwesenheit der Not, sich über die Infrastruktur Gedanken zu machen, und Security quasi von der Stange. Was bleibt also für den Entwickler zu tun? Genau, das Coden. Und genau darum geht es schließlich, das Erstellen von Anwendungen.

Sich nur noch um das Coden kümmern? Wenn einem das bekannt vorkommt, dann ist das kein Wunder, denn in etwa das gleiche Versprechen gab es, als die Container-Technologie mit Docker Einzug in den Mainstream hielt. Allerdings wurde die Technologie relativ schnell von der Innovation eingeholt, sodass nun neue Ansätze nötig sind. Ansätze wie das auf der Google Cloud Next 18 angekündigte Open-Source-Projekt Knative.

Knative – Was steckt dahinter?

Entwickler und Unternehmen, die bereits heute auf Kubernetes und die Entwicklung containerisierter Anwendungen setzen, können sich über Knative freuen. Der Schritt von Kubernetes auf Knative und damit in die Welt von Serverless ist denkbar einfach, setzt Knative doch direkt auf Kubernetes und Istio auf. Oder anders ausgedrückt: Knative erweitert Kubernetes mit einer Reihe von Komponenten für das Erstellen von modernen, quellenzentrierten (source-centric) und Container-basierten Serverless-Anwendungen.

Knative macht es damit möglich, sowohl die Vorteile von Container-Technologie als auch von Serverless-Architekturen zu nutzen. Während die Container-Technologie bereits bekannt ist und sich durch eine hohe Portabilität auszeichnet, bietet Serverless dazu passend Effizienz und Automatisierung.
Egal, ob man nun Funktionen, Anwendungen oder Container deployen möchte: Knative unterstützt bekannte Muster, Sprachen und Frameworks, um jedwede Art von Workload zu deployen. Als Beispiele seien hier Django, Ruby on Rails, Spring, Docker und Git genannt. Und das Beste ist, dass dies lokal und on-premise, in der Cloud oder über mehrere Clouds hinweg funktioniert.

Knative Komponenten

Die Komponenten der neuen Open-Source-Plattform basieren auf Kubernetes und nehmen Entwicklern „lästige“ Aufgaben wie das Builden, das Deployment und das Managen der Anwendung ab. Sie können zum Beispiel dafür genutzt werden, den Workflow zwischen Quelle und Container zu orchestrieren oder übernehmen die automatische Skalierung der Workloads. Die Build-Komponente stellt etwa ganz konkret die Abstraktion und flexible Workflows für das Erstellen, Testen oder Deployment von Container Images oder Nicht-Container-Artefakten auf einem Kubernetes Cluster zur Verfügung.

Derzeit sind für Knative drei Komponenten verfügbar:

  • Build für die Source-to-Container Build-Orchestrierung
  • Eventing für das Management und die Auslieferung von Events
  • Serving für bedarfsgerechte Skalierung, auch auf 0 Instanzen

Die Liste soll in naher Zukunft und mit der Hilfe aus der Community (es sei erneut erwähnt, dass dieses Projekt komplett Open Source und in alle Richtungen kompatibel ist) deutlich erweitert werden. Damit sollen dann zukünftig noch mehr Aufgaben den Entwicklern abgenommen werden, die sich heute noch nicht automatisieren lassen.

Hintergrund & Ausblick

Die neue Open-Source-Plattform von Google, Pivotal, IBM, SAP, Red Hat und Co verspricht den Kampf zwischen Serverless- und Container-Technologie zu entscheiden. Zukünftig braucht kein Entwickler für sich einen der beiden Ansätze auszuwählen; einfach beide Ansätze vereint einzusetzen, ist das Mittel der Wahl. Doch bei der Erschaffung von Knative hatte man nicht nur Entwickler im Sinn.

Während Entwickler natürlich die Kubernetes-nativen APIs für das Deployment von Serverless-Funktionen, -Anwendungen und –Containern nutzen können, die von den Knative-Komponenten zur Verfügung gestellt werden, profitieren auch die Ops-Teams von besagten Komponenten. Entwickler, die an dem Projekt mitarbeiten möchten, sollen durch ein klares Projektziel, ein leichtgewichtiges Verwaltungsmodell und eine klare Abgrenzung zwischen den verschiedenen hinzufügbaren Komponenten angelockt werden.

Quelle: Google

Weitere Informationen zu Knative gibt es auf der offiziellen Homepage des Projektes und auf GitHub. Auf Hacker News sind zudem zahlreiche Mitglieder des Google Cloud Teams unterwegs, um Fragen aus der Community zu beantworten, und natürlich gibt es auch einen Blog-Beitrag von Google zu der Veröffentlichung von Knative.

Dominik Mohilo, Redakteur


Weitere Artikel zu diesem Thema