Virtuelle Maschinen, Container, Serverless – wer braucht was?

Jetzt Artikel teilen:

Agile Softwareentwicklung hilft Unternehmen, ihre Prozesse zu optimieren. Doch welche Technologie eignet sich für welche Anforderungen?

Sprach man früher von Virtualisierung, meinte man hauptsächlich virtuelle Maschinen. VMs machten sich als schlankere und schnellere Alternative zu dedizierten Servern einen Namen. Heute liest man in den Fachmedien immer öfter von Postvirtualisierung, Containern und Serverless Computing. Viele Unternehmen fragen sich daher, welches Konzept denn nun das Richtige für sie ist und für welchen Technologieansatz sie sich entscheiden sollen.

Tatsache ist: Es gibt keinen allumfassenden Ansatz. Vielmehr gilt es, die Softwareentwicklung so gut wie möglich zu unterstützen. Denn sie steht im Rahmen der digitalen Transformation zunehmend im Mittelpunkt. Dazu müssen Unternehmen zunächst ihren Bedarf analysieren und dann den jeweils passenden Ansatz oder einen entsprechenden Technologiemix auswählen.

Container beschleunigen die Entwicklung

Container-Technologien rund um Docker haben in den letzten Jahren den Markt erobert. Denn sie unterstützen Unternehmen dabei, ihre Software zügig zu entwickeln und den Rollout von Anwendungen erheblich zu beschleunigen und zu vereinfachen. Der wesentliche Vorteil von Containern liegt darin, dass man Anwendungen mit dieser Technologie in viele kleinere Bestandteile zerlegen kann. Die Anwendung agiert nicht mehr wie ein starrer Monolith, sondern besteht aus vielen Einzelbausteinen. Diese Programmbausteine können Entwickler dann unabhängig voneinander weiterentwickeln oder anpassen. Das ermöglicht einen zügigen Rollout neuer Anwendungen bzw. schnelle Updates.

Wettbewerbsvorteile durch Container-Technologien

Warum eigentlich Container im Unternehmen einsetzen? Das Whitepaper zeigt die wirtschaftlichen Vorteile.

Jetzt kostenlos downloaden

Container erleichtern die Digitalisierung

Gerade für Unternehmen, die einen hohen Digitalisierungsgrad anstreben, eignen sich Container deshalb optimal. Denn ihre Prozesse basieren auf einer zunehmenden Anzahl von Anwendungen, die alle schnell und flexibel entwickelt, aktualisiert und bereitgestellt werden müssen. All das ist durch den Einsatz von Containern schnell und agil möglich.

Zudem setzen Unternehmen im Rahmen der Digitalisierung vermehrt auf unterschiedliche Cloud-Plattformen. Denn das gibt ihnen die nötige Freiheit, für jede Anwendung die passende Umgebung nutzen zu können. Auch für ein solches Umfeld sind Container wie geschaffen. Sie sind unabhängig von einem Host-Betriebssystem und haben ihre Laufzeitumgebung inklusive aller benötigten Abhängigkeiten gleich mit im Gepäck. So können sie relativ einfach zwischen unterschiedlichen Plattformen hin und her geschoben werden.

Damit die Vielzahl interagierender Container innerhalb einer Anwendung beherrschbar bleibt, kommen sogenannte Orchestrierungslösungen wie Kubernetes zum Einsatz. Um die Komplexität zu minimieren, können Unternehmen solche Lösungen auf Wunsch als Managed Service über einen Cloud Service Provider beziehen.

Container optimal im Griff

Erfahren Sie mehr über die richtige Vorgehensweise, um Container im Unternehmen zu etablieren und sicher zu betreiben.

Jetzt kostenlos downloaden

Virtuelle Maschinen: Wenn Agilität nicht im Vordergrund steht

Virtuelle Maschinen lassen sich im Vergleich zu Containern nicht so einfach zwischen unterschiedlichen Plattformen hin und her schieben. Denn sie werden mit einem bestimmten Hypervisor erstellt. Basiert eine gewählte Plattform auf diesem Hypervisor – gut. Wenn nicht, ist die entsprechende virtuelle Maschine nicht mit der Plattform kompatibel.

