Blog: Software Defined Datacenter und Storage

Starnberg, 19. April 2013 - Derzeitige Entwicklungstrends bei Storage im Zusammenhang mit Virtualisierung und dem neuen Thema Software Defined Datacenter...

Um was es hier geht: Hype versus Realität – oder ein kurzer Check mit einigen Gedanken zu aktuellen Techniktrends... Ohne Zweifel hat sich mit der Servervirtualisierung eine grundsätzliche Änderung im Rechenzentrum ergeben: von starren Silo-Architekturen hin zu agilen Infrastrukturen, die Geschäftsprozesse flexibler unterstützen. Möglich wurde dies durch die Entkopplung virtualisierungsfähiger Anwendungen von Serversystemen, die nun in diesem Zusammenspiel – auch mit der Cloud - für mehr Agilität und Kostenvorteile durch Standardisierung (x86) und Konsolidierung sorgen.

Neben der Standardisierung auf Serverebene findet derzeit verstärkt eine notwendige Automatisierung im Bereich des Configuration- und Change-Management statt, da sich die Softwareebene zwar zunehmend von funktionalen Abhängigkeiten auf der bislang proprietären Hardwareseite löst, aber andererseits virtuelle Konfigurationen komplexer werden (TCO-/CAPEX). Entscheidend wird auch die Präsentation der virtualisierten Infrastrukturkomponenten gegenüber der Applikation über möglichst offene Schnittstellen (APIs) sein.

Anders als bei Virtualisierung ist der Begriff Software Defined Datacenter jedoch bislang für viele Marktteilnehmer noch ein ziemlich nebulöser Terminus, bei dem man zwar viel assoziieren kann, aber in Bezug auf die Relevanz und praktische Umsetzung nur wenig konkrete Vorstellungen hat. Jetzt springen verstärkt Storage Software - Anbieter auf diesen Zug und positionieren ihre Lösungen unter dem Begriff Software Defined Storage (SDS). Es macht also Sinn zu fragen, was SDS eigentlich kennzeichnet (außer das es Software ist).

In einem konsequent Software-definierten Rechenzentrum sollen Storage Services, die sich bislang im Microcode des Arraycontrollers befinden auf die Storage Software - Kontrollebene verlagert werden. Damit entsteht eine zentrale und systemweite Verwaltungsinstanz, die nicht von spezifischen Funktionen einzelner Storage Subsysteme abhängig ist. Diese „Control Plane“ regelt das Management (Provisioning, LUN Konfiguration, Tiering, Dedupe, Snapshots, Replikation) aller in dieser Umgebung angeschlossenen Speichersysteme. Bislang macht man das schon mittels (heterogener) Storage Virtualisierung über Software auf dedizierten Storage Servern-/Appliances (siehe z.B. IBM SVC, Red Hat Storage Server, Datacore, FalconStor). Während dort der Fokus entweder auf Block- oder Dateiebene liegt, soll diese neue Architektur in Zunkunft allerdings davon unabhängig alle Typen (File, Object, Block, SAN, NAS, DAS) zu einem transparenten Ressourcenpool (JBOD) zusammenfassen können, ohne dass sich z.B. Performanceeinschränkungen etc. ergeben. Konsequenterweise ist dann auch das Storage Management beim Virtualisierungs- und Verwaltungslayer wie z.B. VMware vSphere angesiedelt (Distributed Storage Model). Durch das Zusammenfassen von internen Serverfestplatten werden Storage- und CPU-Ressourcen gemeinsam verwaltet; das Data Management erfolgt also auf virtual machine Ebene. Die Herausforderung liegt hier jedoch bei I/O-intensiven und Datenseitig schnell wachsenden Anwendungen beim Server-I/O und Netzwerk – Stichwort: skalierbares Workload-Management (balanced I/O) - weshalb aus meiner Sicht eine SAN-Fabric (FC, 10 GBE) mit zugeordneten Storage Ressourcen derzeit mehr Leistung, Skalierbarkeit und damit Flexibilität liefert.

