Mehr Flexibilität für das Web

Einer der wichtigsten Einsatzbereiche von Serversystemen ist derjenige als Anwendungsserver für Web-basierende Applikationen. Mit den IIS 7.0 hat Microsoft hier wesentliche Verbesserungen vorgenommen, um eine grössere Flexibilität zu schaffen.

Artikel erschienen in Swiss IT Magazine 2007/16

     

Die IIS (Internet Information Services) sind von ihrem Konzept ein integrierter Web- und Application-Server. Durch die enge Anbindung an das .NET-Framework gibt es sehr umfassende Möglichkeiten für die Anwendungsentwicklung. Gleichzeitig hat diese Integration aber auch dazu geführt, dass die IIS immer komplexer und umfangreicher geworden sind. Einige der Herausforderungen hat Microsoft bereits in der Version 6 adressiert, beispielsweise durch eine stärkere Trennung verschiedener ausführbarer Prozesse.



Mit der Version 7 der Internet Information Services setzt Microsoft diese Entwicklung fort. Modularität, Sicherheit und eine verbesserte Administrationsfähigkeit auch in Umgebungen mit mehreren Servern standen beim neuen Release im Fokus. Gleichzeitig wurden auch ergänzende Dienste wie die Streaming Media Services erweitert, die ja auch immer mehr Bedeutung erlangen.


Modulares Design

Die vielleicht wichtigste Neuerung ist dabei das modulare Design der IIS 7.0. Es gibt nun mehr als vierzig verschiedene Module, die (weitgehend) unabhängig voneinander installiert werden können. Das bringt gleich mehrere Vorteile.


Zum einen bedeutet eine grössere Modularität auch, dass sich «schlankere» Server einrichten lassen, weil man sich auf die Funktionen beschränken kann, die zwingend erforderlich sind. Man konnte zwar auch schon beim Vorgänger recht gezielt auswählen, was man braucht. Die Klarheit, die sich aus dem Rollen- und Funktionsmodell der IIS 7.0 beim Windows Server 2008 ergibt, fehlte aber bisher.



Ein zweiter Vorteil ist, dass modulare Systeme weniger Patches benötigen und damit auch die Verfügbarkeit steigt. Denn Patches müssen nur für die Komponenten eingespielt werden, die auch tatsächlich installiert sind. Da das Patch-Management, wenn man Patches vorher detailliert auf ihre Auswirkungen auf produktive Systeme testet, einigen Aufwand verursacht, kann das den administrativen Aufwand ebenso wie Downtimes im Rahmen der Patch-Verteilung deutlich reduzieren.


Schliesslich bedeuten weniger Module auch weniger Angriffsflächen, da es eben auch weniger Komponenten gibt, die sicherheitsrelevante Fehler aufweisen können. Gerade bei Web- und Anwendungsservern ist das natürlich ein ganz gewichtiger Aspekt.


Die grössere Modularität zeigt sich schon bei der Einrichtung der IIS. Sobald die Rolle Webserver (IIS) ausgewählt wird, müssen bereits zusätzliche Funktionen hinzugefügt werden. Zwingend erforderlich sind der Windows-Prozessaktivierungsdienst mit dem Prozessmodell und den Konfigurations-APIs. Dieser Dienst wird für eine differenzierte Steuerung von Prozessen durch die IIS benötigt. Im Anschluss daran können die eigentlichen Rollendienste ausgewählt werden. Dabei kann beispielsweise genau gesteuert werden, welche Funktionen für die Anwendungsentwicklung unterstützt werden sollen oder welche der möglichen Authentifizierungsmechanismen überhaupt verfügbar sein müssen.


Diese Modularität setzt allerdings auch eine genauere Planung von IIS-Installationen als bisher voraus. So muss man beispielsweise für die Auswahl der Anwendungsdienste wissen, welche Applikationen mit welchen Anforderungen an die Authentifizierung zukünftig auf einem Webserver ausgeführt werden sollen. Auf der anderen Seite kann man wenig sichere Mechanismen wie die Basis-Authentifizierung generell verhindern, indem man sie erst gar nicht installiert.


Einfachere Administration

Viel getan hat sich bei den IIS 7.0 auch im Bereich der Administration. Direkt sichtbar wird das bei der neuen Verwaltungsschnittstelle. Aber auch unter der Oberfläche gibt es viele Neuerungen, von optimierten Konfigurationsdateien bis hin zu neuen APIs.


Die neue Verwaltungsschnittstelle für die IIS heisst zwar weiterhin Internetinformationsdienste-Manager, ansonsten ist aber kaum etwas beim alten geblieben. Auf der Startseite finden sich verschiedene Symbole für die Konfigurationsbereiche der IIS. Diese können dort geöffnet werden. Für jeden Bereich finden sich Eigenschaften, die aktiviert und bearbeitet werden können. Durch die Vielzahl einzelner Konfigurationsbereiche ist das deutlich übersichtlicher als die früheren Register-Strukturen des Verwaltungsprogramms.



Über die grafische Schnittstelle lassen sich alle wichtigen Verwaltungsfunktionen sowohl für den Webserver selbst als auch für ASP
.NET ausführen. Auch Rollen für die Administration des Webservers und die Delegation von Verwaltungsfunktionen können dort direkt konfiguriert werden. Letzteres ist für die Sicherheit von Webservern von elementarer Bedeutung. Durch die gezielte Delegation der Administration für ausgewählte Websites oder Verwaltungsfunktionen können beispielsweise Anwendungsentwicklern bestimmte erforderliche Rechte gegeben werden, ohne sie zu Administratoren des Webservers zu machen. Die Verwaltungsschnittstelle kann auch remote genutzt werden, was für viele Einsatzbereiche der IIS – beispielsweise bei gehosteten Servern oder bei externen Entwicklern – wichtig ist.


