Bitte wählen Sie:

Virtueller Server - was ist das

Echte und virtuelle Server

Zu einer Zeit als die Vernetzung von Computersystemen Standard wurde, war es oft so, dass ein Computer mit einem darauf installierten Betriebssystem als zentrale Einheit definiert war, um Dateien oder auch Programme bereitzustellen, die mit Terminals als Clients bedient werden konnten. Diese Clients bestanden im Minimalfall aus Tastatur und Bildschirm, um waren durch entsprechende Verkabelung dem großen Server verbunden, waren aber in der Rechenleistung extrem schwach, so dass sie eher nur als Ein- und Ausgabegeräte dienten.

Die Entwicklung von Client-Server-Szenarien

Nach der großen Zeit der sogenannten Mainframe-Systeme und der wachsenden Verbreitung der PCs ging der Trend zu kleineren, billigeren Servern „von der Stange“, die sich technologisch nicht mehr so wesentlich von den Arbeitsplatzrechnern unterschieden haben. Die Anwendungssoftware wie etwa typischerweise Textverarbeitung oder Tabellenkalkulation lief vornehmlich auf den Arbeitsplatzrechnern (Clients), während die Server vom Typus eher nur gemeinsam genutzte Dateien und Datenbanken bereit stellten. Später kamen noch weiterentwickelte Dienste wie Nachrichtenaustausch, Dokumentenmanagement und dergleichen dazu.

Wie sich mehrere User Computer-Hardware teilen können – die Anfänge

Mit der Entwicklung des Internets, speziell des Word Wide Webs, versuchte man ab den 90er Jahren, Möglichkeiten zu finden, vielen Usern in einer Organisation, also beispielsweise allen Studenten an einer Universität, eine Möglichkeit zu geben, eigene Inhalte im Web zu publizieren. Das konnte nur mit einem Server, der permanent an das Internet angeschlossen ist, realisiert werden. Betriebssystem der Wahl für so einen Zweck war in den meisten Fällen UNIX.

Charakteristisch für Homeverzeichnisse von Usern auf UNIX-Systemen war die Tilde. Die URLs hatten die Form www.domain.cc/~username

Heute ist die Verwendung der Tilde nicht mehr üblich, auch wenn man besonders auf Universitätswebseiten diese Schreibweise noch antrifft.

Standard Ende der 1990er Jahre: Viele User teilen sich einen Server zur Publikation von Dokumenten im Web

Auf diese Weise gelang es, einen Server (gemeint ist nun die Hardware) für viele User zur Publikation von Webinhalten bereit zu stellen. Dabei ist es so, dass die Webserver - Software diese Seiten, sprich: HTML-Dokumente, in den Homeverzeichnissen der User ausliefert. Die am weitesten verbreite Webserver - Software ist die des Apache-Projekts, die inzwischen auch mit virtuellen Hosts arbeiten kann. Damit ließen sich auch ein eigener Domainname zuordnen, bei deren Eingabe das festgelegte Homeverzeichnis eines User erschien. Die zahlreichen User teilen sich also nicht nur die Hardware, sondern - und das ist ein wesentlicher Punkt - auch den Zugriff auf die Webserver - Software: Die Anfragen von Browsern müssen von der Software nacheinander abgearbeitet werden.

Dieses Prinzip wird dann zum Nachteil, wenn ein Teil der persönlichen Homeverzeichnisse wesentlich stärker abgerufen wird als der Rest. In solchen Fällen kann es nämlich passieren, dass sich CPU und Arbeitsspeicher komplett um die Auslieferung der hochfrequentierten Seiten kümmern müssen. Der Abruf des Materials auf den anderen Homeverzeichnissen ist dann nur entsprechend langsam möglich und gelingt im Extremfall gar nicht mehr.

Wer sich als Webseitenbetreiber diesem Risiko nicht aussetzen wollte, musste einen Server mieten, auf dem nur die eigene Website liegt. Dieser dedicated Server oder zu deutsch dedizierte Server war deutlich teurer als ein sogenannter Shared Hosting Account, den es kostenlos von der Uni oder sogar von einem Gratis-Anbieter geben konnte.

Auf leistungsfähigen Servern können mehrere Betriebssysteme gleichzeitig laufen

Seit Mitte/Ende der 1990er Jahre wurde Computer-Hardware so leistungsstark, dass man dazu übergehen konnte, mehrere komplexe Softwareprogramme gleichzeitig auf der Hardware laufen zu lassen. Damit konnte man auch Software entwickeln, die sozusagen als Wirtsbetriebssystem mehrere Gastbetriebssysteme aufnehmen kann. So konnte man auf einem PC zum Beispiel nicht nur Windows und Linux gleichzeitig installieren, sondern auch – in Grenzen - parallel betreiben. Was die Sicherheit betrifft: Die beiden Gastbetriebssysteme sind durch die Virtualisierungssoftware strikt voneinander abgeschottet und können nicht aufeinander zugreifen.

