Physiche und virtuelle Webserver - von Apache bis vServer

Autor:   |  21.08.2019


Was ist ein Webserver1. Der traditionelle Webserver als einzelner, eigener und zentraler Computer
2. Webserver Betriebssysteme im Überblick
3. IPv6 als effizientes Protokoll für Datentransfer
4. Webserver als Programm - Apache und Nginx
5. Optimierung von Webserver durch Caching

 

Sowohl in der Umgangssprache wie in der IT-Branche bezeichnet der Begriff Webserver zwei verschiedene Ebenen. Einerseits handelt es sich um ein Programm wie Apache oder Nginx, dessen Aufgabe es ist, die Kommunikation zwischen einem Client in Form eines Browsers und einem Server als Host zu ermöglichen. Darüber hinaus wird auch ein eigener Server oder vServer als Webserver bezeichnet - hier umfasst der Begriff Webserver Betriebssysteme wie Linux oder Microsoft Windows in Verbindung mit einer geeigneten Umgebung.. Sie müssen in jedem Fall Unterstützung für die Adressierung über IPv4 und IPv6 sowie einen Schutz gegen einen Serverausfall aufweisen. Eine Sonderform von Webserver nehmen komplexe und verteilte Netzwerke wie Content Delivery Networks (CDN) ein, bei denen Anfragen dezentral über Server oder vServer angenommen werden, die Verwaltung, Aktualisierung und Organisation der Inhalte aber zentral geschieht.

Der traditionelle Webserver als einzelner, eigener und zentraler Computer

Bei dem traditionellen Modell verwenden Webserver Betriebssysteme wie Microsoft Windows Server oder Linux, auf denen notwendigen Dienste für dynamische Webseiten wie Apache, Nginx, PHP und MySQL lokal installiert sind. Dieses Vorgehen ist unter anderem für kleine und mittelständische Unternehmen geeignet, da sie in Verbindung mit einem vServer oder einem Webspace eine kostengünstige und gleichzeitig effiziente Infrastruktur ermöglicht. In diesem Fall übernimmt ein einziger, eigener vServer sämtliche Aufgaben eines Webserver. Er lässt gleichzeitig eine flexible und schrittweise Erweiterung durch die Auslagerung bestimmter Dienste auf eine wachsende IT-Infrastruktur zu. Bei einer Expansion zu einem späteren Zeitpunkt ist die Verteilung der Last auf lokale Webserver oder vServer, das Caching aud DB-Servern innerhalb eines CDN möglich.

Webserver benötigen nicht allein geeignete Webserver Betriebssysteme, sondern zusätzlich auf der physischen Ebene eine leistungsfähige und moderne Hardware. Die Auslastung und die benötigten Ressourcen für eine zeitnahe Bearbeitung von Anfragen schwanken im Laufe eines Tages und saisonal stark - entsprechend wichtig sind ausreichende Reserven bei der Performance, die spontane Spitzen bei der Rechenlast zuverlässig bewältigen können. Da ein eigener, universeller Webserver unterschiedliche und notwendige Dienste wie Datenbanken sowie einen Interpreter für Skriptsprachen wie PHP oder Python aufweist, belegt jede aktive Verbindung mehre laufende Prozesse, so dass der Bedarf an Leistung rasch ansteigt. Durch bestimmte Verfahren wie dem Caching von Daten und bestimmten Inhalten lässt sich dieses Problem lediglich teilweise umgehen.

Webserver Betriebssysteme im Überblick

Die Webserver Betriebssysteme müssen besonderen Anforderungen gerecht werden. So ist zum Beispiel ein langer Support für Webserver Betriebssysteme von besonderer Bedeutung, denn eine Umstellung auf eine neue Version ist ohne Serverausfall kaum möglich. Darüber hinaus müssen Webserver Betriebssysteme stetig aktualisiert werden, um neue Sicherheitslücken zu schließen. Eine kurze Reaktionszeit vonseiten der Betreuer bei kritischen und potenziell gefährlichen Schwachstellen ist unverzichtbar, um nach deren Veröffentlichung Angriffen von Cyberkriminellen vorzubeugen.

Allgemein bieten sich für einen Webserver Betriebssysteme wie Microsoft Windows Server oder unterschiedliche Linux Distributionen an, die für die Verwendung als eigener Webserver optimiert wurden und eine hohe Stabilität mit einem schnellen und zuverlässigen Support aufweisen. Wegen der direkten Vernetzung mit dem öffentlichen Internet sind Webserver einem hohen Risiko für Cyberangriffe und einem Serverausfall ausgesetzt, so dass Webserver Betriebssysteme eine spezielle und hohe Absicherung gegen das Eindringen von außen benötigen. Aus diesem Grund setzen viele Unternehmen bei ihren Webserver auf Betriebssysteme mit einem kommerziellen Support - neben Microsoft Windows Server etwa das Red Hat Enterprise Linux (RHEL), das das kostenfreie Fedora um eine professionelle, kostenpflichtige Betreuung ergänzt. Dieses Konzept minimiert die Gefahr, dass es aufgrund äußerer Faktoren zu einem Serverausfall kommt und gewährleistet eine permanente Erreichbarkeit mit einer niedrigen Server Response Time.

