Ein paar Knoten schneller Anwendungsentwicklung auf hybriden Container-Management Plattformen
Erster zu sein, ist nicht nur im Sport das oberste Ziel. Zeit spielt auch bei der Entwicklung von neuen Anwendungen eine ganz entscheidende Rolle, um sich gegen den Wettbewerb zu behaupten.Welche Potenziale die Entwicklung von Geschäftsanwendungen insbesondere auf hybriden Container-Management-Plattformen hat, beschreibt Erich Vogel von Computacenter.
Anbieter zum Thema

Unternehmen setzen verstärkt auf eine IT-Infrastruktur, mit der Server-Applikationen schneller und innovativer eingesetzt oder fortlaufend weiterentwickelt sowie betrieben werden können – die Basis dafür sind hybride Infrastrukturen. Entwickler profitieren dabei von flexiblem Daten-Management und einfacher Skalierbarkeit. Denn diese hybriden Systeme lassen sich von Unternehmen zusammen mit der Container-Technologie bereits in der Anwendungsentwicklung sinnvoll nutzen.
Viele kleine Bausteine ergeben ein großes Ganzes
Was sind Container überhaupt? In der IT bieten sie die Möglichkeit, Bestandteile einer Anwendung in handlichen Paketen zu bündeln. Nicht nur einzelne Anwendungen, sondern auch ihre einzelnen Funktionen lassen sich für Containern entwickeln. Ein Container ist dabei quasi eine kleine virtuelle Maschine, die nur die notwendigen Programmzeilen enthält. Hinzu kommen die notwendigen Bibliotheken oder Hilfsprogramme, entweder direkt im Container oder angesprochen über Schnittstellen. Auch die Nutzung von Ressourcen läuft über APIs – es handelt sich um Software-definierte Infrastruktur. Immer komplexer werdende Server-Anwendungen werden so in überschaubare Einzelteile zerlegt und nach Bedarf und Anforderung zusammengesetzt.
Das Management und die Entwicklung von Anwendungen für Unternehmen werden somit leichter und schneller. Wenn ein Container nur bestimmte Funktionalitäten ausführt, dann können Veränderungen an diesen auch effizient vorgenommen werden – es geht nicht gleich um 50.000 Zeilen Code. In einem solchen Microservice steckt nur der jeweilige Code, der für eine bestimmte Funktionalität benötigt wird, zum Beispiel für eine Fehlerbeseitigung oder eine neue Funktionalität auf der Web-Oberfläche.
Das Zusammenspiel mit den anderen Funktionen erfolgt über Schnittstellen, ihr Code wird von Veränderungen aber nicht betroffen. Container können auch als Images leicht verschoben werden. All das bietet deutliche Vorteile in der Entwicklung, setzt aber auch eine andere Arbeitsweise voraus.
Die Revolution in der Anwendungsentwicklung
Durch die Entwicklung von Anwendungen als Kombination von Funktionalitäten in Containern lassen sich Anwendungen schneller entwickeln, testen und in Produktion nehmen. Der Entwickler einer einzelnen Funktion hat weniger Abstimmungsbedarf, Veränderungen können isolierter umgesetzt und getestet werden.
Schon das Setup der Umgebung ist einfacher: Auf einer Container Management Plattform kann der Entwickler einfach seinen Ressourcenrahmen konsumieren – CPU-Leistung, Speicherbedarf, Bandbreite. Die Plattform wählt dann die richtige Infrastruktur für den Container nach definierten Regeln.
Auch der Testprozess wird schneller, lässt sich sogar automatisieren: Ein Update einer Funktionalität kann dann etwa auslösen, dass der Container automatisiert in der Testumgebung gestartet wird, Tests ablaufen und protokolliert werden. Das kann diesen Prozess auf ein paar Stunden verkürzen.
Stärkung des Teamgeists
Mit Container-Lösungen geht auch eine neue Art der Zusammenarbeit in den DevOps-Teams einher. Es gibt keine klare Trennung mehr zwischen den Verantwortlichkeiten von Entwicklern und Betreibern – sie arbeiten eng zusammen und haben die Verantwortung für ein Projekt.
Tritt ein Problem auf, ist das gesamte DevOps-Team dafür verantwortlich, einen Fehler zu beheben. Ein Beispiel: Wenn ein Update für eine Funktion, die den Bestell-Button auf einer Web-Oberfläche steuert, zu Fehlern führt, dann ist der Entwickler der containerisierten Funktion in der Verantwortung, das zu fixen. Es gibt nicht erst einen Prozess vom Betreiber zurück in die Entwicklung. Das containerbasierte Entwickeln benötigt daher andere Organisationsstrukturen – und in Teilen auch andere Arbeitsweisen und Skillsets. Denn auch die Verantwortung des Einzelnen wächst.
Container – Enabler für hybride Systeme
Eine Container Management Plattform bietet zahlreiche Vorteile. Und ihre grundlegende Funktion – die Nutzung von Schnittstellen zur Ansprache von Software wie Infrastruktur – heißt auch, dass mit ihr hybride Systeme reibungslos umsetzbar sind. Denn in der Ansprache über Schnittstellen macht es keinen Unterschied mehr, was für ein System angesprochen wird.
Für Cloud Computing kommen ohnehin APIs zum Einsatz. Wenn auch im eigenen Rechenzentrum über eine API-Schicht gesteuert wird, kann die Container Management Plattform flexibel und reibungslos auf alle Ressourcen zugreifen. Und die jeweils am besten geeignete Lösung für jedes Projekt einsetzen.
Die Plattform verwaltet die hybride Umgebung und kann Container im eigenen Rechenzentrum oder in „Microsoft Azure“ oder „AWS“ betreiben. Durch die Kombination von offenen Cloud-Infrastrukturen, Management-Anwendungen und Container-Technologien spielt es künftig keine Rolle mehr, wo sich die Systeme befinden. Mit entsprechenden Abstraktionsschichten lässt sich alles beliebig kombinieren.
Viele Regeln
Das heißt auch, dass regelbasiert automatisch die effizienteste Aufteilung gewählt werden kann. Und ´normale` Entwickler oder Betreiber sich um diese Schritte nicht kümmern müssen. Selbst der Wechsel einer Funktionalität von der Entwicklungs- auf die Test- und anschließend die Laufumgebung lässt sich automatisieren.
So ermöglichen Container wirklich hybride Systeme. Die Infrastruktur darunter wird noch unwichtiger. Container bilden zudem die Basis für eine Software-definierte Infrastruktur. Dabei können Unternehmen entweder selbst eine Content-Management-Software betreiben oder von einem externen Anbieter beziehen, die solche Plattformen als Service anbieten.
Ganzheitliche Beratung
Container-Lösungen stellen eine neue Art der Virtualisierung dar, an die sich auch die Anwendungsentwicklung gewöhnen muss. Dann bieten sie aber deutliche Effizienzgewinne. Und da über sie Anwendungen in hybriden Systemen reibungslos entwickelt und betrieben werden können, schaffen sie auch die richtigen Grundlagen für eine hybride Zukunft.
Um sich diese Vorteile zu erschließen, stehen Unternehmen Partner wie Computacenter zur Verfügung. Mit Beratung für den Organisationsaufbau und die notwendigen Skills, um die richtigen Vorbereitungen im Unternehmen zu treffen. Aber auch für die Definition der Schnittstellen und Aufgaben. Auch der Aufbau, die Konfiguration und die Definition der Regelwerke für automatisierte Vorgänge sollten mit einem erfahrenen Partner geschehen, der im nächsten Schritt auch im Betrieb und gegebenenfalls der Entwicklung unterstützen kann.
* Erich Vogel ist Leader Cloud Solutions bei Computacenter.
(ID:45313555)