Die immer weiter steigende Beliebtheit und Verbreitung von Cloud Computing, die damit üblicherweise einhergehende Virtualisierung, immer kürzere Software-Updatezyklen, sich ständig ändernde Marktanforderungen: Dies sind nur einige der Gründe, die die Unternehmens-IT und Entwickler vor neue Herausforderungen stellen. Der Fokus liegt inzwischen nicht mehr auf der Bereitstellung von Hardware, stattdessen rücken Aspekte wie Agilität, Skalierbarkeit und Sicherheit von IT-Systemen immer weiter in den Vordergrund. Einen effizienten Lösungsansatz bietet die Containerisierung von Anwendungen. Die Technologie hat sich in den letzten Jahren rasant entwickelt – und wird mehr und mehr zu einem echten Erfolgsfaktor.
Wer das Wort „Container“ hört, denkt zuerst nicht an Software, sondern an riesige Frachter und lange Güterzüge. Die Erfindung des Containers revolutionierte in den 1950er Jahren die gesamte Transport- und Logistikbranche: Es war nun möglich, Waren in standardisierten Einheiten schnell und effizient zu verladen und zu transportieren. Auf demselben Prinzip basieren auch Software-Container.
Was sind Container in der IT?
Erste Ansätze von Containerisierung in der IT gab es bereits in den 1970er Jahren. Zu einem echten Gamechanger hat sich die Technologie allerdings erst im Laufe der letzten Jahre entwickelt. Und die Software-Container sind – genau wie ihre stählernen Vorbilder aus dem Transportwesen – gekommen, um zu bleiben: Aktuelle Vorhersagen prognostizieren einen weltweiten Anstieg des Container-Marktes von aktuell vier auf über 30 Milliarden US-Dollar bis zum Jahr 2030.
In der IT nutzen Container genau die Vorteile, die auch Schiffscontainer haben: In ihnen lässt sich Software isoliert von anderen Anwendungen und Systemkomponenten in einer Standardeinheit verpacken, die in sämtlichen IT-Umgebungen auf die gleiche Weise funktioniert – unabhängig von Betriebssystem, eingesetzter Hardware und Bereitstellungsmethode (Cloud, On-Premises, hybrid). Dabei enthält der Container alles, was für das Ausführen der Software notwendig ist: die Anwendungsdateien, Bibliotheken, Konfigurationsdateien und Binärcode. Alles zusammen bildet eine einzelne Datei, den Container.
Die Vorteile von Containern
Ein Container eignet sich für die Ausführung von kleinen Anwendungen, sogenannten Microservices, genauso wie für große Applikationen. Dies gibt Entwicklern die Möglichkeit, die verschiedensten IT-Projekte mithilfe der Methodik durchzuführen. Dabei profitieren sie von jeder Menge Vorteilen, die die Anforderungen an ein modernes IT-Management adressieren:
- Containerisierung ist effizient: Sie ermöglicht es, Anwendungen schneller zu entwickeln, zu testen und bereitzustellen sowie sie zu patchen, zu migrieren und neu zu implementieren.
- Container verfügen über eine hohe Portabilität: Container-Anwendungen werden nicht für eine bestimmte IT-Umgebung entwickelt, sie sind auf allen Systemen universell und eigenständig lauffähig. Positiver Nebeneffekt: Unternehmen sind nicht an bestimmte Anbieter – etwa Cloud-Provider – gebunden, sondern können die Anwendungen problemlos migrieren.
- Container sind hochstandardisiert und in ihrer Ausführung konsistent: Die Anwendungen werden in jeder IT-Umgebung auf gleiche Art und Weise ausgeführt. Das reduziert Fehler und aufwendige Anpassungen bei der Migration in ein anderes System.
- Container vereinfachen Updates und weitere Supportprozesse: Die Standardisierung und der äußerst geringe (De-)Installationsaufwand von Container-Anwendungen ermöglichen eine hohe Supportfähigkeit und reduzieren Ausfallzeiten auf ein Minimum.
- Container-Anwendungen sind hochgradig skalierbar: Ein Container kann mehrfach gestartet werden. Die einzelnen Instanzen laufen in einem solchen Fall parallel. Bei steigendem – aber auch sinkendem – Bedarf können Unternehmen die Leistungsfähigkeit der Software kurzfristig nach oben oder unten skalieren.
- Container-Software ist agil und leichtgewichtig: Der Ressourcenverbrauch von Containern ist äußerst gering, vor allem im Vergleich zu virtuellen Maschinen, die ähnliche Aufgaben übernehmen. Dies liegt unter anderem daran, dass sie nicht auf einem Host ausgeführt werden und kein Betriebssystem-Image beinhalten, das vor dem Ausführen der Anwendung geladen werden muss. Sie können daher schnell gestartet werden – und Ausfallzeiten reduzieren sich auf ein Minimum. Hinzu kommt: Aufgrund des vergleichsweise geringen Overheads lassen sich durch Container Serverkosten erheblich reduzieren.
- Container sind modular: Einzelne Funktionen innerhalb einer Anwendung können auf verschiedene Container verteilt und je nach Bedarf einzeln oder komplementär ausgeführt werden. Das erlaubt es, Systemressourcen nur dann zu beanspruchen, wenn eine Funktion oder Anwendung tatsächlich benötigt wird.
- Container ermöglichen es, Fehler zu isolieren: Tritt innerhalb eines Containers ein Fehler auf, können Entwickler diesen isoliert identifizieren und beheben. Andere Systemkomponenten werden nicht beeinträchtigt. Dies erhöht die (Ausfall-)Sicherheit des Gesamtsystems beträchtlich – ein wichtiger Aspekt im Zusammenhang mit Informationsplattformen wie nscale, deren ständige Verfügbarkeit essenziell für Geschäftstätigkeit und -erfolg der Anwender ist.
- Container erhöhen die IT-Sicherheit: Die Isolierung von Anwendungen durch Containerisierung stellt sicher, dass Malware den Container nicht verlassen oder in ihn eindringen kann.
- Einfaches Management: Die führende Containerorchestrierungssoftware Kubernetes ist quelloffen und ein wertvolles Tool für das effiziente Management von Containern.
Containerisierung leicht gemacht: Die Generic Base App
Mit der Generic Base App stellen wir Unternehmen ein eigens entwickeltes Tool zur Verfügung, mit dem Programmierer – und dank Low code/No code-Ansatz auch Mitarbeiter ohne IT-Expertenwissen – schnell und einfach Container-Anwendungen für die Informationsplattform nscale erstellen können.
Die Software basiert auf der Programmiersprache XML und beinhaltet eine umfangreiche Sammlung von vorgefertigten Konfigurationsobjekten. Ein integrierter Wizard unterstützt bei der Anwendungsentwicklung.
Die Generic Base App erlaubt es Anwendern von nscale, Konfigurationen der Informationsplattform unter geringem Aufwand in Container zu verpacken und auf einem anderen System zu installieren. Die aufwendige Prüfung von Konfigurationen mittels Scripting entfällt. Das Ausrollen von Szenarien sowie das Testen von Anwendungen werden so zum Kinderspiel.
Fazit
Containerisierung versetzt Unternehmen in die Lage, ihre Anwendungsentwicklung erheblich zu beschleunigen und zu verbessern – plattform- und systemunabhängig. Damit ermöglicht sie es, agil auf Veränderungen zu reagieren und mit der immer weiter zunehmenden Innovationsgeschwindigkeit in den Märkten Schritt zu halten.
Ceyoniq Technology GmbH ist ein Konzernunternehmen von Kyocera Document Solutions.