Wegen ihrer Stabilität, Sicherheit und Effizienz haben sich spezielle Linux Distributionen wie das erwähnte RHEL oder Debian als Webserver Betriebssysteme etabliert und eine marktführende Stellung erreicht. Diese Webserver Betriebssysteme auf der Basis des Linux Kernels teilen sich in unterschiedliche Distributionen auf, die jeweils eigene Prioritäten und Eigenschaften besitzen. Die individuellen Merkmale bestehen dabei weniger in der Auswahl der Dienstprogramme wie dem Datenbank- und dem Webserver, sondern in der Bedienung und dem Umgang mit fremder Software, die nicht unter einer Open Source Lizenz steht. Das betrifft weniger allgemein verbreitete Programme wie den Apache oder Nginx Webserver, sondern in erster Linie die Unterstützung von Hardware durch proprietäre Treiber, die etwa die IPv6 Adressierung von Schnittstellen für das Netzwerk ermöglichen. Linux ist stark modular aufgebaut, wodurch sich die Webserver Betriebssysteme stark individualisieren lassen. Zu den Optionen gehört beispielsweise ein unterschiedlich ausgeprägtes Servermonitoring, bei dem der Administrator Schwerpunkte setzt.

Die Webserver Betriebssysteme auf der Grundlage von Microsoft Windows Server zeichnen sich im Gegensatz dazu durch eine hohe Benutzerfreundlichkeit, kontinuierliches Servermonitoring und eine gute Dokumentation aus. Diese ergänzt eine übersichtliche und schrittweise Installation und Konfiguration sowie ein ausgezeichneter Support für den Webserver, den Microsoft mit einer professionellen Abteilung für IT-Sicherheit und eigener Suche nach potenziellen Sicherheitslücken gewährleistet. Die Webserver Betriebssysteme aus dem Hause Microsoft besitzen den zusätzlichen Vorteil, dass sie in vielen Fällen explizit vor falschen Einstellungen warnen und Konfigurationen vermeiden, die zu einem Serverausfall führen könnten. Darüber hinaus vereinfachen die Webserver Betriebssysteme die Optimierung und beziehen dabei unterschiedliche Aspekte von der Verwaltung der Ressourcen über das Caching von Inhalten bis zu der Konfiguration von Netzwerkprotokollen wie TCP und IPv6 ein.

IPv6 als effizientes Protokoll für Datentransfer

Die wichtigste Aufgabe von IPv6 ist die Adressierung eines Webserver im Internet und die Herstellung einer bidirektionalen Verbindung zwischen Webserver und Client. Es handelt sich um ein Protokoll, das über unterschiedliche Schichten verfügt und in diesen wichtige Informationen für das Routing innerhalb eines Netzwerks und für den Übergang zwischen unterschiedlichen Teilnetzen verpackt. Die Standardisierung von IPv6 erfolgte 1998, da sich bei dessen Vorgänger IPv4 im Laufe der Zeit Schwächen zeigten und nicht zuletzt der verfügbare Raum von etwa 4,3 Milliarde individuellen Adressen bereits mittelfristig ausgeschöpft werden würde. Im Unterschied dazu erlaubt IPv6 die direkte Adressierung von bis zu 340 Sextillionen unterschiedlichen Teilnehmern mit eigener Kennung - einer Zahl mit insgesamt 39 Nullen.

Obwohl Webserver und Betriebssysteme die Umstellung von IPv4 auf IPv6 bereits seit etwa der Jahrtausendwende unterstützen, verwenden zahlreiche Teilnehmer weiterhin den alten Standard. Ein Grund dafür ist, dass IPv6 schrittweise eingeführt und umgesetzt werden sollte, ohne dass ein konkreter Zeitplan mit verbindlichem Rahmen für die Umsetzung definiert wurde. Noch 2018 verwendete weniger als die Hälfte aller Verbindungen IPv6 für ihre Adressierung, in weiten Teilen des Internets ist eine parallele Nutzung von IPv6 und IPv4 üblich. Wegen der starken Zunahme an Teilnehmern durch Embedded PC und mobile Endgeräte gehen Experten allerdings davon aus, dass sich IPv6 rasch als entwickeln und als universeller Standard durchsetzen wird. Um die Kompatibilität mit älterer IT-Infrastruktur zu gewährleisten, ist es für Webserver Betriebssysteme allerdings weiterhin langfristig notwendig, IPv4 zu unterstützen.

