© Javier Calvete/Shutterstock.com
Entwickler Magazin
Einführung zu Knative und seinen Komponenten

Knative: Serverless Apps deployen

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 dieser Artikel im Überblick.

Jürgen Hoffmann


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 ...

Entwickler Magazin
Einführung zu Knative und seinen Komponenten

Knative: Serverless Apps deployen

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 dieser Artikel im Überblick.

Jürgen Hoffmann


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 ...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang