Medusa der zentrale Ressource- und Storagemanager im Acheron Service Framework.
Herausforderungen bei der Datensicherung
Beim herkömmlichen Entwicklungsprozess von Server oder Clientapplikationen muss der Entwickler sich in der Regel darüber Gedanken machen auf welcher Hardwareplattform er entwickelt, in welchem Format Daten gespeichert werden und wie viel Festplattenplatz auf dem Server oder den angeschlossenen Netzlaufwerken, bzw. NAS/SAN verfügbar ist. Auch unter Einsatz modernster Technologien, wie z.B. virtuellen Festplatten ist die Initiale Größe des verfügbaren Festplattenspeichers begrenzt, d.h. eine virtuelle Festplatte kann nie grösser sein als die Summe der angeschlossenen physikalischen Festplatten.
Dies führt im laufenden Betrieb oft dazu, dass Daten von den Festplatten manuell oder automatisch verschoben oder archiviert werden müssen um den reibungslosen Betrieb sicherzustellen. Die Entwicklungsabteilung oder der Betreiber im Rechenzentrum sind an die vorhandene Hardwareausstattung gebunden und müssen die Softwarelösungen an diese Vorgaben anpassen, d.h. Ressourcen und Zeit in kostspielige Mechanismen investieren die Daten einfach zu speichern und dauerhaft zu sichern.
Häufig gibt es zudem keine standardisierte Vorgehensweise für Entwickler, die vorschreibt, wie Daten in einer verteilten Servicelandschaft zu speichern sind, d.h. mit der Zeit wächst ein heterogener Wildwuchs verschiedenster Datenformate und Mechanismen heran, in dem Versuch die anfallenden Datenmengen zu sichern.
Zentrales Ressourcen- und Speichermanagement für Entwickler
Unabhängig davon sind nicht vorhandene Archivierungs- und Storagemechanismen ein nicht zu tolerierender Missstand der einem Unternehmen nicht nur einen schweren finanziellen Schaden, sondern auch einen großen Imageschaden zufügen kann. Die Entwicklungskosten und Wartungskosten der bestehenden Softwarelandschaft steigen mit jeder proprietären Speicherschnittstelle überproportional, genauso wie potentielle Fehlerquellen durch die steigende Komplexität der Summe der Einzellösungen.
Medusa löst diese Aufgabenstellung sehr elegant, indem es dem Entwickler ein einfaches Werkzeug an die Hand gibt, mit dem er keinen Gedanken mehr daran verschwenden muss ob die Grösse des verfügbaren Speicherplatz ausreicht oder darüber, wo und wie die Daten letztendlich physikalisch gespeichert werden.
Medusa bietet Webservice- und Message basierende Schnittstellen um Daten die in einer verteilten Umgebung generiert werden nicht nur zentral zu speichern sondern auch nach vorgegebenen Regeln an andere Standorte teilweise oder komplett zu spiegeln und zu archivieren.
Medusa bietet zudem einen Provisioning Mechanismus an, der es gestattet einer Applikation oder einem Kunden feste oder variabel wachsende Kontingente zuzuordnen und ggf. verursachergerecht abzurechnen. Es versteht sich von selbst, dass ein automatisierter Retention Policy Mechanismus sicherstellt, dass Daten auch nach individuell definierbaren Regeln „veraltern“ können, um im Anschluss entweder gelöscht oder woanders gesichert zu werden.
Dabei unterstützt Medusa nicht nur Standard Netzlaufwerke und NAS/SAN Storage, sondern bietet von Haus eine direkte Anbindung an Amazons S3 Cloud Storage Environment. Daten können ohne Umweg vom lokalen Medusa Cache direkt zur Cloud und zurück transferiert werden. Dies geschieht im betrieb vollkommen transparent und das Management wo die Daten sind und wie diese gespeichert werden übernimmt Medusa.
Durch einen generischen Plugin Mechanismus kann man selbstverständlich auch andere Storage Cloud Dienste ausser Amazon S3 an Medusa anbinden.