Webserver als Programm - Apache und Nginx

Während für den physischen Webserver die Betriebssysteme Windows oder Linux zur Auswahl stehen, bieten sich für den virtuellen Webserver als Programm zur bilateralen Kommunikation zwischen Client und Host die Alternativen Apache und Nginx an. Der Webserver Apache gilt in vielen Bereichen als Standard und nimmt seit der Jahrtausendwende eine führende Stellung mit einem Marktanteil von über 50 Prozent ein. Im Vergleich dazu handelt es sich Nginx um einen relativ jungen Webserver - die erste Version wurde 2004 veröffentlicht, eine nennenswerte Verbreitung erreichte der Webserver erst seit etwa 2010. Beide unterscheiden sich in ihrem Aufbau und ihren Eigenschaften deutlich voneinander. Zu den Eigenschaften von Apache zählen:

  • Modularer Webserver mit flexibler Erweiterung der Funktionalität
  • Jeder Verbindung wird eigener Prozess zugeordnet
  • Unterstützung für Erweiterungen und Plugins
  • Hohe Funktionalität mit guter Performance
  • Effizienz sinkt mit steigender Anzahl von Clients
  • Unterstützung für lokale Konfiguration des Webserver durch .htaccess

Im Unterschied dazu ist Nginx für große und komplexe Netzwerke mit zahlreichen Clients wie bei CDN ausgelegt, weshalb große Portale den Webserver oft bevorzugen. Typische Merkmale von Nginx sind unter anderem:

  • Statischer Webserver mit begrenzter Erweiterbarkeit durch Module
  • Verbindungen werden gebündelt und in einem Prozess gesammelt
  • Plugins können nicht nachträglich ohne Serverausfall geladen werden
  • Sehr gute Performance bei zahlreichen parallelen Verbindungen
  • Niedriger Verbrauch von Ressourcen bei steigenden Anfragen
  • Keine Unterstützung für lokale Konfiguration durch .htaccess

Optimierung von Webserver durch Caching

Für eine dauerhafte Erreichbarkeit muss ein Webserver jederzeit und das ganze Jahr über 24/7/365 laufen und mit dem globalen Internet verbunden sein. Gleichzeitig schwanken die Anforderungen und die Rechenauslastung stark, während der Webserver und die Webserver Betriebssysteme diese Vorbedingungen nur in einem begrenzten Maßstab beeinflussen. Um die Reaktionszeit gering zu halten und Berechnungen weitgehend zu vermeiden, ist eine Optimierung der Webserver und Webserver Betriebssysteme ab einer höheren Zahl von Clients unverzichtbar. Ein Verfahren dafür ist das Caching von Inhalten, bei dem der Webserver häufige Anfragen nach ihrer ersten Bearbeitung in einem Zwischenspeicher lagert. Ein Nachteil des Caching ist allerdings, dass es sich primär für Webseiten mit einem statischen Inhalt eignet - müssen einzelne Elemente beispielsweise nach einem Login in einem nicht-öffentlichen Bereich angepasst werden, ist eine vollständige Neuberechnung notwendig. Das Caching eignet sich deshalb in erster Linie für die Optimierung einer Internetpräsenz und beschränkt sich bei dem Einsatz von Social Media und individuellen Anfragen auf universelle Bereiche.

Servermonitoring und Serverausfall

Wegen ihrer Bedeutung für die öffentliche Präsentation benötigen Webserver eine intensive Betreuung inklusive eines Servermonitoring und einer zuverlässigen Absicherung. Jeder Serverausfall in diesem Bereich - sei er durch die Webserver Betriebssysteme, durch Versagen der Hardware oder durch falsche Konfiguration eines vServer bedingt - führt unmittelbar zu einem Verlust der öffentlichen Reputation und schädigt das Brand Building eines Start-ups. Server und vServer sollten deshalb durch ein kurz getaktetes Servermonitoring auf einen Serverausfall oder unerwartetes Verhalten kontrolliert werden. Dieses Servermonitoring schließt die Erreichbarkeit der Webserver und Betriebssysteme ebenso wie die Funktion von relevanten Diensten wie Apache oder Nginx mit ein.

vServer bieten sich für Optimierung der Kosten an

Im Vergleich zu einem Root Server besitzt ein vServer eine ausgezeichnete Kosten-Nutzen-Bilanz und bietet sich dadurch als primäre Instanz wie als CDN Webserver mit verteilten Standorten an. Probleme bei einem vServer als Webserver ergeben sich lediglich durch inhomogene Webserver Betriebssysteme, die ein zentrales Caching von Daten verbieten. Aus diesem Grund ist es ratsam, eine übergreifende Entscheidung für vServer und IT-Infrastruktur zu treffen und von dieser bei vServer zu vServer nicht abzuweichen.

Foto: kreatikar pixabay.com