Edge Clouds sollten aus mindestens zwei Layern bestehen – beide unterstützen einen effektiveren Betrieb und die Produktivität der Entwickler, obwohl jeder unterschiedlich aufgebaut ist. Der erste ist der Infrastructure-as-a-Service (IaaS)-Layer. Neben der Bereitstellung von Rechen- und Speicherressourcen sollte der IaaS-Layer die Anforderungen an die Netzwerkleistung mit extrem niedrigen Latenzen und hoher Bandbreite erfüllen.
Die zweite betrifft Kubernetes, welches sich zum De-facto-Standard für die Orchestrierung von containerisierten Workloads im Rechenzentrum und in der Public Cloud entwickelt hat. Kubernetes begann als internes Projekt bei Google und hat sich zum größten Open-Source-Projekt in der Geschichte entwickelt. Dieser Erfolg rührt her aus den der Plattform innewohnenden Vorteilen. Dazu gehört die sehr breite Open-Source-Entwicklergemeinde und die Möglichkeit, Kubernetes auf die Anforderungen praktisch jedes Unternehmens zu skalieren. werden. Kubernetes bildet so auch eine zentrale Grundlage für das Edge Computing.
Die Verwendung von Kubernetes für den zweiten Layer ist zwar nur optional, hat sich aber als die Plattform der Wahl für Unternehmen erwiesen, die ins Edge Computing einsteigen. Da Kubernetes eine gemeinsame Abstraktionsebene über den physischen Ressourcen – Rechenleistung, Speicher und Netze – bietet, können Entwickler oder DevOps-Ingenieure Anwendungen und Dienste in einem standardisierten Verfahren überall und eben auch am Netzwerkrand bereitstellen.
Kubernetes ermöglicht es Entwicklern auch, ihre DevOps-Praktiken zu vereinfachen und den Zeitaufwand für die Integration in heterogene Betriebsumgebungen zu verringern. Ein kleiner Nebeneffekt sind zufriedene Entwickler und zufriedene Betreiber.
Wie können Organisationen diese Layer einsetzen?
Im ersten Schritt geht es darum, sich über die physische Infrastruktur Gedanken zu machen und zu klären, welche Technologie für das effektive Management der Infrastruktur verwendet werden soll, um dann die ‚rohe‘ Hardware in einen IaaS-Layer zu konvertieren.
So genannte ‚Operational Primitives‘, also Funktionen, die für den Betrieb von „Infrastructure as a code“ wesentlich sind, können für die Hardware-Erkennung verwendet werden. Sie bieten die Flexibilität, Rechenressourcen zuzuweisen und deren Nutzung dynamisch neu zu verteilen.
Technologisch ist es mittlerweile möglich, Edge Clouds auf Basis von KVM-Pods automatisiert zu erstellen. KVM steht für Kernel based Virtual Machine und bezeichnet eine Infrastruktur des Linux-Kernels zur Virtualisierung. KVM-Pods tragen dazu bei, dass sich physische Server wie eine elastische Cloud-ähnliche Ressource behandeln lassen. Der Pod beschreibt effektiv die Verfügbarkeit von Ressourcen und ermöglicht die Erstellung (oder Zusammenstellung) von Maschinen mit einer Zusammenstellung dieser Ressourcen. Ein Benutzer kann die erforderlichen CPU-, RAM- und (lokalen oder Remote-) Speicherressourcen manuell der dynamisch zuweisen. Der Vorteil für Betreiber besteht darin, dass sie damit virtuelle Maschinen mit vordefinierten Ressourcen (RAM, CPU, Speicher- und Überbelegungsraten) aufbauen können.
Sobald die physische Infrastruktur für die Edge Cloud definiert und bereitgestellt ist, kann der zweite Schritt angegangen werden: Die Auswahl eines Orchestrierungstools, mit dem sich die Installation von Kubernetes oder einer beliebigen Software auf der Edge-Infrastruktur einfach gestalten lässt. Im letzten Schritt geht es darum, die Umgebung bereitzustellen und mit der Inbetriebnahme und der Validierung der Anwendung zu beginnen.
Kubernetes ermöglicht es Telekommunikationsbetreibern, Container am Netzwerkrand so zu betreiben, dass die Ressourcennutzung maximiert und Tests vereinfacht werden. DevOps-Teams erhalten ein Verfahren, schneller und effektiver arbeiten, während diese Unternehmen mehr Daten im Feld verbrauchen und analysieren.
Ammar Naqvi ist Product Manager bei Canonical