Die Technologie hinter JiffyBox

Seit einigen Wochen befindet sich unser neues Angebot  „JiffyBox – CloudServer on Demand“  im Betrieb. Wir möchten nun einen kleinen Einblick hinter die Kulissen gewähren. Wie ist JiffyBox realisiert?

JiffyBox besteht aus einer Kombination von hochwertiger Hardware und selbstentwickelter Software gepaart mit OpenSource-Technologien. Hier ein Blick auf die Architektur.

JiffyBoxen sind für den anspruchsvollen Produktivbetrieb gedacht und stellen auch eine Alternative zu Root-Servern dar. Hierfür benötigen wir größtmögliche Stabilität. Diese erreichen wir durch hochwertige Hostsysteme die als Blade-Server ausgeführt sind. Ein Blade fasst zwei stromsparende 4-Kern-Nehalem-CPUs, viele GB RAM und ist an sechs SAS-Harddisks angeschlossen. Für die beste Performance setzen wir RAID10 ein. Die zugehörigen Bladecenter verfügen über vier redundante Netzteile und werden über zwei getrennte USVs auf unterschiedlichen Wegen mit Strom versorgt.

Auf den Hostsystemen virtualisieren wir mittels der Hypervisor-Software Xen ergänzt um eigene Patches. Wir ziehen diese der containerbasierten Lösung OpenVZ  (bzw. der kommerziellen Variante Virtuozzo) vor: Mit Xen wird es möglich in jeder JiffyBox getrennte Kernel zu betreiben. Mit Xen ist auch garantiert, dass vorhandener RAM nicht überbucht wird, sondern dediziert für jede JiffyBox zur Verfügung steht. Weiterhin können wir damit auch Swap-Space zur Verfügung stellen. Wir betreiben für jede Festplatte einer JiffyBox ein eigenes Blockdevice – das Dateisystem wird also nicht mit anderen JiffyBoxen geteilt. Aus diesem Grund ist es auch möglich auf JiffyBoxen andere Dateisysteme als das bekannte ext3 einzusetzen.

Wird ein Backup angelegt oder wird eine JiffyBox eingefroren, so erstellen wir jeweils auf Blockebene ein komplettes Image der Festplatten. Hierbei fallen zwar viele Daten an, allerdings liegen diese auf den Festplatten nebeneinander und können daher mit hoher Geschwindigkeit sequentiell gelesen werden, was insgesamt einen Performance-Vorteil gegenüber dateibasierter Sicherung und den damit einhergehenden seeks ergibt. Dies macht sich insbesondere bei vollen Dateisystemen bemerkbar: Hier bleibt der Aufwand für ein Backup konstant, egal wie viele Dateien  vorhanden sind. Für gesunde ext3-Dateisysteme setzen wir darüber hinaus zum Imaging eine spezielle Optimierung ein: Wir sichern (sequentiell) nur die Blöcke die auch wirklich belegt sind und lassen freie Blöcke aus.

Durch die Nutzung von Images haben wir einen hohen Bedarf an Speicherplatz. Dieser wird durch unsere  „Storage-Pods“ gedeckt.  Sie verfügen pro System über 18TB Rohkapazität und sind als großer Cluster zusammengeschaltet.  Dabei werden Daten immer zweifach gespeichert und zwar auf zwei verschiedenen Storage-Pods: Eine Kopie im lokalen Rack und eine weitere Kopie in einem entfernten Rack. Hiermit garantieren wir die Sicherheit Ihrer Daten und sorgen dafür, dass sie auch bei Ausfall eines Storage-Pods noch verfügbar bleiben. Als Software setzen wir auf das OpenSource-Produkt HadoopFS – ergänzt um eigene Entwicklungen  zur Verbesserung der Verfügbarkeit sowie zur Optimierung der Verteilung der Daten.

Unser Control-Panel sowie die API sind mit Hilfe einer ganzen Reihe von Servern und Technologien realisiert. Hierzu zählen lighttpd als Webserver, Postgresql als Datenbank, ActiveMQ (angepasst) als Messaging-Middleware sowie im Bereich des Frontends JQuery, JQueryUI und JSON.