Jedes dieser Betriebssysteme bringt eine eigene Webserver - Software mit, so dass auf einem physikalischem Server mehrere virtuelle Server eingerichtet werden können. Diese virtuellen Server – man sagt aus der Perspektive des physikalischen Servers auch virtuelle Maschinen – verhalten sich nach außen wie ein „echter Server“, wobei der Server aber lediglich emuliert wird. Auf diese Weise lassen sich verschiedene Kombinationen aus Prozessortypen, Ramspeichergrößen, Laufwerke emulieren. Nun muss es eine Instanz geben, die die Ressourcen der tatsächlich vorhandenen Hardware auf die virtuellen Maschinen verteilt. Diese Software wird im allgemeinen als Hypervisor bezeichnet, die zugewiesenen Prozessorkerne nennt man virtual cores

Mehrere Möglichkeiten, Hardware zu virtualisieren

Die Art und Weise wie die Virtualisierung ausgestaltet werden kann, lässt einige Variationen zu. Es gibt unterschiedliche Ansätze, die alle in den verschiedenen Produkten oder auch Open Source Projekten verwirklicht werden: Man kann die Hardware emulieren, die Hardware visualisieren oder den Weg der Paravirtualisierung gehen. Bei letzterem benötigt man wiederum eine Schnittstelle – man sagt auch: eine Schicht –, die die Kommunikation zwischen der tatsächlich vorhandenen Hardware und den virtual machines übernimmt. Die Hardware - Virtualisierung lässt Zugriff auf Teile der echten Hardware zu und die Hardware - Emulationssoftware emuliert die komplette Hardwareumgebung, so dass man auf einem System Betriebssysteme laufen lassen kann, die für eine ganz andere Umgebung erstellt worden sind.

Virtualisierung hat Cloud-Computing hervorgebracht

Der große Vorteil der Virtualisierung von Hardware ist, vorhandene, teure Hardware effizienter und flexibler zu nutzen. Das spart Kosten, die sich für Kunden, in diesem Fall die Mieter von Serverdiensten, in günstigeren Preisen bei vergleichbarer Funktionsausstattung und Leistungsfähigkeit widerspiegelt. Außerdem lassen sich virtuelle Maschinen leichter von einem Hardware-System zu einem anderen verschieben während im Falle nicht virtualisierter Hardware eine aufwändigere Servermigration nötig ist, wenn ein Upgrade fällig wird.

Dank dieser Eigenschaft ist Cloud-Computing zum neuen Paradigma in der Informationstechnologie geworden. Heute lassen sich große Serverparks aufbauen, die sich dank Virtualisierungstechnologien dynamisch und schnell an sich verändernde Nutzerbedürfnisse anpassen lassen ohne bei der Bereitstellung neuer Services zu viel Aufmerksamkeit auf die darunter liegende, echte Hardware legen zu müssen. Entscheidend ist, man verfügt über genügend Rechenkapazität, um entsprechend viele virtuelle Maschinen mit den geforderten Eigenschaften und entsprechender Bündelung anbieten zu können. So lassen sich schnell Kapazitäten aufbauen, nach der Bedarfsspitze auch wieder zurückfahren und für andere Anforderungen von anderen Kunden einsetzen.

Zudem lassen sich heute auf virtuellen Computersystemen komplexe Anwendungen installieren, die auch Dank schneller Verbindungen wie DSL fernbedient werden können. Es ist also nicht mehr nötig, die Anwendungssoftware auf dem heimischen Rechner oder auf dem Arbeitsplatzrechner zu installieren. So kommt man zuhause oder im Büro mit kleinen, billigen PCs oder Notebooks aus, während die in der Cloud verfügbare Rechenkapazität gemietet wird. Die Kapazität ist theoretisch unbegrenzt und kann nahezu beliebig nach oben skaliert werden. Wenn man eine schnellere Verarbeitung wünscht, bucht man einfach mehr Ressourcen dazu und kündigt wieder, wenn der Bedarf nicht mehr besteht. Die daraus formbaren Geschäftsmodelle sind vielfältig und reichen von einer eher einfachen Onlinespeicherlösung bis hin zu weltweit skalierbaren Anwendungen mit hochkomplexen Features. Oft werden solche Dienste in Zeiteinheiten oder Recheneinheiten abgerechnet.

Grenzen haben virtuelle Systeme dort, wo es sehr auf die Leistungsfähigkeit der Hardware ankommt, also etwa bei der Bewältigung besonders rechenintensiver Aufgaben, die die portionierten virtuellen Server an die Grenze der Belastbarkeit bringen können. Außerdem ist natürlich aich ein gewisser "overhead" zu bedenken, der dadurch entsteht, dass die Virtualisierungssoftware und die Hardwareabstraktion ja sich selbst verwalten müssen. Auch das benötigt Rechenzeit.