Software Defined Infrastructure

Unternehmens-IT in Cloud-Geschwindigkeit

13.09.2016
Von Markus  Herber

Eiswürfel statt Legosteine

Das Problem: Die Unternehmens-IT ist - wie die Oxford-Economics-Umfrage belegt - nicht auf DevOps und die kontinuierliche Provisionierung neuer IT-Services ausgelegt. Vielmehr ist sie historisch gewachsen und oft technisch und organisatorisch unterteilt in Server, Storage und Netzwerk. Zum Aufbau einer neuen Infrastrukturumgebung ist damit weiterhin die umständliche Konfiguration einer Vielzahl von Komponenten erforderlich.

Dabei hat die IT-Branche längst Alternativen zu den Silos entwickelt, zunächst mit konvergenten, später mit sogenannten hyperkonvergenten Systemen. Konvergente Systeme bündeln die Compute-, Storage- und Netzwerkressourcen zum Komplettsystem und erleichtern damit Provisionierung und Skalierung nach Art eines Legobaukastens. Ihnen folgten hyperkonvergente Systeme, die gemäß dem "Software-Defined"-Ansatz Funktionen wie den Storage Controller in die virtuellen Maschinen und damit auf Standardhardware verlagern. Ein derart virtualisierter Legobaukasten verschlankt Managementabläufe und erleichtert es so zum Beispiel, schnell eine Vielzahl virtualisierter Desktops aufzusetzen. Doch zugleich bleibt die IT immer an die vorgegebene Kombination von Hardware und Virtualisierungs-Software gebunden.

Um den Vergleich weiterzutreiben: Heutige IT-Infrastrukturen gleichen Baukästen, aus deren Bausteinen man in stunden- oder tagelanger Arbeit einen LKW oder Transporter assemblieren kann. Die Flexibilität, die im Zeitalter der agilen Softwareentwicklung gefragt ist, erfordert dagegen einen Pool von Server-, Storage- und Netzwerkressourcen, die zustandslos ("stateless") - ohne vorgegebene Bestimmung, Software-Image oder Netzwerk-Konfiguration - auf Abruf für den Betrieb neuer Workloads bereitstehen. Ein solcher Ressourcenpool muss es erlauben, die Kapazitätsbausteine automatisch und in Echtzeit zu kombinieren und zu konfigurieren - einschließlich einer ebenfalls automatisierten Skalierung, wie man das von der Public Cloud her kennt.

Benötigt wird also statt eines Baukastens vielmehr eine neue Art von Eiswürfelmaschine: Der Anwender drückt auf den Knopf und erhält seinen Eiswürfel nach Wunsch in Form eines 40-Tonners, Transporters, Kleinwagens oder sportlichen Coupés. Je nach Bedarf ist der Eiswürfel ebenso rasch wieder eingeschmolzen und in eine andere Form gegossen - erst das ist "Hardware as a Service".

Templates für den IaaS-Stack

Neben der Hardwarevielfalt ist die nicht minder große Fülle an Managementwerkzeugen ein weiteres Hindernis auf dem Weg zum Tempo der Public Cloud. Denn für jede Produkt- oder Hardware-Gattung gibt es eine separate Verwaltungslösung - Microsoft System Center, VMware vCenter, OpenNMS und so weiter - mit jeweils eigenen Fachleuten und Prozessen.

Zur Beschleunigung der Abläufe ist zwar der Einsatz von Templates verbreitet, doch die sind meist auf ein einzelnes Silo beschränkt. Die (hyper-)konvergenten Systeme vereinfachen zwar derartige Abläufe, aber immer nur im Rahmen konkreter Einsatzfälle, zum Beispiel zur Provisionierung virtueller Desktops. Zudem kommen sie häufig nicht anstelle von, sondern zusätzlich zu etablierten Umgebungen zum Einsatz. Die Komplexität bleibt so weitgehend erhalten.

Die Intelligenz, die in den Management-Tools und in den Köpfen der Mitarbeiter steckt, muss deshalb in die Infrastruktur selbst hineinwandern: Für echtes Infrastructure as a Service müssen die Templates den gesamten IaaS-Stack vom Server über Storage und Netzwerk bis hin zu Betriebssystem, Virtualisierungslösung und/oder Containertechnologie abdecken. Wichtig ist dabei: Das Zusammenspiel der Ressourcen für Provisionierung und Skalierung muss Automatismen innerhalb der Infrastruktur überlassen bleiben. Diese muss selbsttätig erkennen, ob eine gewünschte Konfiguration widersinnig oder technisch unmöglich ist. So muss sie zum Beispiel dem Anwender bei der Erweiterung eines Virtualisierungs-Clusters die Auswahl der nötigen und passenden Ressourcen abnehmen und eine optimale Konfiguration anbieten.

Dazu braucht man eine programmierbare IT-Umgebung, die Know-how über die Möglichkeiten und Grenzen der Programmierbarkeit bereits ab Werk mitbringt und den Anwender bei der Bereitstellung und Anpassung von IT-Ressourcen unterstützt.