Unternehmen wie Google und Facebook veröffentlichen heute neue Software-Releases im Sekundentakt – und sind damit Taktgeber für alle Unternehmen, die sich erfolgreich mit digitalen Geschäftsmodellen und Webservices am Markt positionieren wollen. Zeit die Unternehmen zur Entwicklung und Bereitstellung von mobilen Apps, Web- und Cloud-basierten Applikationen benötigen wird damit zur Währung der digitalen Transformation. Nur wer ein rasantes Entwicklungstempo an den Tag legt und die Time-to-Market in der Anwendungsentwicklung verkürzt, kann sich am Markt gegen seine Mitwettbewerber durchsetzen.
Von der Server Virtualisierung zur Containerization
Bevor die Virtualisierung in der IT Einzug hielt, war Softwareentwicklung ein langwieriger Prozess von oftmals mehreren Monaten. Jede Applikation benötigte ein Betriebssystem und Hardware, die aufwändig aufgesetzt und verwaltet werden mussten.
Die Server Virtualisierung war hier der erste Schritt hin zu einer agileren Anwendungsentwicklung. Seitdem kann ein Administrator eine Vielzahl an Servern betreuen. Trotzdem herrscht vielerorts nach wie vor Silodenken: Das Deployment einer neuen Applikation ist noch heute in vielen Unternehmen geprägt durch viele manuelle Prozesse aus verschiedenen Abteilungen, wie Storage, Netzwerk und Virtualisierung. Aus diesem Grund hat es sich die DevOps Entwicklung zur Aufgabe gemacht, die Hürden zwischen Applikationsentwicklern und Betrieb zu reduzieren. Teil dieser Entwicklung war die Etablierung schlankerer Prozesse, höherer Standards und einem reiferen Grad der Automatisierung. Neben diesen prozessualen Änderungen profitiert die DevOps Entwicklung auch von Änderungen technischer Rahmenparameter, wie der Containerization.
Mit ihr fiel im nächsten Virtualisierungsschritt zusätzlich die Notwendigkeit für ein dediziertes Betriebssystem pro Applikation weg. Es war also keine eigene Hardware und kein extra Betriebssystem mehr notwendig. Stattdessen beinhalten alle Container ein „Rezept“, das für jede Applikation die benötigten Ressourcen (Betriebssystem, RAM, CPU etc.) zur Verfügung stellt. Dadurch ermöglichen Container-Technologien mehr Kosteneffizienz und Geschwindigkeit in der Bereitstellung für die Laufzeitumgebung einer Applikation.
Die Herausforderung der Containerization meistern
Das Problem: Dieser Ansatz lässt bislang einige wesentliche Betriebsfragestellungen offen. So sind Container zum Beispiel nicht darauf ausgelegt, Daten langfristig zu speichern. Die Orchestrierung der Container, der Datenaustausch, das Load Balancing und das Monitoring stellen derzeit ebenfalls noch Herausforderungen für diese Technologie dar – Herausforderungen, an der wir, gemeinsam mit DARZ und weiteren Partnern, bereits arbeiten. Als Ergebnis unserer Kooperation mit DARZ und NetApp entwickeln wir aktuell eine Lösung, mit der unsere Kunden in Zukunft das volle Potenzial der Container-Technologien für ihre Anwendungsentwicklung nutzen können.