Hybrid Cloud-Strategien im Fokus: Container sind zum Mega-Business geworden

  • Container-Technologien sind Teil einer portablen Cloud-Strategie für Anwendungen und Systeme im Kontext von Hybrid und Multi-Cloud-Szenarien.
  • Produktive Anwendungen und erste Workloads werden bereits auf Grundlage von Container-Technologien in den Unternehmen betrieben.
  • In IT-Abteilungen bereitet das Thema Integration im Kontext von Container-Technologien noch Sorgen.
  • Container-Technologien erfordern neue Skills, die frühzeitig mit Hilfe von Partnern erlangt werden sollten, damit die Digitalisierung nicht ausgebremst wird.
  • Container-Technologien avancieren zu einer Basis-Technologie im Werkzeugkasten agiler DevOps-Teams.
  • Moderne „TechStacks“ und IT-Architekturen kommen ohne Container-Technologien und Container-Orchestrierung nicht mehr aus.

1937 ärgerte sich ein damals 24-jähriger Spediteur und Lkw-Fahrer über die Entladungszeiten seiner Waren. Um jedes einzelne geladene Gut musste sich individuell gekümmert werden. Für den Mann namens Malcolm McLean ein unhaltbarer Zustand. In ihm reifte fortan die Idee des Containers der viele einzelne Posten aufnehmen konnte und ein standardisiertes Modul für den Transport darstellte. Durch den Container konnten die Verladezeiten optimiert werden. Ein ähnlicher Beweggrund treibt seit einigen Jahren die Entwicklergemeinde. Software auf einem Desktop oder Laptop zu entwickeln und auf der eigenen Umgebung zu Testen führte immer wieder zu Problemen bei der nachfolgenden Migration auf die Zielplattform. Ferner ist das Konzept der virtuellen Maschine zu komplex, um auf Anwendungsebene schnell und einfach die benötigten Stacks zu installieren und später zu portieren. Also musste eine bessere Lösung her, um effizient mehrere Anwendungen auf einen Server verladen zu können und dabei die anwendungsspezifischen Bibliotheken in einem geschlossenen und abgeschotteten Rahmen zu erhalten. Die Software-Container waren geboren.

Seit den 40er Jahren existiert das Konzept der Virtualisierung auf Großrechnern. Bereits in den 60er Jahren brachte IBM dieses Konzept in die ersten Produkte. Bei einer Virtualisierung handelt es sich um die Abstraktion von Ressourcen eines Rechnersystems mittels Software. Dies ermöglicht es die Ressourcen aufzuteilen und für mehrere unabhängige Instanzen nutzbar zu machen.

Zu den Konzepten der Virtualisierung gehören zum Beispiel:

  • Hardware-Emulation
  • Applikationsvirtualisierung
  • Hardware-Virtualisierung
  • Speichervirtualisierung
  • Netzwerkvirtualisierung

Ein Nachteil von virtuellen Maschinen ist, dass jedes Mal eine komplette Plattform angelegt werden muss, um eine Anwendung auszuliefern. Dies führt zu einem unnötigen Verbrauch von Zeit und Ressourcen. Zwar sind die virtuellen Kopien der physikalischen Server bereits effizienter, jedoch tragen sie im mer noch einen erheblichen Overhead mit sich herum. Abhilfe schafft hier das Konzept von Containern.

Container sind als Basistechnologie gesetzt

Software, traditionell für den Einsatz auf einem einzigen System gedacht, erlebt seit der Einführung von Cloud-Technologien eine Revolution. Skalierbarkeit, Hochverfügbarkeit, Multi-Tenancy, Multi-Cloud und Portabilität (Vermeidung eines Vendor Lock-in) sind die Top-Themen mit denen sich CIOs, CTOs und IT- Architekten seit geraumer Zeit beschäftigen müssen, um die Erwartungen der Geschäftsseite zu erfüllen.

