Mit Zeus auf Zack

26.11.1998
Man kennt ihn als Herrscher über die Vielfalt und den Donner. Und vielleicht hatte die englische Software-Schmiede auch den Göttervater im Sinn, als sie nicht nur sich selbst, sondern auch den eigenen Webserver nach ihm benannte: Zeus glänzt mit einer Fülle von Funktionen und ist schnell wie der Blitz.

Von: Thomas Weihrich

Das Angebot an Web-Servern ist vielfältig. In immer kürzeren Abständen werben die Hersteller mit neuen Produkten, die teilweise schon auf spezielle Zielgruppen zugeschnitten sind. So zum Beispiel die Software der englischen Firma Zeus, die sich vorwiegend an Internet Service Provider mit hohem Datenaufkommen wendet. Ihr Programm kann beliebig viele virtuelle Domains einrichten, wobei dessen Architektur auf Multithreading ausgelegt ist und nur einen geringen Overhead erzeugt. Mit Microsoft Frontpage und dem Netscape Composer richtet sich Zeus an Web Content Provider, die viele Seiten erstellen und verwalten. Dank seiner Unterstützung von Java Servlets und "Common Object Request Broker Architecture" (Corba) sowie einer 128-Bit-Verschlüsselung eignet sich die Software auch für E-Commerce-Applikationen.

Zeus gilt als eines der schnellsten und leistungsfähigsten Programme seiner Art, ist jedoch mit einem Preis von 999 britischen Pfund nicht gerade billig. Der Preis weckt hohe Erwartungen. Unser Test zeigt, ob die Software diesen gerecht wird und ob sich die Anschaffung lohnt.

Zeus läuft auf vielen Plattformen: Neben den klassischen RISC-Systemen von Digital (Digital Unix 4), IBM (AIX 4.1 und neuer), HP (HP-UX 10), Silicon Graphics (Irix 6) und Sun (Solaris 2) arbeitet die Software auch mit PC-Unix-Varianten wie Solaris/x86, Free BSD und BSDI.

Das Interessante am Zeus-Server ist seine Architektur. Ähnlich wie Netscape Suitespot bietet er ein "Application Framework", also ein grafisches Werkzeug, welches Anwendungen verwaltet. Zeus legt auf Anfrage die Spezifikationen dieses Tools offen, mit denen Entwickler ohne größeren Aufwand unterschiedliche Module in einer homogenen Administrationsumgebung zusammenfassen können. Dadurch entsteht ein Intranet-Applikationsserver, der nicht nur sämtliche Dienste bereitstellt, sondern auch alle Anwendungen unter einer gemeinsamen Oberfläche zentral verwaltet.

Index und Suchmaschine

Es liegt nahe, Module wie einen LDAP-, einen Mail- oder einen FTP-Server einzurichten. Diese sind jedoch noch nicht zu haben. Nur das Web-Modul, den "Web Application Server", kann der Kunde bereits kaufen. Das Plug-in ist seinerseits modular aufgebaut.

Der Web-Server eignet sich für den kommerziellen Einsatz. Er verwendet den HTTP/1.1-Standard, der virtuelle Server mit verschiedenen Domain-Namen anspricht. Eine Protokolldatei sammelt Fehlermeldungen, so ausführlich, wie der Administrator es wünscht. Microsoft Frontpage und Netscape Navigator Gold ermöglichen sowohl aufwendiges als auch "quick’n’dirty" Web-Publishing. Auch eine Suchmaschine und ein Indexserver fehlen nicht, und zur Freude nicht amerikanischer Kunden verwendet das Programm einen SSL3-Schlüssel der Länge 128-Bit.

Virtuelle Domains

Besonderes Augenmerk haben die Entwickler auf eine flexible Handhabe virtueller Server und auf die Integration verschiedener Programmierschnittstellen gelegt. Zeus verwaltet beliebig viele virtuelle Server, die der Betreiber unabhängig voneinander starten, stoppen und umkonfigurieren kann. Änderungen an einem virtuellen Server wirken sich nicht auf andere aus; sie laufen vielmehr unverändert und ohne Unterbrechung weiter. Ein Master-Server verteilt HTTP-Requests gemäß HTTP/1.1 anhand von Unified Resource Locators (URL) und Host-Namen. Jeder virtuelle Server hat seinen eigenen Satz von Plug-in-Modulen.

Bemerkenswert sind die Module zur automatischen Bandbreitenkontrolle, die eine Überlastung des Internet-Anschlusses durch einzelne virtuelle Server verhindern und die Antwortgeschwindigkeit des Servers an die aktuelle Lastsituation anpassen. Eine automatische Suchmaschine und eine Indexerstellung stehen jedem einzelnen Server mit einer eigenen Konfiguration zur Verfügung. Eine Analyse der Verbindungsdaten und des Datenvolumens erfolgt in Echtzeit.

Dem Entwickler von Internet- oder Intranet-Anwendungen stellt Zeus neben dem Common-Gateway-Interface-Format (CGI Version 1.1) das von Open Market entwickelte Fast-CGI-Interface zur Verfügung, das den System-Overhead beim Aufruf und beim Ausführen externer Programme erheblich reduziert.

Für CGI-Programme schafft der WebServer eine kontrollierte Ausführungsumgebung, in der die Ressourcen, die das CGI-Binärprogramm zugeteilt bekommt, nicht nur vom Betriebssystem, sondern zusätzlich vom Web-Server eingeschränkt werden. Das CGI-Programm erhält damit quasi einen Sandkasten, aus dem es nicht entwischen kann - ein recht wirksamer Schutz vor Systemeinbrüchen oder amoklaufenden CGI-Binaries.

Geschützte CGI-Programme

