SPONSORED-POST Dossier in Kooperation mit Cyberlink

Alle reden von Containern, aber wo fängt man an?

Uhr
von Simon Anderegg, CFO & CMO, Cyberlink

Innovationsgeschwindigkeit in KMUs stellt erneut hohe Anforderungen an die IT. Applikationsentwicklung und ­Infrastruktur müssen gleichermassen zukunftsfähig gemacht werden. Software und System Engineers sind mehr denn je gefordert, gemeinsam einen Paradigmenwechsel voranzutreiben.

Simon Anderegg, CFO & CMO, Cyberlink. (Source: zVg)
Simon Anderegg, CFO & CMO, Cyberlink. (Source: zVg)

Als sich VMs durchgesetzt haben, konnten im Wesentlichen 30 bis 40 Jahre alte Konzepte aus der Hardware-Welt auf die virtuelle Welt übertragen werden. Container haben aber ein ganz anderes Betriebs- und Bereitstellungskonzept. Sie sind dynamischer, stateless und ein Stück weit flüchtig. Aus softwaretechnischer Sicht geht es nicht nur darum, eine neue Technologie einzuführen und zusätzliches Know-how aufzubauen, sondern primär um einen Paradigmenwechsel mit dem Ziel, komplexe monolithische Applikationen durch Microservices zu ersetzen. Der Aufwand ist nicht zu unterschätzen. Darum lohnt sich ein Blick auf die Funktions- und Einsatzmöglichkeiten und darauf, welchen Stellenwert Container-Virtualisierung in der eigenen Cloud-Strategie einnehmen soll.

VM vs. Container

Virtuelle Maschinen wurden entwickelt, um ein Hostsystem zu virtualisieren. Container gehen einen Schritt weiter und virtualisieren das darunterliegende Betriebssystem. Damit können Applika­tionen sehr einfach voneinander isoliert betrieben werden. Der Overhead wird kleiner, da nur die für die Applikation erforderlichen ­Dateien im Container bereitgestellt werden müssen. Und da ein Container im Idealfall sehr klein ist und sich aus einer Konfigura­tionsdatei überall und jederzeit neu aufbauen lässt, ergeben sich insbesondere in der Softwareentwicklung diverse Vorteile: Isola­tion, konsistente Umgebung, Portabilität, versionierbare Plattformdefinition, automatisierbar durch Integration in den Build-­Prozess. Die Zeit für Fehlerbehebung und Diagnose zwischen Umgebungen entfällt und die Bereitstellungszeit ist kürzer.

Nicht jede Applikation eignet sich für die Container-­Virtualisierung

Container können als Verbesserung der Virtualisierung gesehen werden, aber sowohl Container als auch VMs haben ihre Daseinsberechtigung und können parallel genutzt werden. Dabei eignen sich Container besonders für Workloads, die auf bestimmte Schlüsselkomponenten zurückgreifen und eine hohe Skalierbarkeit erfordern. VMs hingegen bieten insbesondere bei Workloads mit Persistenz und performancekritischen Anwendungen heutzutage noch minimale Vorteile. Doch auch dies wird sich zukünftig wohl noch ändern.

Container-as-a-Service

Cloud-Dienstleister bieten mit Container-as-a-Service (CaaS) einen sicheren Rahmen, in dem Kunden ihre Applikationen als Container betreiben können. Zusätzlich können bereits etablierte Tools und Prozesse weiterverwendet werden, um Container zu testen und zu deployen. CaaS bietet Kunden auch die Möglichkeit, Container mittels ihrer eigenen Tools und Workflows in einer branchenkonformen und standardisierten Kubernetes-Umgebung, ohne grossen Aufwand laufen zu lassen. Ein CaaS-Dienstleister stellt den Betrieb dieser Kubernetes-Cluster zu jeder Zeit sicher und kümmert sich um die Ausfallsicherheit.

----------

Die Vorteile von Cloud-Innovationen sollten nicht ungenutzt bleiben

