Meiner Erfahrung nach werden im Enterprise Umfeld technische Infrastruktur Entscheidungen oftmals via Policy geregelt. Wenn dann neue Anwendungen installiert werden, so müssen diese sich in die vorhandene Landschaft einfügen - ohne gross eine Risikobewertung durchgeführt zu haben.
Typische Kandidaten für diese Vorgaben sind OS (unkritisch solange Erfahrungen damit vorliegen), Cluster, Netzwerk/Firewalls und Storage.
Gerade beim Storage ist das Vertrauen in ein Enterprise SAN grenzenlos (muss es auch sein, war ja teuer). Performance Engpässe werden nie auf der SAN Seite gesucht und Ausfälle werden nicht erwartet (als SPoF darf das SAN einfach nicht ausfallen).
Dabei gibt es ja auch alternative Ansätze. Lokales Storage (mit Sharding, Replikation), NAS oder auch die Auslagerung gewisser Daten in eine Storage Cloud. Auf jeden Fall sollte man sich überlegen: was passiert wenn mein SAN ausfällt, und wie schnell kann ich es wieder ans Laufen bringen.
In einem Artikel den ich auf
Highscalability.com gefunden habe bespricht David Marks die Risiken eines SAN Infrastruktur für Web 2.0 Installationen, bei denen Skalierbarkeit und Verfügbarkeit natürlich oberste Prio haben:
Should I get a SAN to scale my site architecture (You Can Change It Later Blog).
Amazon wurde gefeiert als sie SLAs für Ihre Cloud Offerings angeboten haben. Das bezieht sich insbesondere auf die Amazon Web Services Dienste S3 (Storage Cloud), EC2 (Compute Cloud), ECB (Elastic Block Storage) und die Host Lösungen für Queueing (SQS) und Datenbank (SimpleDB).
Betrachtet man sich allerdings die SLAs, so muss man sagen diese sind ziemlich nutzlos in einem kommerziellen Umfeld (um traditionalle Bedenken zu zerstreuen):
Die neuen
EC2 SLA definieren, dass ein Kunde 10% der Gebühren für die letzten 365 Tage zurückerstattet bekommt, wenn die Verfügbarkeit unter 99.5% fällt. Dabei wird die Zurückerstattung nur für zukünftige Gebühren gut geschrieben. Die Zurückerstattung ist auf 10% gedeckelt. Strafen/Schadensersatz werden keine zugestanden. Und zu allem Übel ist die Definition der Verfügbarkeit noch so, dass der Kunde sich selbst darum kümmern muss ausgefallene Instanzen neu zu starten, und nur wenn dies nicht gelingt gilt der Service als ausgefallen. D.h. wenn eine Amazon Instanz alle Stunde ausfällt und der Startup einer neuen Instanz 5mins dauert, so gelten diese 5 Minuten nicht als Ausfall.
Bei den
S3 SLA werden Gutschriften für erfolglose Requests gezählt. 10% bei unter 99.9% und 25% bei unter 99%. Dabei kann Amazon aber weder Requests zählen die nicht angekommen sind, noch steht Amazon mit Strafen/Schadensersatz für Datenverlust ein. Gleiches gilt für EBS, hier gibt es keine SLA, die typische jährliche Fehlerrate (AFR - Anual Failure Rate) wird mit 0.1% - 0.5% angegeben (Lokale Harddisks haben angeblich 4%).
Natürlich wird AWS durch diese SLA unter Druck gesetzt einen guten Service zu erbringen. Von daher haben diese schon einen Effekt. Der Kunde muss darauf aber vertrauen und das Risiko eines Schadens komplett selbst tragen. Eine reduzierte Amazon Rechnung wird Ihn da kaum trösten.
Cloud Computing definiert nicht nur die Technologie neu, sondern auch die Ökonomie des Outsourcings: statt ewig Langer Vertragsverhandlungen, umfangreichen SLA Monitorings, Schuldzuweisungen und umfangreiche Konventionalstrafen (die zu Aufschlägen beim Betreiber führen um sein Risiko abzusichern) wird auf ein Kooperatives Vorgehen gesetzt, das von Vertrauen geprägt ist. Deswegen haben es auch die Großen Anbieter in dem Markt einfacher akzeptiert zu werden. Die technischen Vorkehrungen die ein Betreiber trifft werden stärker betrachtet als seine Vertraglichen Zusagen. Zusätzlich ist die Lösung durch den Kunden schon stärker auf Ausfall ausgelegt.
(Diesen Artikel nehme ich zum Anlass eine neue Cloud Kategorie hier im Blog einzuführen)
Der Titel dieses Artikels ist eine Zeile aus den
SLES11 Beta3 Release Notes. Dieser Artikel soll aber kein Suse bashing sein, sondern vielmehr will ich etwas Frust über den desolaten Zustand der
Xen Unterstützung im Linux Kernel herauslassen.
Dabei ist der Hypervisor (erwartungsgemäß wegen der Simplizität) nicht das Problem, sondern die Paravirtualisierung der Guests und Support von aktuellen Linux Kernels für die Dom0 Host Domain. Sogar Microsoft Hyper-V (Windows 2008 Server) und Sun xVM Server (Solaris) haben bessere Xen-komptible Hosts zu bieten als mit einem aktuellen mainstream Linux Kernel erreichbar ist.
Fedora/Redhat die bisher viele Forward-Port Arbeiten an den Xen Patches in aktuelle Kernels gemacht haben
planen ein Fedora 10 Release mit einem Hauptkernel (Linux 2.6.27 /
Xen 3.3.0) der sowohl Bare-Metal als auch DomU Installationen unterstützt (durch die Verwendung des paravirt_ops Frameworks). Also ein sogenannter Unified Kernel. Das klingt zwar gut, aber gleichzeitig wird es keinen Kernel geben der als Dom0 (Host) eingesetzt werden kann. Hier verweist das Fedora Projekt auf F8 oder KVM mit dem Xen-in-KVM Emulator Xenner. Dieser setzt aber Hardware Unterstützung voraus.
Bei Debian gibt es einen vergleichbaren Unified Kernel, und recht
aktuell (
Bug#495895) gibt es jetzt in Debian unstable dank
Sebastian Blank wieder einen Dom0 Kernel auf Basis der Suse Patches.
Suse selbst hat aber in der SLES11 Beta (wie man am Titel sehen kann) noch einige Probleme in diesem Bereich. Ich denke auch bei Debian hat das noch niemand wirklich ausgiebig getestet. Bleiben die kommerziellen
Xen Server 5 (Citrix) Installationen wenn man einen Bastel-freien Linux basierenden Hypervisor betreiben möchte.
Bei Oracle gibt es die Xen 3.1 basierte
OracleVM die aber eine zentrale Management Console empfiehlt und Redhat
liebäugelt nach RHEL 5 mit einer eigenen Virtualisierungslösung auf Basis von KVM (verständlich nach dem Kauf von Qumranet).
Ich bin ganz Froh zu sehen dass Suse hier den Dom0 Support wieder nutzbar macht, und Debian ist ganz unerwartet einer der fast-followers.
Beim
Virtual PC Guy Blog gibt es Screenshots der Installation und "Gui" des neusten "Betriebsystems" von Microsoft:
Aber Spass beiseite, der
Hyper-V Server 2008 ist die kostenlos von Microsoft bereitgestellt Hypervisor Platform auf Basis von
Windows Server 2008.
Hyper-V Server wird mit einem minimalen Environment geliefert (genannt Server Core: ohne Explorer GUI oder Startleiste). Es ist auch nicht möglich Anwendungen zu installieren.
Eine vergleichbare Installation kann auch mit einem Windows Server 2008 gemacht werden: Hyper-V sitzt auch dort unter dem Betriebssystem. Allerdings sind in der Server Version Lizenzen für 1 (Standard), 4 (Enterprise) oder unbegrenzt (Datacenter) viele virtualisierte Windows Server 2008 Instanzen enthalten.
Auf einem Hyper-V Server (der nur auf 64bit Hardware (max 4 Sockets, 32GB) mit Hardware Virtualisierung läuft) können
diverse (Microsoft) Betriebssysteme betrieben werden. Die Emulation der Legacy Devices ist (im Gegensatz zum MS Virtual Server) nicht optimiert, Guests sollten also Device Treiber in einsetzen die von der Virtualisierung wissen ("erleuchted sind").
Für Linux bietet Microsoft die
Linux Integration Components for Hyper-V (Beta) als Paket an, SLES 10 (32bit oder x64) ist damit auf Hyper-V Server
zertifiziert (allerdings nur mit einer virtuellen CPU). Dabei werden Xen enabled Kernels eingesetzt.