Defintion „Cloud-nativer Solution Stack“ Was ist ein Cloud Native Stack?
Anbieter zum Thema
Der Begriff „Cloud Native Stack“ bezeichnet einen Stapel aufeinander aufbauender Tools, der die Grundlage für die Entwicklung Cloud-nativer Anwendungen bildet. Er ermöglicht es, Microservices zu einem System zu bündeln. Dies bietet einige Vorzüge, ist allerdings nicht ganz trivial.

Cloud-native Apps bieten viele Vorteile. Sie sind hoch automatisiert, von der zugrundeliegenden Infrastruktur unabhängig, weitgehend frei von technischen Voraussetzungen am Arbeitsplatz des Endnutzers und sie lassen sich exakt an den aktuellen Bedarf anpassen. Ressourcen werden je nach Situation zugewiesen oder wieder abgezogen.
Dies funktioniert allerdings nur auf Basis einer Kombination aus verschiedenen Lösungen, dem sogenannten Cloud Native Stack. Dieser Tool-Stapel stellt den Rahmen für den Betrieb komplexer, verteilter Anwendungen, die in Form von Microservices in der Cloud ausgeliefert, betrieben und mitunter auch bereits entwickelt werden. Schlüsseln wir dies nach der Reihe auf.
Cloud Native Apps: die Summe von Microservices
Microservices sind ein spezielles Architekturmuster im IT-Bereich. Eigentlich voneinander unabhängige Vorgänge werden zu einer komplexen Anwendung zusammengefasst. Jeder der Dienste bleibt dabei aber weitgehend isoliert und erledigt nur eine kleine Aufgabe. Notwendig ist also sprachunabhängige Schnittstelle, die als Verbindung zwischen den einzelnen Diensten dient.
Eine Cloud-Struktur ist hierfür besonders gut geeignet, da hier die Dienste am einfachsten mit einer solchen Schnittstelle verbunden werden können. Eine Cloud-native App ist also die Summe von Microservices, die in einer Cloud über eine sprachunabhängige Programmierschnittstelle kommunizieren und so bestimmte Dienste bereitstellen.
Daraus folgt:
- Die Microservices müssen zu einem klar erkennbaren System zusammengefügt werden und dürfen nicht von anderen Anwendungen angesprochen werden.
- Je nach Bedarf ist es möglich,einzelne Microservices hinzuzufügen oder wieder zu entfernen.
- Nötig ist also eine Struktur, die möglichst schnell auf aktuellen Bedarf reagieren kann. Dies bedeutet, sie muss stets die neuesten Informationen auslesen und analysieren.
Daraus ergibt sich eine verteilte Anwendung, die all ihrer Komplexität trotzdem außerordentlich robust sein muss. Um Cloud-native Anwendungen möglichst flexibel zu betreiben aber einheitlich zu entwickeln, wird zunächst der Stack festgelegt, auf dem diese laufen sollen. Dank der Bemühungen der Cloud Native Computing Foundation (CNCF), in der die großen Cloud-Betreiber und Tool-Entwickler sich engagieren, existiert bereits eine ganze Reihe an Open-Source-Bausteinen, aus denen ein Stack zusammengesetzt sein kann.
Der Aufbau eines Cloud Native Stacks
Ein Cloud Native Stack besteht grundlegend aus drei Ebenen bzw. Schichten:
1. Cluster Scheduler: Er führt als Schicht die Container einer Anwendung auf Cloudknoten möglichst ressourcenschonend und zuverlässig aus. Er ermittelt die notwendigen Ressourcen und stellt diese bereit. Dies können beispielsweise virtuelle Maschinen sein.
2. Cluster Orchestrator: Er steuert und überwacht als Schicht die Ausführung der Container einer App. Er verwaltet also die ganze Anwendung und muss sicherstellen, dass sämtliche Betriebsvorgänge automatisiert ablaufen.
3. Application Platform und/oder Microservices Framework: Hier werden die Anwendungen und Dienste implementiert sowie ausgeführt. Dies ist die technische Infrastruktur für die App-Entwicklung.
Die verteilten Systemdienste (sprich: die Cloud nativen Apps) nutzen alle drei Schichten.
Cloud Native Stack bildlich erklärt
Eine Metapher soll verdeutlichen, was oben erläutert wurde. In einem Bürohaus laufen zahllose unterschiedliche Prozesse ab. Personal reinigt die Gänge, anderes kopiert, Mitarbeiter teilen Post aus, etc. - koordiniert wird das Ganze zentral von einem einzigen Büro als Cloud Native Stack. Dieses muss wissen, welche Prozesse durchgeführt werden müssen (Microservices Framework), wann was wo stattzufinden hat (Cluster Scheduler) und wie dafür gesorgt werden kann, dass die Vorgänge automatisch wiederholt werden (Cluster Orchestrator). Sollen neue Prozesse dazu kommen oder bestehende Vorgänge entfernt werden, kann dies zentral vom Büro aus veranlasst werden.
(ID:46405452)