Der Begriff "softwaredefiniert" wird mittlerweile auf alles angewendet - wie etwa Computing-Umgebungen, Storage, Ver-netzung, Rechenzentren und WLANs. In allen Fällen geht es um die Entkoppelung der Steuerungssoftware von der Hardware.
Das vielleicht früheste und beste Beispiel für "softwaredefiniert" ist VMware. Mit der Schaffung eines virtuellen Servers oder Desktops läuft fast jedes Betriebssystem auf der generischen x86-Hardware. SD (Software-Defined) hat diesen Gedanken weitergeführt und ist der Vorläufer für die Bereitstellung von Everything-as-a-Service (XaaS). Angetrieben von der Server-Virtualisierung hat sich die softwaredefinierte Speicherung (SDS; Software-Defined Storage) in den letzten fünf Jahren stark weiterentwickelt. Sie bietet einen einfacheren Ansatz für die traditionelle Datenspeicherung, da die Software, die die speicherbezogenen Fähigkeiten steuert, von der physikalischen Speicherhardware getrennt ist.
SDS reduziert vor allem die Komplexität. Das bedeutet, dass Speicherhardware nicht mehr maßgeschneidert sein muss. Innovation ist nicht nur an die Herstellung von Hardwarekomponenten gebunden, sondern stützt sich auch auf eine Softwareentwicklung, die agiler ist, die Entwicklungszyklen reduziert und eine schnellere Time-to-Market ermöglicht. Für Unternehmen, die sich auf IT-Infrastruktur verlassen müssen, steht das Attribut softwaredefiniert für eine höhere Reaktionsfähigkeit und Flexibilität.
Ein gutes Beispiel hierfür ist, wie man Daten auf einer Standard-Festplatte sichert. Wenn eine einzelne physische Festplatte vorhanden ist, bedeutet dies, dass bei einem mechanischen Ausfall dieser Festplatte die Daten verloren gehen. Die Verwendung eines RAIDs (Redundant Array Independent Disk) schützt die Daten, indem der RAID-Controller mehrere Kopien der Daten auf mehrere physische Datenträger zusammen mit einer Paritätsprüfung verteilt, um die Daten im Falle eines Plattenausfalls neu zu erstellen. Herkömmliche Speicherlösungen verwenden Hot-Spare-Festplatten, die im Leerlauf warten, bis ein Fehler auftritt, um die verlorenen Daten auf dem Datenträger unter Verwendung der Paritätsinformationen neu zu erstellen.
Statt Verfügbarkeit auf der physischen Festplattenschicht bereitzustellen, ist eine effizientere und zuverlässigere Speichermethode über Hardware wie SSDs möglich. Da diese weniger anfällig für mechanische Fehler sind, lässt sich RAID von der physischen Festplatte in Segmente, die auf mehrere SSDs innerhalb des Speicherarrays verteilt sind, abstrahieren. Der Hauptvorteil ist, dass das Paritätsverfahren bei einem SSD-Ausfall nur die Daten, die man auf der SSD verwendet, in wenigen Minuten wiederherstellt - im Gegensatz zur gesamten Festplatte, was Tage dauern kann.
Die Bereitstellung dieser Fähigkeiten in der Software bedeutet, dass Anbieter viel flexibler neue Funktionen zur Verfügung stellen können. Dieser Prozess erfordert Zeit und Ressourcen, aber softwaredefiniert bedeutet, dass qualifizierte Support-Mitarbeiter alle Änderungs-, Backup- oder Wartungsanforderungen fernüberwachen können. Das reduziert die operativen Kosten.
Ein weiterer wichtiger Vorteil von softwaredefiniert ist, dass das Ändern von Komponenten, die Teil der Speicherlösung sind, die Verfügbarkeit des Systems nicht beeinträchtigt. Investitionen können klein beginnen und im Laufe der Zeit zunehmen, ohne Unterbrechung des Geschäftsbetriebs. Vorbei sind die Tage der Dimensionierung einer Lösung für drei bis fünf Jahre und die Vorbereitung für große Skalierbarkeit in der Konfiguration von Anfang an, um den besten Preis von einem Anbieter zu bekommen.
Softwaredefiniert bedeutet letztlich, dass jede Komponente in der Speicherlösung störungsfrei und ohne Beeinträchtigung der Verfügbarkeit oder Leistung von Produktionsanwendungen verändert werden kann. Mit der Einführung neuer Speichertechnologien, wie etwa NVMe, lassen sich Speicherkomponenten problemlos in die bestehende Lösung integrieren. Anwender müssen nicht ein Upgrade auf das Storage-Produkt 2.0 vornehmen, ganz zu schweigen von den Fähigkeiten, Ressourcen und Investitionen, die für die Migration von Daten auf die neue Plattform erforderlich sind. Es ist klar, dass softwaredefiniert die Zukunft der Infrastrukturkomponenten ist. Dies hat auch Auswirkungen auf die Orchestrierung und Automatisierung.
Im Grunde geht es dabei um den Einsatz von "Equipment", um Prozesse zu automatisieren. Im Rahmen dieses Artikels betrifft dies die programmatische Steuerung von IT-Systemen über mehrere Aufgaben hinweg, die sich in wiederholbare Workflows bündeln lassen, um das System-Management zu vereinfachen. Während man Befehlszeilenschnittstellen (Command Line Interface, CLI) zur Steuerung von Speicheraufgaben verwenden kann, nutzen IT-Administratoren typischerweise eine grafische Benutzerschnittstelle (GUI) für den Betrieb, die Bereitstellung und Überwachung von Systemen.
Repetitive Aufgaben lassen sich mit Hilfe von Programmierskripten durchführen, um nicht nur den Overhead einer bestimmten Aufgabe zu reduzieren, sondern auch alle potenziellen menschlichen Fehler zu beseitigen. Die Verwendung von programmierbaren APIs in der Infrastruktur bietet IT-Administratoren die Möglichkeit, Infrastrukturkomponenten programmgesteuert über Skriptsprachen zu steuern. Dies führte zur Öffnung dieser APIs, um sie als Plug-in für die meisten Management-Produkte auf dem Markt verfügbar zu machen. Die Nutzung offener Standards hat dazu geführt, dass man RESTful APIs zusammen mit Skriptsprachen für Windows (PowerShell) und Linux (Python) dazu verwendet, Infrastrukturkomponenten programmgesteuert ohne die Verwendung von GUIs zu steuern.
Traditionell sind bei geschlossenen APIs die Anbieter dafür verantwortlich, den reibungslosen Zugriff auf ihre Infrastrukturlösung zu gewährleisten. Eine lange Vorlaufzeit war oftmals erforderlich, um eine Integration zu entwickeln, zu testen und dem Kunden zur Verfügung zu stellen. Dies führte zu einem langsamen Integrationsprozess, wenn der Lieferant eine für den Anwender wichtige Integration nicht als wichtig erachtete. Dieser führte den Nutzer somit aufs Abstellgleis.
Offene Standards stellen sich dieser Herausforderung. Durch die Bereitstellung von APIs für die Technologie eines Anbieters können Kunden Scripting-Tools nutzen, um ihre bevorzugte Management-Plattform zu integrieren. Dabei sind sie nicht auf einen Anbieter angewiesen, um diese Funktion als Teil einer beliebigen Softwareversion bereitzustellen. Die Nutzung von RESTful-APIs bedeutet, dass sich jede Konfiguration in ein Standard-Datenaustauschformat konvertieren lässt, das zwischen verschiedenen Hardware- und Softwareprodukten verarbeitet wird. Dies ermöglicht eine Standardmethode für die Konfiguration und verhindert menschliche Fehler, während man diese in die vorhandene Management-Plattform des Unternehmens integriert. Auf diese Weise verringert sich drastisch die Komplexität der Integration, was Unternehmen die Möglichkeit bietet, Infrastrukturkomponenten modular in eine Gesamtlösung zu integrieren.
Dadurch muss das IT-Team weniger Zeit für die Verwaltung von Komponenten einer Lösung und die Konfiguration von Systemen aufbringen. Stattdessen kommen offene Standard-APIs zusammen mit Scripting-Tools und Management-Plattformen zum Einsatz, was die operative Verwaltung der Infrastruktur vereinfacht. Ebenso verringert sich der Aufwand, um die Gesamtlösung zu überwachen und zu pflegen, wodurch mehr Zeit frei wird für Aufgaben, die dem operativen Geschäft zugutekommen.
Betrachten wir Storage als Beispiel. Wenn die Bereitstellung von Speicher programmgesteuert erfolgt, reduziert sich die Komplexität bei der Auswahl der Position und Größe eines Volumes, beim Erstellen des Volumes auf einem Speicher-Array, bei der Bereitstellung einer Sicherung für das Volume auf der Grundlage einer vereinbarten SLA sowie beim Neu-Scannen der Rechner-Hosts, um die Sichtbarkeit des Datenträgers zu gewährleisten, und beim Formatieren des Volume-Dateisystems, um die zugrunde liegende Anwendung zu unterstützen.
Sind diese technischen Entscheidungen abstrahiert, kann man Anwendungsbetreibern Self-Service-Funktionen für die Speicherbereitstellung zur Verfügung stellen, etwa nach diesem Muster:
Frage: Für welche Anwendung wird dieses Volume verwendet?
Antwort: Abrechnungssystem (unter Berücksichtigung der Anwendungsanforderungen bei der Erstellung des Datenträgers).
Frage: Welche SLA erfordert dieses Volume?
Antwort: Gold (unter Berücksichtigung der SLA-Anforderungen bei der Sicherung des Volumes).
Dieses vereinfachte Beispiel zieht geschäftliche Anforderungen heran, um technische Entscheidungen zu treffen. Der Endbenutzer muss sich nicht mehr um die Komplexität der Bereitstellung von Speicher kümmern, er muss nur den Anwendungsfall kennen. Dies ist ein gelungenes Beispiel für Self-Service.
Die meisten Unternehmen haben sich zum Ziel gesetzt, mit weniger mehr zu erreichen. Dies bedeutet auch eine Verringerung der Komplexität der Infrastruktur und die Erhöhung des Werts für das Geschäft durch eine Vereinheitlichung der IT. SDS mit Automatisierung ermöglicht es der IT-Abteilung, mit weniger Ressourcen mehr zu erreichen. Das IT-Personal muss sich dadurch weniger um Infrastrukturen und deren Betrieb kümmern. Die Nutzung offener Standards ermöglicht es dabei, mehr Wert für das Geschäft zu generieren.