Zusätzlich unterstützt Zeus das von Microsoft veröffentlichte "Internet Server Application Program Interface" (ISAPI). Damit können Anwendungen direkt auf Funktionen des Servers zugreifen und zum Beispiel dynamische Web-Seiten erstellen. Der Server schützt sich vor fehlerhaften APIs und führt die Funktionen als separate Prozesse aus. Bei einem Absturz ist der eigentliche Web-Server nicht betroffen und läuft weiter.

Java und Corba garantieren ein einheitliches Datenübergabeformat und eine schnelle Anbindung an Datenbanken. "Java Database Connectivity" (JDBC) erzeugt beim Datenzugriff einen wesentlich geringer Overhead als CGI-Scripts. Und mit Corba erhalten Anwendungen Zugang zu Daten anderer Applikationen. Zeus kommt Systemintegratoren entgegen, die komplexe, Web-gesteuerte Anwendungen entwickeln und dabei Mainframes oder größere Unix-Server einbinden müssen.

Das Administrations-Tool läuft in einem Browser. Es verwaltet Benutzer und Benutzergruppen plattformübergreifend und führt die Konfigurationen mehrerer Zeus-Server in einer Registratur (Registry) zusammen. Das ist eine Datenbank, mit deren Hilfe sich mehrere Web-Server zu einem Cluster verbinden. Sämtlichen Rechnern stehen dabei die gleichen Konfigurations-Daten zur Verfügung.

Verteilte Lasten

Ein Cluster besteht aus Front-End- und Back-End-Systemen: Die Front Ends nehmen HTTP-Requests entgegen und leiten sie an die Back Ends weiter. Diese liefern eine HTML-Seite oder führen die gewünschte Datenbank-Anfrage aus und geben das Ergebnis sowie aktuelle Lastinformationen an die Front Ends zurück. Diese beantworten den HTTP-Request, analysieren die Lastinformationen und sorgen für eine geeignete Lastverteilung.

Der Vorteil dieses Ansatzes liegt auf der Hand: Ist eine Maschine überfordert, verteilt das Front End die Rechenlast auf andere Server. Die Frond-End-Server, welche die Lastinformationen der Back-End-Rechner auswerten, wissen sofort Bescheid, wenn ein Knoten ausfällt oder hinzukommt. Ein Cluster kann während des Betriebs auch neue Server aufnehmen. Den Ausfall von Front Ends bemerkt der Administrations-Server, der dann ein Back End zum Front End macht.

Schnelle Installation

Zeus V3 steht auf der Web-Site von Zeus zum Herunterladen bereit: Nach dem Transfer von - je nach Betriebssystem - bis zu 5 MByte Daten liegt ein tar-Archiv auf der Festplatte, das beim Auspacken einige komprimierte Archive freigibt. Das mitgelieferte Installationsprogramm legt diese im gewünschten Verzeichnis an, fragt Paßwörter für den Web-Master sowie die Lizenz ab, startet den Administrations-Server und gibt den URL vor, den das Verwaltungs-Tool aufruft. Die Konfiguration des Servers erfolgt in mehreren Stufen: Zuerst muß man einen Hauptserver einrichten. Dieser hält globale Konfigurationsparameter vor, zum Beispiel das Paßwort des Web-Masters oder die Registry. Danach kommen die virtuellen Server an die Reihe. Die Installation läuft in einem Browser. Sämtliche Funktionen stehen über leicht lesbare Menüs mit Point-and-Click zur Verfügung. Darin lassen sich die einzelnen virtuellen Server separat anwählen und im laufenden Betrieb aktualisieren. Insgesamt vergehen vom Auspacken der Archivdatei bis zur Inbetriebnahme des ersten virtuellen Servers nicht mehr als fünf Minuten.

Hoher Datendurchsatz

Im täglichen Betrieb überzeugt der Zeus-Server mit Stabilität auch bei sehr hoher Last. Die Software geht mit Systemressourcen sparsam um und hat sehr kurze Latenzzeiten. Wie aus dem Webstone-Benchmark hervorgeht, kann der Web-Server schon auf einer relativ kleinen Maschine wie einer SGI Octane ein 100 MBit/s-Ethernet sättigen, und zwar ohne Fehler und mit einem sehr hohem Durchsatz. Viel wichtiger ist jedoch, daß das Programm einzelne virtuelle Server separat herunterfährt, neue während des Betriebs einbindet und Konfigurationsänderungen ohne Neustart der virtuellen Server übernimmt. Insgesamt verhält sich der Zeus-Server vorbildlich, was Performance, Stabilität, einfache Wartung und Skalierbarkeit anbelangt.

Der Webserver eignet sich für Anwendungen, welche Flexibilität und die Anbindung an unternehmensweite Ressourcen ebenso erfordern wie Skalierbarkeit und höchste Leistung. Gerade für Applikationen, die auf Datenbanken zugreifen und Mainframes integrieren, bietet die Architektur des Zeus-Servers erhebliche Vorteile gegenüber herkömmlichen, von Hand zu konfigurierenden Produkten wie dem Freeware-Web-Server Apache.

Weil Zeus "clustern" kann, eignet er sich für Sites, die einen unterbrechungsfreien Betrieb gewährleisten müssen.

Die vielfältigen Konfigurationsoptionen, das Handling virtueller Server sowie die Integration älterer Rechner per Clus-tering reduzieren den Administrationsaufwand, verlängern das Leben teurer Server-Hardware und tragen zumindest auf längere Sicht zur Reduktion der Total Cost of Ownership bei. Für Einsatzgebiete, in denen der Zeus-Server Verwaltungs- und Programmierzeiten um mehrere Tage verkürzt, dürfte ein Preis von 3000 Mark angemessen sein. (kpl)