Nimble Storage und die medocino Entwickler

Donnerstag, 10. Januar 2013

Die Softwareentwickler der medocino sind in ganz unterschiedlichen Projekten mit der Erstellung von Individuallösungen beschäftigt. Das bedingt natürlich auch den Einsatz unterschiedlicher Konfigurationen, Versionen und Systeme und den Aufbau von Testszenarien.

Die Nimble Storage Systeme unterstützen dies sehr elegant durch Snapshots: zwar bieten mittlerweile viele Systeme nominell Snapshots - aber ohne signifikante Performanceeinbußen lässt sich in der Praxis nur ganz selten arbeiten.

Anders bei Nimble: nicht umsonst gibt der Hersteller bis zu 1000 (!) mögliche Snapshots pro Volume an. Grund dafür ist das CASL File Layout, das grundsätzlich - also auch bei Snapshots - ein sequentielles Schreiben von Daten-Stripes in freie Bereiche sicherstellt und so die Perfomance maximal hält.

Ist der Snapshot eines Systems einmal erstellt, lässt sich damit die Softwareentwicklung optimal unterstützen: wird auf dem produktiven System weitergearbeitet, dient der Snapshot als "Backup", um später wieder zu einem definierten Zustand des Systems zurückspringen zu können.

Aus dem Snapshot kann aber jederzeit auch ein ("beschreibbarer") Clone erzeugt werden: das hilft zum Beispiel, um aus einem produktiven Datenbestand per Snapshot eine Datenbasis für eine Testumgebung zu erzeugen - ohne die produktive Umgebung irgendwie zu beeinträchtigen. Und da hierzu keinerlei Kopiervorgänge durchgeführt werden müssen, geschieht dieses extrem schnell und ohne Speicherplatzverbrauch.

Diese "Zero Copy Clones" können so auch zur Erzeugung von Templates verwendet werden: gibt es z.B. eine Entwicklungsumgebung, die für ein bestimmtes Projekt optimiert ist, kann diese durch das Klonen als Vorlage für mehrere Entwickler verwendet werden. Das spart Zeit - und natürlich auch Plattenplatz.

Und nicht zu letzt: Performance ist ja quasi das "Heimspiel" für Nimble Storage Systeme; neben der Verbesserung der Lese-Performance durch den Flash Cache überzeugt die CASL-Architektur durch konsequente Sequentialisierung von Schreibzugriffen - und natürlich die Inline-Datenkompression. Das bedeutet im Alltag merkbare (im Sinne von "am Client deutlich wahrnehmbare") Geschwindigkeitsvorteile gerade bei I/O-intensiven Anwendungsfällen. Und da gehören Entwickler tendenziell ja immer zu.

Bei uns hat es jedenfalls dazu geführt, dass die Softwareentwicklung durchgängig auf dem Nimble System stattfindet - die Enwtickler wollten nicht wirklich wieder weg davon.

Irgendwie gewöhnen wir uns alle doch sehr schnell an mehr Performance.