Best Practice als Download
Die erste "virtuelle Appliance" hat VMware mit Erscheinen der Software VMware Player in Form einer Browser-Appliance veröffentlicht. Sie sollte sicheres Surfen im Internet ermöglichen, da sie HTTP-Verbindungen nach außen nur via NAT (Network Address Translation) aufbauen konnte. Seitdem hat sich die Welt der Virtual Appliances enorm weiterentwickelt, der Durchbruch steht allerdings noch aus.
Betrachten wir zunächst den Anfang der virtuellen Appliance und den Hintergrund ihres Konzepts.
Laut Wikipedia wird eine Appliance wie folgt definiert: "Computer-Appliances sind
Softwareanwendungen, die nur eine eng begrenzte Funktionalität aufweisen. Sie laufen auf einer
dedizierten Hardwareplattform, auf der keine weiteren Anwendungen gestartet werden können." Das
Wort "virtuell" definiert die Appliance dabei als nicht an eine spezielle Hardware gebunden: Die
Virtual Appliance (VA) läuft in einer virtuellen "Hülle", die von der Virtualisierungsplattform
bereitgestellt wird.
Solche Lösungen gibt es mittlerweile in einer großen Vielfalt, von VMware und Microsoft über
Citrix und Sun bis hin zu Parallels und Virtual Iron, um die wahrscheinlich verbreitesten Lösungen
zu nennen. Zwar nutzen viele der Virtualisierungsprodukte eigene virtuelle Hardwarekomponenten,
jedoch gibt es genügend Migrations-Tools und Methoden, um von einem Produkt auf das andere zu
wechseln.
Das Konzept bleibt allerdings stets gleich: Das System ist vorinstalliert, gegebenenfalls auch
vorkonfiguriert und für eine spezielle Anwendung gedacht. Allerdings existieren verschiedene Formen
von virtuellen Appliances, sodass eine Beschränkung auf spezielle Anwendungen nur bei bestimmten
Appliances existiert.
Grob unterteilen lassen sich die Virtual Appliances in betriebssystembezogene VAs, die als Basis
für weitere Anwendungen dienen, und anwendungsbezogene VAs, die komplett vorinstallierte und direkt
lauffähige Lösungen darstellen. Neben dem technischen Aspekt existieren auch kaufmännische
Unterscheidungskriterien, da kostenfreie und kommerzielle Appliances existieren.
Vorteil Zeitersparnis
Ein Vorteil der Virtual Appliances liegt direkt auf der Hand: die Zeitersparnis. Denn
Zeitaufwand fällt an bei der Abklärung der Abhängigkeiten, Installation des Betriebssystems,
Installation der benötigten Basissoftware, Konfiguration der benötigten Basissoftware, Installation
der Anwendung und der Konfiguration der Anwendung. Eine vorinstallierte Virtual Appliance führt zu
massiver Zeitersparnis und weiterhin zu weniger Frustration, da die Suche und Installation der
Software, von der die eigentlich zu installierende Anwendung abhängig ist, einem manchmal den
letzten Nerv rauben kann. Durch das Virtualisierungs-Layer wird darüber hinaus das Thema der
unterstützen Hardware gleich mit abgedeckt.
Die Erstellung dieser Appliances ist prinzipiell sehr einfach, da in einer virtuellen Maschine
(VM) die Installation und Konfiguration vom Betriebssystem bis hin zur Anwendung wie gewohnt
stattfinden kann. Allerdings sollte man sich allgemein halten, was die Namensgebung und die
Kennwortvergabe betrifft. Diese Angaben sollte man zusätzlich in einer Beschreibungsdatei ablegen,
damit ein späterer Nutzer der VA nicht mangels eines Passworts die Flinte ins Korn wirft. Nach
Fertigstellung wird die VA komprimiert und kann dank der mittlerweile weit verbreiteten
Breitband-Internet-Verbindungen relativ schnell von jedem Ort der Welt heruntergeladen und genutzt
werden.
In der Zwischenzeit sind aber auch die verschiedensten Anleitungen entstanden, wie man ein
Linux-System so konfiguriert, dass beim nächsten Start automatisch nach Netzwerkeinstellungen und
Root-Passwort gefragt wird. Neben manuellen Methoden liefern allerdings auch
Virtual-Appliance-Provider eine Vielzahl an Plug-ins und Tools mit, so zum Beispiel von Rpath (
www.rpath.com,
www.rpath.org).
VA-Marktplätze
Rpath ist ein absoluter Pionier in der Welt der Virtual Appliances, hat bereits 2005 mit dem
Bereitstellen von Werkzeugen für VAs begonnen und einen eigenen Marktplatz für VAs aufgebaut.
Dieser Marktplatz bietet fertige Systeme (zumeist Linux) für eine Vielzahl von Plattformen an. Zu
den Werkzeugen gehören der Rbuilder (Software zur Erstellung von Virtual Appliances für
verschiedene Virtualisierungsplattformen: VMware, Microsoft, Citrix, Virtual Iron, Parallels, Qemu,
Amazon), die Rpath Lifecycle Management Platform (Verwaltung und Wartung virtueller Appliances) und
Dienstleistungen im Umfeld der Virtual Appliances. Der Anbieter zeigt damit, dass es mittlerweile
einen sehr interessanten kommerziellen Markt für virtuelle Appliances gibt.
VMware selbst hat relativ zeitnah mit Erscheinen der Browser-Appliance einen eigenen Marktplatz
eröffnet, den Virtual Appliance Marketplace (
www.vmware.com/appliances/). Dort sind
neben Linux-VAs (die aufgrund der Lizenzbestimmungen und des Open-Source-Gedankens wesentlich
einfacher zu verbreiten sind) auch Windows- und andere kommerzielle Appliances zu finden. Diese
reichen von Microsoft Exchange bis hin zur Check-Point-Firewall. Daher ergeht die explizite Warnung
an jeden, der selbst Appliances verbreiten möchte: Man muss die Lizenzbestimmungen beachten, sonst
kann die nett gemeinte Tat schnell teuer werden.
VMwares Marktplatz ermöglicht auch die Suche nach virtuellen Appliances anhand der Kategorie,
des Namens oder der Funktion, was aufgrund der Vielzahl auch notwendig ist. Eine sehr schöne
Funktion des VMware-VA-Marktplatzes ist die Möglichkeit der Bewertung, wodurch zukünftige Anwender
vor dem Download bereits einen Eindruck von Nutzen und Qualität der Appliance bekommen. Dies
vereinfacht vor allem die Auswahl, wenn mehrere Systeme mit gleicher oder ähnlicher Funktionalität
zur Verfügung stehen.
Microsoft bietet ebenfalls seit einiger Zeit fertig konfigurierte Systeme als VA auf den eigenen
Websites oder auch auf Technet und MSDN zum Download an. Eine weitere Website, allerdings eine
wesentlich kleinere, ist unter
virtualappliances.net zu finden.
Hat man eine virtuelle Appliance heruntergeladen, gestaltet sich die Integration in die
verwendete Virtualisierungsplattform sehr unterschiedlich. Dies ist derzeit noch der größte
Hemmschuh für unbedarfte Anwender, da bei manchem bereits eine .tgz-Komprimierung zum Problem
werden kann. Allerdings bemühen sich die Anbieter der Virtualisierungslösungen um einfache
Importfunktionen, die via grafischer Verwaltungsoberfläche verfügbar sind. Oft liefern die
Lieferanten der VAs eine Anleitung mit.
Sehr weit hat es VMware mit dem Import getrieben, da aus dem VMware-VI-Client (Virtual
Infrastructure) ein Import über das Internet stattfinden kann. Hier kann man den VMware-Marktplatz
oder eine URL nutzen. Liegt alles lokal vor, kann man selbstverständlich auch die VA direkt im
Dateisystem auswählen.
VMware bemüht sich auch um die technische Basis der virtuellen Appliances: durch JEOS (Just
Enough Operating System) und ein standardisiertes Format (Open Virtual Machine Format, OVF), das
der Anbieter zur VMworld 2007 initiert und seitdem vorangetrieben hat. OVF ist ein guter Schritt in
Richtung Anwenderfreundlichkeit, um den Import der Appliances zu vereinfachen. JEOS soll als
Standardbetriebssystem die Basis für Applikationen bilden und durch seine Schlankheit die
Sicherheit erhöhen und die Fehleranfälligkeit minimieren. Diese Idee ist hochinteressant, und das
nicht nur für IT-Cracks. Gerade Endanwender können davon profitieren, da sie sich nicht mehr um die
Basis (Betriebssystemversion, Patches etc.) kümmern müssen, sondern nur noch um die Applikation.
Dies macht das Leben natürlich wesentlich leichter.
Zudem hat eine einheitliche Basis enorme Vorteile für Softwareentwickler, denn mit jeder
Variante aus Hardware, Firmware-Stand, Betriebssystem, Patch-Stand, Hardwaretreiber, Basissoftware
und so weiter steigt natürlich der Testaufwand, die Fehlerquote und der Aufwand für die
Applikationspflege. Ist die Basis immer gleich, lässt sich ein riesiger Kostenfaktor nahezu
wegstreichen. Man kennt diesen Fall beispielsweise von der Sony Playstation oder Nintendos Wii:
Deren Software läuft wesentlich stabiler als PC-Software, da die Basis bei den Spielekonsolen immer
konstant bleibt. Bei einer PC-Anwendung kann es zahllose Gründe für eine langsame Applikation oder
Abstürze geben, bei Spielekonsolen sind diese auf ein Minimum reduziert. Apple verfolgt ein
ähnliches Prinzip - und die Endanwender sind begeistert, obwohl sie im Gegenzug Einschränkungen bei
der Kompatibilität in Kauf nehmen müssen.
Die stetig wachsende Anzahl der virtuellen Appliances lässt erkennen, dass die Anwenderschaft
diese Form der System- und Anwendungsverteilung gut annimmt. Allerdings kann man noch nicht von
einem Durchbruch reden: Die Softwareindustrie zieht nur langsam nach. Aber man sollte dieses Thema
nicht schlechtreden, da bereits viele Hersteller dem Community-Beispiel folgen. Mittlerweile
existiert von der fertig konfigurierten Firewall über Web-Server und Datenbanksysteme eine sehr
vielfältige und nützliche Auswahl vorkonfigurierter VAs. Der Grund ist einfach, dass
Virtualisierungsprodukte wie VMware konsolidierte, isolierte und hardwareunabhängige Plattformen
bieten. Diese Eigenschaften einer VM sind die ideale Ausgangsbasis für solche Systeme.
Manche Softwarehersteller gehen auch einen Schritt weiter und stellen Appliances mit
Testversionen ihrer Software ins Netz, damit der Anwender viel schneller zum eigentlichen
Softwaretest kommt und sich nicht erst mit einer Installation herumquälen muss. Teilweise passen
die Hersteller dazu sogar die Lizenzbestimmungen an, um dies zu realisieren. Eine Warnung sollte
allerdings bei den vielen positiven Eigenschaften der fertigen virtuellen Maschinen nicht fehlen,
da es nicht nur gut gelaunte Gesellen gibt: Achten Sie bitte bei der Nutzung virtueller Appliances
darauf, diese nur von seriösen Webseiten herunterzuladen.
Idealerweise startet man die heruntergeladene Maschine erst einmal ohne Netzwerkverbindung,
nutzen ein ISO-Boot-Image mit aktueller Virenschutzsoftware und scannen die virtuelle Festplatte.
Denn Viren, Würmer und Trojaner sind sehr gut über virtuelle Maschinen oder Appliances verteilbar -
hier heißt es: Augen auf!
Die Möglichkeit, komplett fertig installierte Systeme herunterzuladen, ist eine klasse Idee. Das
Verfahren ermöglicht eine deutliche Zeitersparnis, da kein Installationshandbuch zu lesen ist und
bereits der Ersteller der Appliance auftretende Installationsprobleme beseitigt haben sollte. Somit
ist es ungeheuer bequem, ein System bei entsprechender Internetverbindung in wenigen Minuten auf
dem lokalen PC ausführen zu können. Dies ist allerdings erst die Spitze des Eisbergs, wie
kommerzielle Anbieter vormachen, da diese ihre Software komplett fertig installiert ihren Kunden
zur Verfügung stellen: Sei es, dass sie Web-Auftritte als Appliance an den Kunden schicken oder
aber die selbst entwickelte Anwendung - die Möglichkeiten sind interessant und vielfältig.
Blickt man etwas in die Zukunft, kommt auch ein in letzter Zeit häufig erwähnter Begriff ins
Spiel: Cloud Computing. Hier haben virtuelle Appliances einen wesentlichen Vorteil, da nur die
Änderungsdaten relevant sind: Will man Applikationen in die "Wolke" (also das Ressourcennetzwerk
eines Anbieters wie zum Beispiel Amazon) bringen, schiebt man die gleiche Virtual Appliance hinein,
wie man im heimischen Netzwerk auf anderer Plattform ebenfalls nutzt. So sinkt auch hier der
Installations- und Konfigurationsaufwand, und nur die Nutzdaten müssen kopiert werden.