Die Anforderungen, um Hochverfügbarkeit und insbesondere Portierbarkeit zu beherrschen, sind mannigfaltig und komplex. Zum einen fehlen Unternehmen noch ausreichend Erfahrungswerte, zum anderen das notwendige Wissen für die Umsetzung. Aber wie lässt sich eine Software über unterschiedliche Plattformen und Infrastrukturen „bewegen“, ohne dabei ständig an die jeweiligen Voraussetzungen für das Deployment und den Betrieb angepasst zu werden? Unterschiedliche Hardware- und Softwarekonfigurationen sowie Abhängigkeiten zu wechselnden Softwareversionen sorgen für eine stetig steigende Komplexität. Abhilfe können hier Container-Technologien leisten. Denn die Vorraussetzungen, um mit Containern in der Entwicklung zu starten sind sehr gering. So gering sogar, dass Container sogar auf einem kleinen und Ressourcen schwachen Gerät wie einem Raspberry Pi laufen. Container ermöglichen das Verpacken von Anwendungen in ein einheitliches Format. Ein Container kapselt hierzu die eigentliche Anwendung und ihre notwendigen Abhängigkeiten wie Bibliotheken in einen virtuellen Container, welcher sich dann auf jedem beliebigen Linux und Windows System ausführen lässt. Dies erhöht den Portabilitätsgrad und die Flexibilität. Und genau auf diese kommt es bei der Definition einer Hybrid-Cloud-Strategie an.

Daher haben viele Unternehmen Container als Mittel der Wahl für die Abstraktionsebene der unterschiedlichen IT-Infrastrukturplattformen ausgewählt. Einen zusätzlichen Aufschwung bekamen Container noch durch die Open Source Container Orchestrierungs- und Management-Lösung Kubernetes. Durch diese von Google initial bereitgestellte Software ist ein enormer Boom entstanden und die Entwicklung schreitet durch die vielen Projektbeteiligten sehr schnell voran.

Entwicklung

Für Entscheider sollte damit längst klar sein, dass Container-Technologien mehr als nur ein Marketing-Hype sind und eine der entscheidenden Technologien in der Anwendungsentwicklung und dem Betrieb für die nächsten Jahre darstellen. Gerade als Grundlage für mehr Portabilität von Anwendungen und Systemen im Kontext des Hybrid- und Multi-Cloud-Betrieb sind Container nicht mehr wegzudenken. Daher sollten CIOs, CEOs und Co. die folgenden Entwicklungen beachten:

  • Container-Know-How wird somit auch zur Umsetzung moderner Cloud-Strategien unverzichtbar
  • Container werden zum Kernelement agiler Entwicklungs- und IT- Betriebs- methoden á la DevOps und CI/CD
  • Container avancieren zu einer Basis-Technologie zur Umsetzung von Microservices-basierten Architekturen und modernen „Digital Infrastructure Platforms“
  • Moderne „TechStacks“ und IT-Architekturen kommen ohne Container- Technologien und Container-Orchestrierung nicht mehr aus
  • Container werden nicht auf der grünen Wiese implementiert, sondern müssen zukünftig den Anforderungen der Enterprise-IT genügen und sich gut mit den traditionellen Virtualisierungsumgebungen integrieren lassen
  • Containerization wird in den kommenden Jahren nicht mehr primär von Startups á la Docker, sondern viel stärker von den etablierten Virtualisierungs- und IT-Infrastruktur-Companies geprägt sein. CIOs und CDOs müssen sich mit den Strategien und Angeboten der etablierten Player auseinandersetzen.
  • Container-Skills wirken somit entweder als Beschleuniger oder Bremse der Digitalisierung

Handlungsempfehlungen

Um diesen Entwicklungen Rechnung zu tragen und für die Zukunft entsprechend gerüstet zu sein, empfiehlt es sich spätestens jetzt in Container-Technologie zu investieren und hier Know-how aufzubauen und erste Anwendungen zu portieren oder neu zu entwickeln. Die folgenden Handlungsempfehlungen sollten dabei auf jeder Agenda zu finden sein:

  • Use Cases identifizieren und erste Prototypen umsetzen (z.B. im Digital Lab oder Cloud-Team)
  • Rolle von Containern im unternehmenseigenen „TechStack“ bzw. IT-Architektur definieren
  • Container als technologische Komponente im Kontext von agilen Methoden und service-basierten Architekturen einführen und strategisch verankern (in eigener Anwendungsentwicklung sowie Vorgaben für externe Dienstleister)
  • Skills im eigenen Team sukzessive aufbauen sowie professionelle Unterstützung von externen Providern ein- holen („Bridging the Gap“)
  • Rechenzentrums- und IT-Betriebskonzepte auf „Containerability“ hin überprüfen und weiterentwickeln – Verträge und Service Modelle mit externen Providern anpassen und ggf. neue Provider auswählen
  • IT-Strategie und -Risikomanagement an unternehmensweiten Einsatz von Container-Technologien anpassen (mehr Geschwindigkeit ermöglichen sowie mehr Komplexität managen)
  • Einspar- und Konsolidierungspotenzial eruieren, um Anfangsinvestitionen in Container rechtfertigen und Ressourcen langfristig neu allokieren zu können (von klassischer Virtualisierung hin zu Container-Virtualisierung)