Dennoch gibt es nach wie vor viele Einsatzbereiche, in denen VMs die bessere Wahl sind. Hierzu zählen beispielsweise Legacy-Anwendungen, die sich nicht einfach in viele kleine Bausteine umschreiben lassen. Oder datenbankbasierte Anwendungen, bei denen die Datenpersistenz im Vordergrund steht. Auch unter Sicherheitsaspekten können virtuelle Maschinen eine Alternative zu Containern sein. Denn jede VM läuft isoliert und nutzt ein eigenes Gastbetriebssystem. Zudem sind die zugrunde liegenden Hypervisoren meist weniger empfindlich für Angriffe als beispielsweise ein Linux-Kernel. Diesen teilen sich mehrere Container, sodass ein manipulierter Linux-Kernel weitreichenden Folgen haben kann.

Serverless ist Entwicklers Liebling

Beim Serverless Computing lädt der Kunde ausschließlich seinen Programmcode in die Cloud. Der Entwickler muss sich nicht zusätzlich um die Konfiguration der genutzten Cloud-Ressourcen kümmern. Kein Wunder also, dass Serverless der Liebling der Entwickler ist. Denn sie können sich so maximal auf das Programmieren fokussieren und entsprechend schnell neue Anwendungen, Features und Updates entwickeln.

Damit die automatisierte Bereitstellung von Software über den Serverless-Computing-Dienst des Providers gelingt, muss der Entwickler in seiner Anwendung „Funktionen“ integrieren. Diese Funktionen sind Code, der beschreibt, wie die Anwendung auf ein bestimmtes vordefiniertes Ereignis reagieren soll. Eine Funktion kann beispielsweise lauten: „Erstelle einen Datenbankeintrag, nachdem eine Datei hochgeladen wurde.“ Wenn bestimmte Funktionen aufgerufen werden, startet der Serverless-Dienst diese in einem Container und führt sie entsprechend aus.

Serverless ermöglicht flexible Abrechnung, aber wenig Kontrolle

Serverless Computing bietet den Vorteil einer höchst flexiblen Abrechnung, die entsprechend der tatsächlich verbrauchten Ressourcen der Anwendung erfolgt. Der Kunde bezahlt also nur, wenn und solange der Code auch wirklich ausgeführt wird (pay per use). Allerdings hat der Nutzer bei diesem Angebot keine Kontrolle über die zugrunde liegenden Container.

Zudem gibt es auf Seiten der Anbieter bestimmte Ausführungslimits. Deshalb müssen Funktionen möglichst schlank programmiert werden. Für Unternehmen ist es daher nicht wirklich ratsam, komplette Anwendungen über eine Serverless-Architektur abzubilden. Für kleinere Aufgaben, die im Hintergrund ablaufen, eignet sich Serverless dagegen gut. Denn ein Serverless-Dienst beim Provider kann besonders schnell und entsprechend kostenoptimiert genutzt werden.

Die Mischung macht’s

Für die meisten Unternehmen stellt sich in der Praxis nicht die Frage des Entweder-oder. Vielmehr bietet sich die Nutzung mehrerer Technologien parallel an. Je nach Anzahl der Anwendungen und Dienste können Unternehmen beispielsweise Container und virtuelle Maschinen kombinieren. Dabei können sie für die Entwicklung neuer Anwendungen Container in der Public Cloud nutzen. Datenbanken, geschäftskritische Anwendungen und Applikationen, die eine konstante Last benötigen, laufen auf VMs in einer Private Cloud.

Ebenso können Serverless Computing und Container parallel genutzt werden. Denn beide Technologien unterstützen eine agile Softwareentwicklung. Für Anwendungsbestandteile, die unter kontrollierten Bedingungen laufen müssen, eignen sich Container. Weniger kritische Funktionen werden schnell und flexibel Serverless bereitgestellt.

Badge ISG Provider Lens Rising Star Managed Container as a Service

Sie suchen einen Partner für Container-Lösungen? PlusServer ist Rising Star im Quadranten Managed Container as a Service in der ISG Provider Lens 2019. 

Jetzt Artikel teilen:

Das könnte Sie auch interessieren