Jürgen Hoffmann Pivotal

„Knative ist als Rundumunterstützung gedacht: Mit Kubernetes und Istio als Basis soll es Nutzern dabei helfen, Anwendungen zu entwickeln, in Container zu packen, die Apps auszuführen und schließlich die Infrastruktur zu skalieren.“

Knative schließt die Lücke zwischen der Containerorchestrierung mit Kubernetes und Serverless Computing. Die Komponenten Serving, Build und Eventing, die die Open-Source-Plattform mitbringt, um Event-getriebene Funktionen zu deployen, beschreibt der Artikel im Überblick.

Dass Serverless Computing nicht ohne Server funktioniert, ist klar. Hinter dem Buzzword steckt aber eine Philosophie, die sich in der Entwicklung des Cloud-Computings und dem Wunsch der Entwickler, sich mehr um Code und weniger um Infrastrukturen zu kümmern, begründet. Denn auch wenn Cloud-Services den Administratoren und Developern einiges an Arbeit abnehmen – selbst bei Platform-as-a-Service-(PaaS-)Diensten muss der Nutzer mit den APIs interagieren. Nur dann kann die Skalierung bei Bedarf sichergestellt werden. So entfällt in der Praxis durch die Nutzung von weitgehend gemanagten Cloudressourcen zwar einiges an Aufwand für das Aufsetzen und Betreiben der notwendigen Infrastruktur und entsprechenden Backend-Services. Dennoch müssen sich Entwickler noch immer mit benötigten Laufzeitumgebungen, Deployment-Parametern und Ähnlichem befassen.

Serverless will das ändern. Der Serverless Service, weiterhin durch Server im Backend des Clouddienstleisters betrieben, stellt automatisch alle notwendigen Ressourcen bereit, und zwar genau dann, wenn die Anwendung sie anfordert. Entstanden ist diese Event-getriebene Abarbeitung vor allem durch Anwendungen und Services, die immer wieder oder tausendfach hintereinander ausgeführt werden müssen. Wenn etwa Daten aus einer Public-Cloud in einen Data Warehouse geladen werden sollen – typisch dafür sind beispielsweise ETL-Prozesse – führt das System immer wieder denselben Prozess durch. Knative sorgt dann dafür, dass jederzeit genügend Rechenkapazitäten zur Verfügung stehen, ohne dass sich der Entwickler jedes Mal neu darum kümmern muss.

Containerorchestrierung mit Kubernetes

Trends wie die Entwicklung hin zu Microservices sowie die Containerisierung untermauern den Serverless-Gedanken. In einem Container werden mit der eigentlichen Anwendung zusätzliche Informationen (Laufzeitparameter, Bibliotheken etc.) verpackt, die notwendig sind, um die App zu starten. Der Vorteil: Man kann vorgefertigte Basisbetriebssysteme verwenden. Ein eigenes Betriebssystem mit eigener virtueller Maschine ist nicht notwendig, die App startet dadurch schneller, und das Container Image ist einfacher portierbar. Für einzelne Anwendungen bleibt dieser Prozess leicht überschaubar. Verwendet man viele Container, wird ein Orchestrierungstool notwendig. Kubernetes automatisiert das Einrichten, Betreiben und Skalieren von containerisierten Anwendungen. Eine große Community unterstützt das Docker-nahe Tool, namhafte Cloudanbieter von Microsoft bis Amazon tun dies ebenso. Zwischen der Containerorchestrierung mit Kubernetes und einem Serverless Deployment fehlt jedoch noch das verbindende Element.

Den vollständigen Artikel lesen Sie in der Ausgabe:

Entwickler Magazin Spezial Vol. 20: Kubernetes - "Kubernetes"

Alle Infos zum Heft
579891257Knative: Serverless Apps deployen
X
- Gib Deinen Standort ein -
- or -