Die Hardware für JiffyBox betreiben wir im gleichen Rechenzentrum wie auch die Angebote der domainfactory GmbH und profitieren dabei von den bereits etablierten Prozessen. Ebenfalls nutzen wir die gleiche hochverfügbare Netzwerkinfrastruktur – basierend auf Switches und Routern von HP sowie von Cisco.

JiffyBox ist also ein High-End Produkt mit dem wir konsequent auf moderne Technologien setzen.

Seine Robustheit hat JiffyBox übrigens schon seit einigen Monaten bewiesen: Bereits bei der Entwicklung haben wir begonnen JiffyBoxen für interne Zwecke einzusetzen und Infrastruktur-Systeme damit zu betreiben. Bei unseren Entwicklern und Administratoren ist der Einsatz von JiffyBoxen inzwischen beliebter als der Einsatz roher Hardware, da JiffyBoxen einfach zu administrieren sind und neue Boxen jederzeit mit ein paar Klicks installiert werden können.

End of article

Jochen Tuchbreiter

Über den Autor

Jochen Tuchbreiter

Geschäftsführung (bis 11/13)

5 Kommentare

Bitte füllen Sie das Captcha aus : *

Reload Image

Die von Ihnen hier erhobenen Daten werden von der domainfactory GmbH zur Veröffentlichung Ihres Beitrags in diesem Blog verarbeitet. Weitere Informationen entnehmen Sie bitte folgendem Link: www.df.eu/datenschutz


  • Odde23
    Odde23 - 26. Mai 2010 um 08:45 Uhr

    Danke für den detailierten technischen Einblick :-).

  • Martin Herr
    Martin Herr - 26. Mai 2010 um 08:46 Uhr

    Besten Dank für den Einblick!
    So ähnlich hatte ich mir das schon gedacht.. Allerdings gabs bei mir immer noch die Vermutung, dass ihr am Ende doch soetwas wie http://open.eucalyptus.com/ , http://www.openqrm.com/ oder eine andere Open Source Cloud Lösung einsetzt. Eure Eigententwicklung ist auf jeden Fall pragmatisch und solide gelöst (meine Test-Jiffybox schnurrt wie ein Kätzchen). Besonders beeindruckt hat mich, wie ihr das mit dem Storage und automatischen Backups gelöst habt..

    Hab dann aber doch noch zwei Fragen:
    a) Welche Distribution setzt ihr für eure Host-Maschine(n) ein?
    b) Wie seht ihr die Zukunft von Xen?

  • Jochen
    Jochen - 26. Mai 2010 um 09:07 Uhr

    @Martin Herr

    Wir nutzen auf unseren Hostsystemen Centos. Allerdings verfügen unsere Hostsysteme sowieso nur über eine Minimalinstallation – für uns ist da die Distribution nicht entscheidend sondern eher Geschmacksfrage.

    Die Zukunft von Xen sehen wir entspannt. Derzeit bietet Xen aus unserer Sicht die beste Performance und Stabilität. Mit KVM ist allerdings eine technisch vielleicht noch elegantere Lösung auf dem Vormarsch. Wir sind gespannt wann KVM sich noch mehr stabilisiert und ob es performancetechnisch (für unsere Anwendungsszenarien) weiter zu Xen aufschließen kann.

  • Steffen Gebert
    Steffen Gebert - 26. Mai 2010 um 09:42 Uhr

    Danke für den sehr interessanten Einblick.

    Ich habe vor ca. 1 Jahr OpenQRM evaluiert, bin aber zu dem Entschluss gekommen, dass es absolut unfertiger, zusammengeschusterter Müll ist.. Damit könnte eine JiffyBox nie so gut laufen 🙂

  • Wonderland
    Wonderland - 27. Mai 2010 um 22:50 Uhr

    Danke, wirklich sehr spannender Einblick. Nur über den Storage-Part war ich etwa verwundert. Ich hätte eher damit gerechnet das hier ein richtiges Storage-System zum Einsatz kommt, auf dem die Backup-Funktion dann über Snapshots (ggf. + Replikation) umgesetzt wird, und Dinge wie Cloning und Deduplizierung genutzt werden. Das würde sich für solch ein Konzept ja durchaus auch anbieten.