In den Cloud-Betrieb wird erheblich investiert, aber um das Potenzial dieser modernen Infrastruktur voll auszuschöpfen, ist es wichtig, dass auch moderne Anwendungen auf diesen Umgebungen laufen. Wie man wachsendes Softwarevolumen mit der richtigen Infrastruktur in Einklang bringt, sagt Roman Wünsche, Lead Engineer Software bei Cyberlink. Interview: René Jaun

Warum setzt Cyberlink auch intern auf Container-­Virtualisierung?

Roman Wünsche: Der Status quo war schlicht und ergreifend nicht mehr ausreichend, um der zunehmenden Innovations­geschwindigkeit gerecht werden zu können. Ältere Konstrukte brauchen mehr Zeit, um sie betreuen und weiterentwickeln zu können, und bestehen insgesamt aus wesentlich mehr Einzelkomponenten, die ein Ausfallrisiko darstellen können. Die starren Strukturen hinderten uns daran, schnell eine Lösung zu testen oder eine neue Version zu deployen. Heute können wir in wenigen Minuten eine Anwendung innerhalb eines Containers redundant bereitstellen und das Ganze vollautomatisch. Dabei funktioniert sie immer gleich, ohne störende äussere Einflüsse. Nachteile ergeben sich in der komplexeren Architektur.

Geben Sie uns mal einen Einblick in Ihre Welt. Was meinen Sie mit Paradigmenwechsel?

Während bei monolithischen Anwendungen viele Teile in einem Paket gekapselt sind, werden diese bei Microservices nun in kleinere Einzelteile aufgeteilt und separat in isolierten Containern betrieben. Ein Microservice verhält sich nicht mehr wie eine eingebettete Bibliothek oder ein Modul, sondern wie ein eigenes Umsystem. Dieser Umstand führt dazu, dass die Kommunikation völlig neu geregelt werden muss. Wer ernsthaft mit dem Thema Microservice startet, wird konsequenterweise von einer synchronen Kommunikation auf eine Softwarearchitektur mit asynchroner Kommunikation umstellen wollen. Dies ist nur ein Teil, mit dem man sich näher befassen muss. Daneben gibt es zahlreiche andere Konzepte und Regeln, die bei Microservices beachtet werden sollten (siehe hierzu https://12factor.net). Alles in allem ist der Wechsel zu einer Microservice-Architektur ein grosses Unterfangen, benötigt ein anderes Denken, viel Know-how und wird von vielen Entwicklern anfänglich unterschätzt.

Was begeistert Sie als Software Engineer am meisten an Containern?

Durch Container bin ich als Entwickler unabhängig. Ich kann schnell und einfach neue Dinge testen und gehe gleichzeitig sicher, dass sich die Applikation später auch auf dem Live-System genau gleich verhält. Daneben nimmt mir die Container-Plattform all jene Dinge ab, die ich ansonsten eigenständig lösen müsste. Angefangen beim Deployment über den Zugriff bis hin zur Verwaltung und Überwachung. Je nach Feature-Set der Plattform kann ich mich auf das konzentrieren, was ich am liebsten mache: Software entwickeln.

Wie profitieren Cyberlink-Kunden von CaaS?

Container-as-a-Service ist ein weiterer Baustein in unserem Cloud-Portfolio. Unseren Kunden stellen wir innerhalb des Virtual Private Cloud Service (VPC) die Möglichkeit bereit, CaaS auf Basis von Kubernetes zu betreiben. Die Container-Plattform basiert auf dem «TANZU»-Portfolio von VMware. Diese Kubernetes-Umgebung kann pro VDC redundant konfiguriert werden und steht Kunden in unserem VPC-Portal im Selfservice zur Verfügung. Somit lassen sich ein oder mehrere Kubernetes-Cluster (Pods) mit beliebigen Konfigurationen erstellen, um Container Workloads innerhalb der Cyberlink-VPC-Infrastruktur zu be­treiben.

Tags
Webcode
DPF8_232822