Neue APIs

Microsoft hat sich bei den IIS 7.0 aber nicht auf eine neue grafische Oberfläche beschränkt. Es gibt parallel dazu auch ein neues Tool auf Befehlszeilenebene für die Server-Konfiguration. Damit lassen sich wichtige Verwaltungsaufgaben beispielsweise über Scripts automatisieren. Zusätzlich gibt es eine neu verwaltete API, die für die Automatisierung ebenso genutzt werden kann wie der neue WMI-Provider. Egal welchen Ansatz man also für die Administration bevorzugt – er wird von den IIS 7.0 unterstützt. Man kann über die PowerShell und WMI mit Scripts arbeiten, die verwaltete API mit
.NET-Anwendungen nutzen oder weiterhin die – nun eben stark überarbeitete – grafische Benutzerschnittstelle verwenden.



Aber nicht nur in diesem Bereich gibt es neue APIs. Auch bei den Kernfunktionen des Webservers lassen sich nun über neue APIs sehr viel einfacher Erweiterungen beispielsweise für die Protokollierung oder Konfiguration vornehmen. Dafür gibt es sowohl eine verwaltete .NET-API als auch eine native Win32-API. Microsoft hat diese APIs selbst bei der Entwicklung der IIS 7.0 genutzt. Mit den Neuerungen in diesem Bereich hat es Microsoft endgültig geschafft, aus dem früher doch sehr mono­lithischen, geschlossenen System einen sehr flexibel nutzbaren und erweiterbaren Webserver zu machen.


Einheitliche Konfiguration

Die für Entwickler und viele Administratoren wichtigste Neuerung bei den IIS 7.0 dürfte aber das neue Konfigurationsmodell sein. Bisher waren die Konfigurations­informationen immer an einen lokalen Speicher auf einer Maschine gebunden, was die Übernahme auf andere Systeme schwierig gemacht hat. Zudem waren auch diese Speicher mit Konfigurationsinformationen reichlich unübersichtlich.


Bei den IIS 7.0 werden die bisherigen Ansätze zwar optional noch unterstützt, wenn entsprechende Module beim Server installiert werden. Das neue, vereinheitlichte Konfigurations­system arbeitet aber mit einem einheitlichen XML-Format für die Speicherung aller IIS- und ASP
.NET-Einstellungen. Für diese gibt es zudem neue APIs, um die Konfigurationsinformationen einfach bearbeiten und verwalten zu können.



Das wichtigste Resultat der Änderungen ist, dass die Konfigurationsdateien beispielsweise einfach von einem Test- auf einen Produktionsserver kopiert werden können, ohne daran Anpassungen vornehmen zu müssen. Ausserdem können Informationen einfach von mehreren Produktionsservern gemeinsam genutzt werden.


Mehr Diagnosefunktionen

Viel getan hat sich auch bei den Diagnosefunktionen der IIS. So werden nun Laufzeitinformationen zur Diagnose bereitgestellt, die beispielsweise darüber informieren, wie lange welche aktuellen Anforderungen bereits laufen, von welchem Client sie gestellt wurden und welche URLs sie anfordern. Ausserdem können sehr umfassende Trace-Informationen für die weitere Analyse gesammelt werden.



Zudem sind alle Protokoll- und Diagnosefunktionen über die neuen APIs erweiterbar. Damit können weitere Ereignisse in die Überwachung einbezogen, aber auch Diagnosefunktionen mit bestehenden Analyseanwendungen integriert werden.


Windows Media Services mit besserem Caching

Einiges getan hat sich auch bei den Streaming Media Services des Windows Server 2008, also den Funktionen, mit denen sich Audio und Video über das Internet auch in Multicasts an Gruppen von Empfängern übertragen lassen. Erwähnenswert sind insbesondere die Cache- und Proxy-Funktionen, die flexibel konfiguriert werden können. Infrastrukturen mit Mediaservern können durch die optimierte Kombination von Caching- und Proxy-Funktionen bandbreitenoptimiert werden.


Interessant ist auch, dass die Media Services auf einer Core-Installation des Windows Server 2008 genutzt werden können. Damit werden sowohl die Angriffsflächen reduziert als auch besonders effiziente Installationen ermöglicht. Darüber hinaus gibt es aber auch viele Verbesserungen im Bereich der Aufnahme- und Wiedergabefunktionen des Servers.



In der Kombination von IIS 7.0 und den Windows Media Services kann man sehr leistungsfähige Plattformen für die Verteilung jeder Art von Content über das Web aufbauen. Wenn man dann noch die WSS 3.0 (Windows Sharepoint Services) als Kollaborationsinfrastruktur dazunimmt, ist gerade für den unternehmensinternen Einsatz schon das Basis-Betriebssystem ohne zusätzliche Serveranwendungen eine ausgesprochen leistungsfähige Plattform.




Artikel kommentieren
Kommentare werden vor der Freischaltung durch die Redaktion geprüft.

Anti-Spam-Frage: Wieviele Zwerge traf Schneewittchen im Wald?
GOLD SPONSOREN
SPONSOREN & PARTNER