Software Defined Networking (SDN) konzentriert sich ebenfalls auf Service-change-Requests über zentralisierte Schnittstellen innerhalb einer Control Plane. Bei Netzwerkgeräten kontrolliert die Datenebene die Header-Informationen der Datenpakete (Routing), während die Kontrollebene die sog. Forward Tables adressiert und diese in den Geräten jeweils auf dem neuesten Stand bringt (SDN war übrigens auch ein Thema auf unserer letzten Anwenderkonferenz im LRZ - siehe den Vortrag von Brocade). Mehr zum Thema SDN finden Sie auch unter dem folgenden Link > http://www.storageconsortium.de/content/content/software-defined-networks-sdn-und-ethernet-fabrics < Auch Cisco engagiert sich im Bereich SDN stärker und entwickelt mit Insiemi (Spin-In) entsprechende Technologien weiter, während VMware durch die Übernahme von Nicira nun zwei Angebote mit im Prinzip gegensätzlichen Standards (STT – Stateless Transport Tunneling und VXLAN = IETF Draft) im Portfolio hat. Ein weiterer SDN-Start-Up ist Nuage Networks http://www.nuagenetworks.net/ das mit seiner Virtualized Services Platform einen eigenen Weg geht.

Während also auf der Server- und Netzwerkseite über Automation und Interoperabilität das Thema Software Defined vorangetrieben wird, ist der Bereich Software Defined Storage (SDS) zur Zeit zweigeteilt: einerseits die bereits genannten Storage Virtualisierungs - Softwareanbieter wie Datacore (Block), Nexenta, Oracle (ZFS) oder Red Hat Storage Server 2.0 (File) mit einem klassischem (Server-/Appliance) Ansatz und andererseits  hochspezialisierte Newcomer wie Nutanix http://www.nutanix.com/  Coraid (Ethernet SAN) http://www.coraid.com/ oder auch Tintri (VM-aware Storage Software Appliance) http://www.tintri.com/

Die Hersteller von Hypervisior-Systemen – allen voran der Marktführer – favorisieren aus meiner Sicht längerfristig mit SDS stärker die Integration-/Kontrolle über ihren virtual Management Layer (z.B. VMware vSphere Data Services). Anbieter von VM-aware virtual storage appliances nutzen ebenfalls die Vorteile einer engen Verzahnung mit dem Hypervisior und dessen Mobilitätsvorteile für die Migrations- und Verfügbarkeitzwecke. Für kleinere und z.T. mittlere Unternehmesgrößen durchaus ein interessanter Ansatz.

Etablierte Hersteller wie EMC, NetApp, IBM, HDS oder HP halten sich hier bislang mit größeren Ankündigungen noch zurück, wenngleich es erste Anzeichen gibt, auch hier zusammen mit Hypervisor-Anbietern eine gemeinsame Vision im Rahmen eines Software Defined Datacenter zu entwickeln (siehe EMC).

Es bleibt abzuwarten, wie sich „Software-defined“ auf der Storageseite weiterentwickeln wird, aber es ist sehr wahrscheinlich, dass sich der Evolutionsprozess des Software Defined Datacenter im Kontext „Cloud“ durch die zunehmende Konvergenz zwischen Servervirtualisierung, SDN und SDS beschleunigt. Kritische Punkte betreffen derzeit die Themen Sicherheit, integriertes Management (auch in der Cloud) und Standardisierung (REST, APIs), denn gegenüber der technologischen Konvergenz werden sich weiterhin unterschiedliche herstellerspezifische Plattformen (Software, Hardware, integrierte Stacks) am Markt befinden.

Derzeit gibt es aus meiner Sicht jedenfalls noch gute Gründe, für anspruchsvolle kommerzielle Workloads das Storage-Management nicht generell vom proprietären Microcode der Array-spezifischen Controller-Software und damit verbundener Fabric-basierter Speichernetze (FC, 10GBE) wegzubewegen; vor allem sprechen aus Anwendersicht Faktoren wie Integrationstiefe, Performance, Robustheit (99,999), Skalierbarkeit (Kapazität-/Performance) und Sicherheit (Encryption on-the-fly, sichere Mandantenfähigkeit etc.) der „klassischen“ Storageanbieter für diesen Ansatz. Parallel beobachten wir gerade bei Clouds einen stärkeren Trend zur durchgängigen Virtualisierung des gesamten vertical Infrastruktur-Stacks (Ausnahmen: dedizierte Hochleistungs-Workloads z.B. im Bereich HPC oder auch Big Data).

Falls allerding unter den genannten Randbedingungen auch das Provisioning und Management von heterogenen, verteilten Storage Ressourcen genauso schnell und unkompliziert wie das Erstellen einer virtual machine funktioniert, wird das Thema Software Defined Datacenter und SDS jedoch relativ schnell Realität werden.