In der Informationstechnik ist ein Server (englisch server, wörtlich Diener oder Bediensteter, im weiteren Sinn auch Dienst ein Computerprogramm oder ein Gerät, welches Funktionalitäten für andere Programme oder Geräte („Clients“) bereitstellt. Diese Architektur wird als Client-Server-Modell bezeichnet.
Dabei hat Server zwei verwandte, aber unterschiedliche Grundbedeutungen:
Server der Wikimedia Foundation
Ein Server als Software ist ein Programm, das im Client-Server-Modell mit einem anderen Programm, dem Client (englisch für Kunde), kommuniziert. Der Client kann dadurch bestimmte, von der Server-Software bereitgestellte Funktionalitäten nutzen, zum Beispiel Dienstprogramme, Netzwerkdienste, den Zugang zu einem Dateisystem oder einer Datenbank.
Ein Hardware-Server ist ein Computer, auf dem ein oder mehrere Server (Software) laufen.
Geschichte des Server-Begriffs
Jene Computer, auf denen man die ersten Server programmierte, wurden als Host bezeichnet (vgl. Host-Terminal-Prinzip). Zu dieser Zeit waren Hosts fast ausschließlich spezielle, leistungsfähige Computer (Großrechner). Mit zunehmender Leistungsfähigkeit von Standardcomputern konnten bestimmte Serverleistungen auch von diesen bereitgestellt werden. Diese Leistungen erbrachte aber nur der Computer, auf dem die Server-Software lief. Daher weitete sich die Bezeichnung Server von der Software auf die Hardware, sprich auf den Host, aus. Diese Begriffsbildung wurde in der Werbung für Computer-Hardware und auch von Fachzeitschriften übernommen, was den Begriff sehr schnell in der Umgangssprache etablierte.
Der erste Server des World Wide Webs im CERN. Ein Aufkleber weist darauf hin, dass es sich um einen Server handelt und dieser nicht heruntergefahren werden soll.
Diese Doppeldeutigkeit des Begriffs Server führt in einigen Fällen zu Verwirrungen, da die Bezeichnung häufig in einer Form verwendet wird, in der insbesondere für Laien schwer erkennbar ist, ob der Hardware- oder der Software-Aspekt gemeint ist.
Entwicklung der Begriffe Host und Server
Der Ausdruck Host wird in der EDV schon frühzeitig in den 1960er Jahren im Zusammenhang mit Großrechnern oder der mittleren Datentechnik und den dort üblichen Time-Sharing- oder Mehrbenutzer-Betriebssystemen gebraucht. Diese Systeme sind stark gegliedert und bestehen im Wesentlichen aus einer Zentraleinheit, die auch als Host bezeichnet wird und alle „Intelligenz“ beherbergt, und den „dummen“ Terminals, die lediglich als Benutzerendgeräte an den Arbeitsplätzen eingesetzt werden und praktisch nur zur Eingabe und Ausgabe von Daten dienen. Der häufig auch als Synonym benutzte Ausdruck Server ist jünger und kommt aus dem Bereich der Personal Computer und Betriebssystemen wie Banyan Vines, Mac OS, Netware oder Unix. Als die Vernetzung dieser Rechnerklasse am Ende der 1980er Jahre praktisch überall Einzug hielt, suchte man zur Abgrenzung von den bestehenden Host-basierten Architekturen eine alternative Bezeichnung und etablierte hierzu den Ausdruck Server. Als stellvertretendes Beispiel sei hier der dedicated NetWare Server genannt. Die Architekturen auf Basis von Personal Computern kennen typischerweise keine „intelligenten“ Hosts im Kontrast zu „dummen“ Terminals, hier ist jedes System mit mehr oder weniger „Intelligenz“ ausgestattet. In diesem Kontext werden Rechnersysteme (Hardware und Software), die im Wesentlichen anderen Systemen Leistungen zur Verfügung stellen (siehe Server (Software)), als Server bezeichnet. Im Unix-Umfeld ist die Differenzierung zu dieser Zeit deutlicher; hier werden (meist grafische) Workstations und Workstation-Betriebssysteme sowie deren Software von (meist Konsole-basierten) Servern und Server-Betriebssystemen mit zugehöriger Software unterschieden. Mittlerweile sind allerdings beide Ausdrücke – zumindest umgangssprachlich und im Zusammenhang mit Hardware – praktisch gleichbedeutend.
Server als Bezeichnung für Software und Client-Server-Konzept
In der ursprünglichen Bedeutung des Wortes in der Informatik ist ein Server ein Computerprogramm, das einen Dienst (engl. Service) anbietet. Im Rahmen des Client-Server-Modells kann ein anderes Programm, der Client („Kunde“), diesen Dienst nutzen. Client und Server laufen als Programme typischerweise auf verschiedenen Rechnern, seltener auch auf demselben Rechner.
Der Server ist in Bereitschaft, um jederzeit auf die Kontaktaufnahme eines Clients reagieren zu können. Die Regeln der Kommunikation (Format, Aufruf des Servers und die Bedeutung der zwischen Server und Client ausgetauschten Daten), nennt man Protokoll; diese Regeln sind jeweils für einen Dienst festgelegt.
Allgemein kann das Konzept ausgebaut werden zu einer Gruppe von Servern, die eine Gruppe von Diensten anbieten, Beispiele: Mail-Server, (erweiterter) Web-Server, Applikations-Server, Datenbank-Server.
Da in der Praxis Server meist gesammelt auf bestimmten Rechnern laufen, hat es sich eingebürgert, diese Rechner selbst als Server zu bezeichnen. Die gleichen Beispiele: Mailserver, Webserver oder Applikationsserver.
Im Sprachgebrauch für Software-Server und -Clients hat es sich eingebürgert, diesen die Fähigkeiten zuzuschreiben, die eigentlich von der Hardware bereitgestellt werden. So nimmt in diesem Sprachgebrauch bspw. die Client-Software mit der Server-Software Kontakt auf, obwohl sie dazu nur durch die Hardware befähigt wird. Man abstrahiert also vollkommen von der Art und Weise, wie die Verbindung technisch realisiert wird, und davon, welche und wie viele Rechner an diesem Ergebnis beteiligt sind. So können sich bspw. beide (Client und Server) auf demselben Rechner befinden, über ein Kabel oder auch über das Internet verbunden sein.
Server als Bezeichnung für Hardware
Der Begriff Server als Hardware wird verwendet:
als Bezeichnung für einen Computer, dessen Hardware auf Serveranwendungen abgestimmt ist, teils durch spezifische Leistungsschwerpunkte (z. B. hoher I/O-Durchsatz, großer Arbeitsspeicher, viele CPUs, hohe Zuverlässigkeit, 24/7-Systeme, die nie abgeschaltet werden, mit Ausnahme von speziellen „Video-Servern“ in der Regel unbedeutende Grafikleistung).
Die Überwachung und Wartung eines Servers stellt eine wichtige Tätigkeit in jedem Unternehmen dar. Häufig zum Einsatz kommen dabei sogenannte Netzwerküberwachungssysteme.
Formen
Der einfachste Fall eines Servers ist der, bei dem auf einem Host genau eine Server-Software installiert wird.
Wenn die Leistungsfähigkeit eines einzelnen Hosts nicht ausreicht, um die Aufgaben eines Servers zu bewältigen, kann man mehrere Hosts zu einem Verbund zusammenschalten, der auch Computercluster genannt wird. Hierzu wird auf allen Hosts eine Software installiert, die bewirkt, dass sich dieser Cluster gegenüber den Clients wie ein einzelner Server darstellt. Dem Benutzer, der über seinen Client mit dem Server verbunden ist, bleibt dabei verborgen, welcher Host welchen Teil seines Auftrages abarbeitet. Beim Server handelt es sich dann um ein Verteiltes System.
Virtuelle Server
Es gibt auch den umgekehrten Fall, in dem auf einem zumeist leistungsfähigen Host mehrere Software-Server installiert sind. Den Benutzern bleibt dabei verborgen, dass die verschiedenen Dienstleistungen in Wirklichkeit von nur einem einzigen Host abgewickelt werden.
Beide Anordnungen bezeichnet man als virtuellen Server. Zu unterscheiden sind dabei virtuelle Hosts und virtuelle Server (Software). Es gibt verschiedene Virtualisierungsarten.
Dedizierte Server
Ein dedizierter (englisch dedicated […], dt. wörtlich gewidmet, bestimmt oder zugeordnet) Server ist ein Server oder ein eigenständiges Gerät, der für einen Netzwerkdienst oder mehrere dauerhaft betriebene Dienste vorgesehen ist, und nicht nebenbei für andere Aufgaben, etwa als Workstation, genutzt wird.[5] Im Marketing von Serverhousing-Anbietern werden unter ähnlichen Begriffen wie englisch bare metal server Angebote bezeichnet,[6] bei denen einem Kunden das exklusive Nutzungsrecht für ein einzelnes physisches Gerät vermietet wird, oft verbunden mit dem vollen Zugang zur physischen Hardware bis auf das Niveau von BIOS-Einstellungen und der Wahl bestimmter Hardwarekomponenten, und sich der Kunde diese physische Serverhardware nicht wie bei virtuellen Servern mit anderen Kunden und deren Diensten teilen muss. Üblicherweise befinden sich dedizierte Server mit einer Vielzahl ähnlicher Geräte zusammen in einem Rechenzentrum.
Shared Server
Ein Shared Server (englisch shared […], dt. teilend oder anteilig) ist ein Server, der nicht exklusiv einem Kunden oder einer bestimmten Aufgabe zur Verfügung steht. Im Marketing wird er genutzt, um einen im Vergleich zum exklusiv genutzten dedizierten Server (siehe oben) günstigeren Tarif für einen einzelnen Kunden zu realisieren. In der Praxis werden zeitweilige Lastspitzen auch bei der Nutzung eines einzelnen Servers durch mehrere Kunden, die darauf zum Beispiel jeweils ihre Internetpräsenz betreiben, durch Loadbalancing seitens des Betreibers teilweise ausgeglichen. Sie führen daher nicht notwendigerweise zu Leistungseinbußen wie etwa langen Ladezeiten von Webseiten, was den theoretischen Nachteil gegenüber dedizierten Servern relativieren kann.