SharePoint au Quotidien

 

Retour page Accueil
Remonter
Tech-Net IIS 6.0

 

 

 

 

 

 

 

 

Internet Information Services 6.0

Introduction

Les administrateurs et les développeurs d’applications Web ont besoin d’une plate-forme Web rapide et fiable, à la fois évolutive et sûre. Internet Information Services (IIS) 6.0 et Microsoft Windows Server 2003 introduisent de nombreuses nouvelles fonctionnalités pour l’administration des serveurs d’applications Web. Ils apportent performances et évolutivité, disponibilité, fiabilité et sécurité. L’architecture bénéficie d’importantes améliorations, en réponse à la demande des clients.

Cette section propose une vue d’ensemble de la prochaine génération des fonctionnalités d’infrastructure Web déjà disponibles dans la famille de produits Windows Server. Vous y trouverez également un récapitulatif des avantages et des nouveautés techniques dont vous fera bénéficier le déploiement d’IIS 6.0.

Avantages du déploiement d’IIS 6.0

IIS 6.0 offre toute une panoplie d’innovations et de technologies qui le rendent plus fiable, évolutif, sécurisé, facile à gérer et adapté à un développement évolué.

Fiable et évolutif IIS 6.0 est bâti sur une nouvelle architecture de traitement des requêtes qui fournit un environnement d’isolation aux applications. De ce fait, chaque application Web peut fonctionner dans son propre processus de service Web autonome. Cet environnement permet d’éviter qu’une application ou un site n’en arrête un autre et de réduire le temps consacré au redémarrage des services afin de maintenir les applications à un niveau de fonctionnement correct. Cette innovation permet d'accroître la disponibilité d’IIS et du serveur. L’évolutivité et la prise en charge bénéficient des systèmes de stockage sur réseau (NAS, Network Attached Storage).
Sécurisé IIS 6.0 est totalement verrouillé par défaut et il comporte une interface utilisateur conviviale pour la mise à disposition des applications. Une autre innovation de sécurité concerne la nouvelle architecture de traitement des requêtes d’IIS 6.0, qui inclut le recyclage des processus. Par ailleurs, IIS s’exécute par défaut comme compte disposant de peu de privilèges, contenant ainsi les processus de travail.
Facile à administrer IIS 6.0 comprend divers outils de gestion destinés à couvrir les besoins des utilisateurs. Les possibilités d’administration s’applique à toutes les niveaux à travers de puissantes fonctionnalités d’administration et des options de gestion de configuration souples dans une interface optimisée et plus conviviale. Les administrateurs peuvent modifier la configuration et déboguer les applications pendant l’exécution des services. IIS 6.0 offre également plusieurs nouveaux outils de ligne de commande et apporte des améliorations aux utilitaires existants.
Améliorations au niveau du développement Windows Server 2003 offre une expérience de développement enrichie grâce à l'intégration ASP.NET et IIS. Reposant sur IIS 6.0, les innovations de la plate-forme offrent aux développeurs des fonctionnalités de très hauts niveaux: rapidité de développement des applications et large choix de langages. Avec Windows Server 2003, l’expérience d’ASP.NET et du Framework .NET bénéficie de la meilleure intégration des modèles de processus. IIS 6.0 prend en charge les dernières normes du Web, notamment XML, SOAP et IPv6.
Compatibilité des applications La compatibilité d'IIS 6.0 avec la plupart des applications existantes est reconnue, avec pour preuve son utilisation par des milliers de clients et d’ISV. En outre, IIS 6.0 peut être configuré pour s’exécuter dans le mode d’isolation IIS 5.0, ce qui garantit une compatibilité maximale. Pour les quelques problèmes identifiés, il existe souvent des solutions disponibles sur le Web.

 

Nouvelles fonctionnalités et améliorations

Dans Windows Server 2003, Internet Information Services (IIS) 6.0 propose un certain nombre de fonctionnalités nouvelles et d’améliorations importantes :

      Nouvelle architecture de traitement des requêtes

      Nouvelles fonctionnalités de sécurité

      Nouvelles fonctionnalités de gestion simplifiée

      Innovations au niveau des performances et de l’évolutivité

      Nouveautés au niveau de la programmation

      Perfectionnement de la plate-forme

Nouveau modèle de processus

Fonctionnalité Description
Nouvelle architecture de traitement des requêtes IIS 5.0 a été conçu pour qu’un processus, Inetinfo.exe, soit le processus serveur Web principal capable d’envoyer les requêtes vers une ou plusieurs applications hors processus (dllhost.exe). IIS 6.0 a, quant à lui, été optimisé et présente désormais deux nouveaux composants qui utilisent un nouveau pilote en mode noyau. IIS peut ainsi séparer le code de base du serveur Web du code de gestion des applications. Ces trois nouveaux composants sont un écouteur HTTP en mode noyau (HTTP.sys), un gestionnaire de processus et de configuration en mode utilisateur appelé Service d’administration Web et le gestionnaire d’applications, qui est chargé dans un processus de travail distinct. Ces processus de travail traitent à leur tour les requêtes pour les pools d’applications dans HTTP.sys. Les tests préliminaires ont montré une augmentation du débit de plus de 100 % par rapport aux versions précédentes d’ASP (Active Server Pages) pour des tests ASP.NET réalisés sur un serveur à huit processeurs.
HTTP.sys et mise en file d’attente en mode noyau Dans IIS 6.0, HTTP.sys écoute les requêtes et les place dans la file d’attente qui convient à chacune d’elles. Chaque file d’attente de requêtes correspond à un pool d’applications. Comme HTTP.sys ne contient aucun code étranger, il ne peut pas être affecté par des défaillances du code en mode utilisateur qui affectent habituellement l’état du service Web. Si pour une raison quelconque l’infrastructure de traitement des requêtes en mode utilisateur est arrêtée, HTTP.sys continue d’accepter les requêtes et de les placer en file d’attente, pour autant que le service Web reste opérationnel. HTTP.sys continue ainsi jusqu’à ce qu’il n’y ait plus de files d’attente disponibles ou plus de place dans les files d’attente, ou bien jusqu’à l’arrêt du service Web. Dès que le service Web détecte la défaillance du processus de travail, il en démarre un autre s’il reste des requêtes en attente de traitement pour le pool d’applications du processus de travail. Ainsi, quand bien même le traitement des requêtes en mode utilisateur serait momentanément interrompu, l’utilisateur final n’en ressent aucunement les effets car les requêtes continuent d’être acceptées et mises en file d’attente.
WAS (Web Administration Service) La nouvelle architecture IIS 6.0 comporte un autre élément essentiel : le service d’administration Web (WAS, Web Administration Service). Ce service intervient essentiellement à deux niveaux : la gestion de la configuration et des processus. Le service WAS constitue une portion clé du service Web où résident des services essentiels d’IIS 6.0, tels que HTTP.sys, et où aucun code d’autres éditeurs n’est jamais chargé. IIS 6.0 isole totalement le code des applications tierces du serveur Web de base en conservant dans le service WAS et dans HTTP.sys les fonctions essentielles du serveur Web, telles que le gestion de la configuration et la mise en file d’attente des requêtes. Ainsi, le code des applications peut s’exécuter dans des mini-processus serveur Web, appelés les processus de travail.
Mode d’isolation des processus de travail IIS 6.0 introduit le mode d’isolation des processus de travail, qui exécute tout le code des applications dans un environnement isolé, mais sans la dégradation de performances constatée dans les versions antérieures d’IIS. Les requêtes HTTP sont acheminées vers la file d’attente du pool d’applications adéquat : les processus de travail en mode utilisateur d’un pool extraient les requêtes directement du noyau, ce qui évite les inutiles allers et retours entre processus qui se produisaient lorsqu’il fallait envoyer une requête à un DLLhost hors processus et attendre son retour. Dans IIS 6.0, la notion d’applications in-process n’existe plus ; tous les services d’exécution d’application HTTP requis, tels que la prise en charge de l’extension ISAPI, sont disponibles dans tous les groupes d’applications. Cette architecture permet d’éviter qu’une application ou un site Web défaillant ne perturbent les autres applications (ou sites) Web gérés par d’autres processus de travail sur ce serveur. Il est désormais possible de « décharger » des composants in-process sans perturber tout le service Web. Le processus de travail hôte peut être écarté temporairement sans que cela n’affecte les autres processus de travail chargés du contenu. Il est aussi intéressant de pouvoir tirer profit des autres services système disponibles au niveau des processus (par exemple l’accélération du processeur) par groupe d’applications. En outre, Windows a été optimisé et accepte désormais davantage de processus simultanés.
Séparation nette entre le code utilisateur et le serveur Tout le code utilisateur est géré par les processus de travail, qui sont totalement isolés du serveur Web principal. Cela n’était pas le cas dans IIS 5.0 où les ISAPI pouvaient être, et étaient souvent, hébergées dans des processus sur le serveur Web principal. Si un filtre ISAPI chargé dans un processus de travail connaît une défaillance ou cause une violation d’accès, le seul élément affecté est le processus de travail qui héberge ce filtre. Dans le même temps, le service WAS crée un nouveau processus de travail pour remplacer le processus défaillant. Les autres processus de travail ne sont pas affectés.
Pools d’applications multiples Avec IIS 5.0, les applications pouvaient être regroupées hors processus, mais dans un seul pool d’applications uniquement, DLLHOST.EXE. Dans IIS 6.0, le mode d’isolation des processus de travail permet aux utilisateurs de créer plusieurs pools d’applications, chacun d’eux pouvant utiliser une configuration différente (par exemple une configuration de recyclage, etc.).
Meilleure prise en charge des équilibreurs de charge Grâce aux pools d’applications, IIS bénéficie d’une séparation physique bien définie des applications. Il devient possible alors d’exécuter des centaines voire des milliers de sites/applications en parallèle sur un même serveur Windows. Dans cette configuration, il est important qu’une application défaillante ne perturbe pas les autres applications fonctionnant normalement. Il est souhaitable également de bénéficier d’une communication automatique avec les équilibreurs de charge/commutateurs afin de refuser uniquement le trafic destiné à l’application défaillante tout en permettant au serveur d'accepter les requêtes envoyées aux applications fonctionnant normalement.

IIS 6.0 bénéficie d’un modèle d’extensibilité intégré capable de déclencher des événements et des commandes lorsque l’infrastructure du serveur d’applications Web détecte la défaillance d'une application. Grâce à cette possibilité de configuration, les équilibreurs de charge et les commutateurs peuvent être configurés pour bloquer automatiquement le trafic en direction des applications défaillantes tout en continuant d’acheminer normalement le trafic vers les autres applications.

"Web Gardens" Le mode d’isolation des processus de travail d’IIS 6.0 permet de configurer plusieurs processus de travail pour traiter les requêtes d’un pool d’applications donné. Par défaut, chaque pool d’applications n’en possède qu’un seul. Il est toutefois possible de configurer un pool d’applications pour faire en sorte qu'un nombre donné de processus de travail identiques se partagent la tâche. Cette configuration est appelée « Web Garden » (jardin Web) parce qu’elle évoque naturellement les Web Farms, mis à part le fait qu’un Web Garden se limite à un seul serveur. Les requêtes sont distribuées par HTTP.sys à l’ensemble des processus de travail, par une mise en correspondance de la file d’attente des requêtes entrantes destinées à un pool d’applications avec une file d’attente des « demandes de requêtes » émanant de chacun des groupes de processus du Web Garden. Les Web Gardens s'avèrent notamment utiles dans le cas où un des processus de travail a un problème. D’autres processus de travail sont toujours disponibles pour accepter et traiter les requêtes.
Supervision (« Health Monitoring ») Le service WAS est capable de surveiller l’intégrité des processus de travail en leur envoyant régulièrement des « ping » pour déterminer s’ils sont complètement bloqués. Si un processus de travail est bloqué, le service WAS y met fin et le remplace par un nouveau. Le service WAS maintient en outre un canal de communication avec chaque processus de travail et peut déterminer facilement si l'un d'eux ne fonctionne plus en détectant la moindre défaillance dans ce canal de communication.
Affinité avec les processeurs Les processus de travail peuvent avoir des affinités avec certains processeurs afin de tirer profit d’une meilleure fréquence des accès au cache CPU (L1 ou L2).
Affectation des sites et des applications à des pools d’applications Dans IIS 6.0, comme avec IIS 5.0, les applications sont définies sous la forme d’espaces de noms qui sont identifiés dans la métabase par la propriété AppIsolated. Par défaut, les sites sont considérés comme une simple application, où l’espace de noms racine « / » est configuré en tant qu’application. Il est possible de configurer un pool d’applications pour servir une application Web unique, plusieurs applications ou un ensemble de sites. L’affectation d’une application à un pool d’applications est très simple : il suffit d’indiquer dans la configuration vers quel pool d’applications cette application doit être dirigée dans la métabase.
Démarrage à la demande Les pools d’applications prennent en charge le démarrage à la demande lorsque la première requête relative à une URL de cette partie de l’espace de noms parvient au serveur. Le gestionnaire d’applications d’IIS 6.0 (inclus dans le service WAS) est le composant qui est chargé du démarrage des processus à la demande. Et c’est lui qui en général régit et surveille la durée de vie des processus de travail.
Délai d’inactivité Un pool d’applications peut être configuré de telle sorte que ses processus de travail demandent à être arrêtés lorsqu’ils sont inactifs pendant une durée prédéfinie. Cela permet de libérer les ressources inutilisées. D’autres processus de travail sont démarrés si cela est nécessaire pour ce groupe d’applications (pour plus d'informations, voir « Démarrage à la demande » ci-dessus).
Protection rapide en cas de défaillance Lorsqu’un processus de travail a un problème, il met fin au canal de communication avec le service WAS. C’est ce qui permet au service WAS de détecter l’incident et de prendre les mesures nécessaires ; cela consiste généralement à inscrire l’événement dans un journal et à redémarrer le processus. Par ailleurs, IIS 6.0 peut être configuré de sorte que si un groupe d’applications connaît plusieurs défaillances successives, il puisse être désactivé automatiquement. C’est ce qu’on appelle la protection rapide en cas de défaillance. Ce type de protection place le pool d’applications en mode « hors service » et HTTP.sys renvoie immédiatement un message d’erreur 503 (service indisponible car hors service) à toutes les requêtes adressées à cette portion de l’espace de noms, y compris à celles qui sont déjà dans la file d’attente de ce pool d’applications. L’administrateur peut aussi mettre explicitement une portion de l’espace de noms « hors service », par exemple si l’application est mise hors connexion à cause d’un problème grave. Il faut pour cela arrêter le pool d’applications, soit avec le gestionnaire IIS, soit par script.
Processus de travail rendus orphelins Le mode d’isolation des processus de travail d’IIS 6.0 peut être configuré pour « rendre orphelin » tout processus de travail qu’il estime « irrécupérable ». Si un processus de travail persiste à ne pas répondre à un « ping », le service WAS le marque comme étant définitivement perdu. En principe, le service WAS met fin à ce processus de travail et procède à son remplacement. Si la mise en état « d’orphelin » est activée, le service WAS laisse s’exécuter le processus de travail « irrécupérable » et il en démarre un nouveau pour le remplacer. Le service WAS peut être configuré pour exécuter une commande sur le processus de travail (par exemple lui associer un débogueur) quand il le rend « orphelin ».
Recyclage des processus de travail Le mode d’isolation des processus de travail d’IIS 6.0 peut être configuré pour démarrer périodiquement des processus de travail dans un pool d’applications pour la gestion des applications défaillantes. Les processus de travail peuvent être programmés pour redémarrer en fonction de différents critères :

      ·1 le temps écoulé ;

      ·2 le nombre de requêtes traitées ;

      ·3 des horaires programmés sur 24 heures ;

      ·4 un « ping » sans réponse, alors que le processus doit y répondre (voir « Health Monitoring » ci-dessus) ;

      ·5 l’utilisation de la mémoire virtuelle ;

      ·6 l’utilisation de la mémoire physique ;

      ·7 sur demande.

Mode d’isolation IIS 5 IIS 6.0 introduit le mode d’isolation des processus de travail dans le but d’améliorer la fiabilité, l’isolation, la disponibilité et les performances des serveurs Web. Malgré tout, certaines applications risquent de ne pas fonctionner dans cet environnement à cause de problèmes de compatibilité au niveau par exemple des instances multiples, de l’état des sessions persistant dans les processus ou d’applications écrites comme filtres de lecture des données brutes. C’est pour cette raison qu’IIS 6.0 offre la possibilité de basculer vers un autre modèle de processus, appelé mode d’isolation IIS 5, pour assurer la compatibilité.

Nouvelles fonctionnalités de sécurité

L’expérience nous a appris qu’il est impossible de prévoir chaque attaque possible ou d'anticiper toutes les éventuelles failles d'un système. Toutefois, il a été possible d'identifier certaines constantes dans les attaques des pirates informatiques. C’est ainsi que plusieurs mesures préventives ont été intégrées dans IIS 6.0 afin d’en optimiser la sécurité dès sa mise en place. Par ailleurs, un effort a été fait pour faciliter un meilleur « verrouillage » du site et pour trouver et appliquer les correctifs appropriés.

Fonctionnalité Description
Verrouillage du serveur Afin de réduire la surface d’attaque de votre serveur Web, IIS 6.0 ne diffuse que du contenu statique après une installation par défaut. Grâce au nœud Extensions du service Web du Gestionnaire IIS, l’administrateur d’un site Web peut activer ou désactiver les fonctionnalités IIS selon les besoins spécifiques de son entreprise. Il ne doit pas oublier qu’IIS est fourni dans un état verrouillé, c'est-à-dire qu'il sert uniquement du contenu statique (.htm, .jpg, .bmp, etc.). D’autres fonctionnalités, telles qu’ASP (Active Server Pages) ou les extensions serveur Front Page, devront être activées pour offrir les fonctions escomptées.
Identité des processus de travail configurable De plus en plus de clients exécutent plusieurs applications ou sites sur un même serveur Web. Cela implique certaines exigences pour le serveur Web. Si un fournisseur de services Internet héberge deux sociétés ou même des concurrents sur le même serveur, il doit apporter la garantie que ces deux applications seront véritablement isolées l’une de l’autre. Plus important encore : il doit avoir la certitude que l’administrateur d’une application ne pourra pas accéder, par pure malveillance, aux données de l’autre application. L’isolation complète est plus qu’indispensable. IIS 6.0 peut offrir ce niveau d’isolation en permettant de configurer les identités des processus de travail. Associé à d’autres fonctions d’isolation, dont la régulation de la bande passante ou du processeur ou encore le recyclage mémoire, IIS 6.0 fournit un environnement propre à héberger même les plus féroces concurrents sur le même serveur Web.
IIS s’exécute par défaut comme compte doté de peu de privilèges Le processus de travail s’exécute en tant que NetworkService ; c’est un nouveau compte intégré doté d’un nombre restreint de privilèges. L’exécution de ce type de compte est l’un des principes essentiels de la sécurité. L’impact d’une éventuelle vulnérabilité au niveau de la sécurité peut être considérablement limité si le processus de travail a très peu de droits sur le système sous-jacent.
SSL optimisée Performances. IIS 5.0 offre déjà l’implémentation logicielle SSL la plus rapide du marché. Ainsi, 50 % de tous les sites Web SSL s’exécutent sur IIS. IIS 6.0 sera encore plus rapide. Nous avons perfectionné et rationalisé l’implémentation SSL sous-jacente pour offrir des performances et une évolutivité encore meilleures.

Objet de certification gérables à distance. Dans IIS 5.0, il n’est pas possible de gérer les certificats SSL à distance parce que la banque de certificats CAPI ne peut pas se trouver à distance. Étant donné que nos clients gèrent des centaines, voire des milliers, de serveurs IIS avec des certificats SSL, ils doivent pouvoir gérer ces certificats à distance. Ils disposent désormais de l'objet CertObject pour le faire.

Possibilité de sélectionner le fournisseur de service de cryptage. Si SSL est activé, les performances peuvent chuter, parce que le processeur doit effectuer un cryptage intensif. Il existe des cartes d'accélération matérielles qui permettent de basculer ces calculs de cryptage sur le matériel. Elles introduisent leur propre fournisseur d’API de cryptage dans le système. IIS 6.0 facilite la sélection de ces fournisseurs externes.

Intégration de Passport Windows .NET intègre Passport comme mécanisme d’authentification pour IIS 6.0. Cette intégration offre l’authentification .NET Passport sur le serveur Web principal et utilise les interfaces de .NET Passport version 2 fournies par les composants standards .NET Passport. De cette façon, les utilisateurs peuvent tirer parti de l’immense base de clients Passport (plus de 150 000 000) sans avoir à se préoccuper des problèmes de gestion des comptes comme l’expiration ou l'attribution de mots de passe.
Autorisation URL IIS 6.0 étend l'utilisation d’une nouvelle structure Autorisation fournie avec les serveurs Windows .NET en fournissant l’autorisation d’opérateur de contrôle d’appels à des URL spécifiques. De plus, des applications Web peuvent utiliser l’autorisation URL d’IIS 6.0 conjointement avec le Gestionnaire d’autorisations pour contrôler l’accès aux URL susceptibles de perturber l’application Web, et les tâches et opérations spécifiques à l’application, depuis le même espace de stockage de stratégies (« policy store »). Le fait de garder la stratégie toujours dans le même espace de stockage permet aux administrateurs de gérer l’accès aux URL et aux fonctionnalités de l’application à partir d’un point d’administration unique, tout en exploitant les groupes d’applications au niveau du magasin et les procédures métier programmables par l’utilisateur.

 

Nouvelles fonctionnalités de gestion simplifiée

Le site Web typique n’a plus besoin de fonctionner sur un seul serveur. Les sites Web sont maintenant répartis sur plusieurs serveurs Web ou « fermes Web », qui sont des clusters de serveurs dédiés à la diffusion de contenu, de la logique métier et de services. Même les sites intranet, surtout ceux qui proposent des applications sectorielles de type Web, se multiplient alors que les entreprises se tournent de plus en plus vers le Web pour distribuer les applications. L’administration à distance devenant de plus en plus courante, les clients exigent désormais un meilleur accès aux API. En raison de l'évolution d’Internet et des intranets ces dernières années, l’administration d’un site Web n’est plus aussi simple qu’avant ; il ne s’agit plus de gérer un seul serveur Web ou tout au plus quelques-uns. C’est désormais une tâche complexe et intégrée.

IIS 6.0 introduit de nouvelles fonctionnalités pour améliorer les capacités de gestion offertes aux administrateurs de sites Web IIS. IIS 6.0 inclut un remplacement de la couche de stockage de la métabase (espace de stockage de la configuration – « configuration store »), qui permet un accès direct sous forme texte de la configuration de la métabase d’une manière à la fois fiable et modifiable à volonté. En outre, la prise en charge de Windows Management Instrumentation (WMI) et une meilleure gestion de la ligne de commande permettent d’administrer un site Web sans utiliser le gestionnaire IIS.

Fonctionnalité Description
Métabase XML La métabase est un espace de stockage hiérarchisé stockant les valeurs de configuration utilisées par IIS. Elle se caractérise par de puissantes fonctionnalités, telles que l’héritage, la saisie de données, la notification des changements et la sécurité. Dans IIS 4.0 et IIS 5.0, la configuration de la métabase était stockée dans un fichier binaire propriétaire et était difficile à lire et à modifier. IIS 6.0 remplace ce fichier binaire appelé MetaBase.bin par des fichiers XML contenant du simple texte. Ces fichiers texte XML présentent plusieurs avantages :

      ·1 meilleures capacités de sauvegarde/restauration sur des ordinateurs où se produisent des incidents graves ;

      ·1 meilleure capacité de résolution des problèmes et de récupération de la métabase endommagée ;

      ·2 modification directe des fichiers de la métabase avec des outils d’édition de texte courants ;

      ·3 possibilité d'exportation et d'importation de la configuration des applications aux emplacements choisis par l’utilisateur ;

      ·4 meilleures performances et évolutivité ;

      ·1 avec la nouvelle métabase XML, il est possible pour les administrateurs de consulter et modifier facilement la configuration sans avoir à utiliser des scripts ou du code pour administrer le serveur Web.

Par ailleurs, la nouvelle métabase XML apporte des améliorations considérables au niveau des performances et de l’évolutivité. Dans ces deux domaines, la nouvelle métabase XML offre :

Historique et gestion automatique des versions La fonctionnalité d’historique de la métabase permet le suivi des modifications apportées à la métabase et écrites sur le disque. Au moment où la métabase est écrite sur le disque, IIS estampille le nouveau fichier Metabase.xml d’un numéro de version et enregistre une copie de ce fichier dans le dossier d’historique. Chaque fichier de l’historique est ainsi doté d’un numéro de version unique, qui est alors disponible pour le rétablissement ou la restauration de la métabase. Cette fonctionnalité d’historique est activée par défaut.
Modification pendant l’exécution IIS 6.0 permet à l’administrateur de modifier le fichier MetaBase.xml alors qu’IIS est en cours d’exécution. Il est ainsi facile d’ajouter une nouvelle configuration : il suffit d’ouvrir MetaBase.xml dans le Bloc-notes par exemple et de spécifier la configuration d’un nouveau site ou de modifier celle d’un site existant.
Importation et exportation des configurations IIS 6.0 introduit deux nouvelles méthodes ABO (Admin Base Object), Import() et Export(), qui permettent d’exporter et d’importer d’un serveur à l’autre la configuration, quel que soit le niveau du nœud. Les données sécurisées sont protégées par un mot de passe fourni par l’utilisateur, comme pour la nouvelle fonctionnalité de sauvegarde/restauration. Ces nouvelles méthodes sont également disponibles pour les utilisateurs ADSI et WMI, et par l’intermédiaire du gestionnaire IIS.
Sauvegardes indépendantes du serveur La nouvelle API ABO (Admin Base Object) est proposée aux développeurs pour instaurer les sauvegardes et restaurations de la métabase à l’aide d’un mot de passe. De cette façon, les administrateurs et les développeurs peuvent créer des sauvegardes indépendantes du serveur. La clé de session est cryptée avec un mot de passe facultatif fourni par l’utilisateur pendant la sauvegarde et ne dépend pas de la clé de l'ordinateur. Lors de la sauvegarde de la métabase, le système crypte la clé de session avec le mot de passe fourni par l’utilisateur. Lors de la restauration, le mot de passe fourni décrypte la clé de session. Celle-ci est à nouveau cryptée avec la clé de l'ordinateur en cours.

Cette nouvelle méthode de restauration peut également restaurer des sauvegardes réalisées avec l’ancienne méthode et elle adopte le même comportement que l’ancienne méthode de restauration quand la clé de session ne peut pas être décryptée. Windows Management Instrumentation (WMI) et ADSI prennent en charge ces deux méthodes. L’ancienne interface utilisateur de sauvegarde/restauration de la métabase utilise aussi la nouvelle méthode de sauvegarde/restauration.

Fournisseur WMI pour IIS Windows 2000 a introduit une nouvelle méthode de configuration du serveur et d’accès aux données importantes telles que les compteurs de performances et la configuration système : Windows Management Instrumentation (WMI). Pour tirer parti de fonctionnalités WMI telles que la prise en charge des requêtes et les associations entre les objets, IIS 6.0 est maintenant doté d’un fournisseur WMI qui propose un large éventail d’interfaces de programmation. Vous disposez ainsi d’outils plus puissants et plus modulables pour administrer votre serveur Web. Le fournisseur WMI d’IIS fonctionne de manière analogue au fournisseur ADSI pour la modification de la métabase.
Administration depuis la ligne de commande IIS 6.0 est maintenant fourni avec des scripts stockés dans le répertoire Windows\System32 ; vous pouvez les utiliser pour administrer un serveur Web IIS 6.0. Ces scripts, écrits en VB Script, utilisent le fournisseur WMI d’IIS pour accéder et déposer les configurations dans la métabase. Ils sont conçus pour réaliser un grand nombre des tâches qui incombent généralement à l’administrateur Web à partir de l‘interface en ligne de commande, ce qui évite de passer par une interface utilisateur.
Nouvelle console d’administration Web L’outil d’administration à distance d’IIS (HTML) vous permet d’administrer IIS à distance via Internet ou votre intranet, en utilisant le navigateur Web.

Innovations au niveau des performances et de l’évolutivité

Une nouvelle génération d’applications accentue encore les besoins en matière de performances et d’évolutivité des serveurs Web. Grâce au traitement plus rapide des requêtes HTTP et la possibilité d'exécuter davantage d’applications et de sites sur un même serveur, il faut désormais moins de serveurs pour héberger un site. Cela a également un impact sur les investissements matériels, qui peuvent être conservés plus longtemps et accepter en même temps une charge de travail plus élevée. Les améliorations globales incluent, d’après les tests préliminaires, un gain de performances supérieur à 100 % au niveau du débit d’un serveur à 8 processeurs soumis à des charges de travail particulières.

Fonctionnalité Description
HTTP.sys : nouveau pilote en mode noyau Le nouveau pilote en mode noyau, HTTP.sys, constitue un point de contact unique pour toutes les requêtes HTTP entrantes (côté serveur). Cela se traduit par une connectivité élevée pour les applications serveur HTTP. Ce pilote réside au-dessus de TCP/IP et reçoit toutes les demandes de connexion émanant des combinaisons IP/port qu'il est configuré pour écouter. HTTP.sys est également chargé de la gestion globale des connexions, de la gestion de la bande passante et de la journalisation des événements de serveur Web. Des tests préliminaires indiquent des gains de performance de 200 % en débit du contenu statique, et les réponses mises en cache bénéficient d’un débit 165 % supérieur à celui d’IIS 5.0.
Stratégie de mise en cache et gestion des threads IIS 6.0 possède une excellent algorithme intégré lui permettant de déterminer les éléments essentiels d’une application ou d’un ensemble de sites pouvant être mis en cache. Il n'est pas toujours intéressant d'ajouter un élément à un cache en mémoire simplement parce qu’il peut être mis en cache car la gestion de cet élément a un coût, ainsi que la mémoire qu’il consomme. C’est pour cette raison qu’IIS 6.0 utilise un nouvel algorithme pour identifier les éléments à mettre en cache en fonction de la distribution des requêtes que reçoit une application particulière. Cela signifie que le serveur Web fait un meilleur usage de ses ressources tout en offrant le même niveau de performance sur les requêtes fréquentes, autrement dit son évolutivité est améliorée.

IIS 6.0 possède également une heuristique intégrée pour surveiller l’état général du serveur prendre des décisions opportunes pour augmenter/réduire le nombre d'accès simultanés en conséquence. L’important dans ce cas est d'utiliser l'accès simultané de façon efficace. Par exemple, lors de l’exécution de requêtes liées au processeur, le démarrage d’un travail concurrent ne constitue pas toujours la meilleure approche.

Web Gardens Un Web garden est un pool d’applications doté de plusieurs processus traitant les requêtes envoyées à ce pool. Vous pouvez configurer les processus de travail d’un Web garden en vue de les associer à un certain groupe de processeurs sur un système multiprocesseurs. Grâce aux Web gardens, les applications Web bénéficient d’une meilleure évolutivité parce qu’un verrouillage logiciel d’un processus ne bloque pas toutes les requêtes envoyées à une application. S’il y a 4 processus dans un jardin Web, un verrouillage logiciel spécifique bloque à peu près un quart des requêtes.
Cache de modèles ASP persistant Avant que le code ASP soit exécuté dans IIS 5.0, le moteur ASP compile un fichier ASP en un modèle ASP. Ces modèles ASP sont stockés dans la mémoire des processus. Si un site comporte de nombreuses pages ASP, ce cache annule l’affectation des anciens modèles dans la mémoire afin de libérer de la place pour les nouveaux. Avec IIS 6.0, ces modèles persistent sur le disque. Si un de ces fichiers ASP fait à nouveau l’objet d’une requête, le moteur ASP charge le modèle à la place du fichier ASP, ce qui lui évite de surcharger le processeur avec une nouvelle compilation. Les tests préliminaires montrent des gains de performance au niveau du débit pouvant dépasser 50 % avec IIS 6.0 et ASP grâce à un cache persistant sur le disque.
Prise en charge d’une grande capacité de mémoire pour les systèmes x86 Pour une charge de travail nécessitant de grandes quantités de données mises en cache, IIS 6.0 peut être configuré pour utiliser un cache allant jusqu’à 64 Go sur un système x86.

Meilleure expérience de développement et nouvelles fonctionnalités de programmation

IIS 6.0 propose plusieurs nouvelles fonctionnalités mais s'il s'inspire toujours du modèle de programmation ISAPI, qu’il complète par la prise en charge ISAPI des erreurs personnalisées, la redirection interne (ExecuteURL), une mémoire tampon et l’envoi de descripteurs (« handles ») et une meilleure prise en charge d’Unicode.

Fonctionnalité Description
Intégration d'ASP.NET et d'IIS, et vaste choix de langages Windows Server 2003 offre une expérience de développement plus intense grâce à l’intégration d'ASP.NET et d'IIS. Reposant sur IIS 6.0, les innovations de la plate-forme offrent aux développeurs des atouts considérables : la rapidité de développement des applications et un large choix de langages. Avec Windows Server 2003, l’expérience d’ASP.NET et du .NET Framework est améliorée du fait d’une meilleure intégration des modèles de processus. IIS 6.0 prend en charge les normes Web les plus récentes, notamment XML, SOAP et IPv6.
ExecuteURL ExecuteURL offre la fonctionnalité nécessaire pour remplacer presque tous les filtres de lecture de données brutes (« raw data »). Dans le scénario le plus courant de développement de filtres de lecture de données brutes, les utilisateurs souhaitent examiner ou modifier le corps de l’entité de requête avant que l’URL de destination ne le traite. Actuellement, les notifications de lecture des données brutes constituent le seul moyen de voir le corps de l’entité d’une requête (si vous n’êtes pas l’URL de destination). Malheureusement, l’écriture d’un filtre ISAPI à cet effet peut s’avérer particulièrement complexe, voire impossible dans certaines configurations. En revanche, les extensions ISAPI offrent la fonctionnalité nécessaire à la récupération simple et à la manipulation du corps de l’entité. ExecuteURL permet à une extension ISAPI de traiter le corps de l’entité de requête et de le passer à une requête enfant, ce qui répond aux besoins de presque tous les développeurs de filtres de lecture de données brutes.
Intercepteurs globaux Grâce à ExecuteURL, IIS 6.0 peut mettre en œuvre des intercepteurs de requêtes ISAPI capables d’intercepter, de modifier, de rediriger ou de refuser toute requête HTTP entrante pour un espace URL spécifique. IIS 5.0 prend déjà en charge une extension ISAPI interceptant toutes les requêtes avec un seul script à caractère générique (*), configuré via la modification des mappages d’une application. Dans IIS 6.0, ce concept est étendu et permet d’exécuter simultanément plusieurs intercepteurs globaux.
VectorSend Implémenté en tant de fonction de prise en charge serveur pour des ISAPI, VectorSend permet aux développeurs de rassembler dans une liste tous les tampons et descripteurs de fichiers à envoyer, dans l’ordre, puis de la transmettre à IIS 6.0 pour qu’il compile la réponse finale. HTTP.sys compile tous les tampons et/ou descripteurs de fichiers en un tampon de réponse unique au sein du noyau, puis il l’envoie. De cette façon, ISAPI n’a plus à s’occuper de la création des tampons ni d’écritures multiples pour les clients.
Mise en cache du contenu dynamique L’implémentation d’un cache en mode noyau pour le contenu dynamique est aussi une nouvelle fonctionnalité. Il faut savoir que de nombreux clients possèdent un contenu créé par programmation qui ne change pas. Dans les précédentes versions d’IIS, les requêtes devaient passer du mode noyau au mode utilisateur pour chaque requête dynamique et la réponse devait être créée à chaque fois. L’élimination de cette étape et l’extraction du contenu du cache à partir du mode noyau améliorent nettement les performances.
ReportUnhealthy Une nouvelle fonction de prise en charge serveur d'extension ISAPI appelée HSE_REQ_REPORT_UNHEALTHY permet à une extension ISAPI d’effectuer un appel à l’intérieur du processus de travail d'IIS 6.0 pour demander le recyclage de ce processus de travail. Les développeurs peuvent tirer parti de cette nouvelle fonction pour demander un recyclage si leur application ISAPI devient instable ou entre dans un état inconnu pour une raison quelconque. Il faut noter que pour activer le recyclage après l'appel de HSE_REQ_REPORT_UNHEALTHY par une ISAPI, la fonction « Health Monitoring » doit être activée. Lors de l’appel de HSE_REQ_REPORT_UNHEALTHY, le développeur peut aussi inclure une chaîne expliquant pourquoi l’ISAPI appelle HSE_REQ_REPORT_UNHEALTHY. Cette chaîne est ensuite ajoutée à l’événement que le processus de travail publie dans le journal des événements Application.
Erreurs personnalisées Les développeurs ISAPI n’ont plus besoin de créer leurs propres messages d’erreur. En effet, ils peuvent intégrer la prise en charge des erreurs personnalisées dans IIS par le biais d’une nouvelle fonction de prise en charge serveur appelée HSE_REQ_SEND_CUSTOM_ERROR.
ISAPI Unicode Unicode occupe de nos jours une place de plus en plus importante. À cause de la structure non-Unicode du protocole HTTP, IIS 5.0 limite le développeur à la page de code système. Avec les URL codées en UTF-8, Unicode devient possible. IIS 6.0 permet aux utilisateurs d’accéder aux variables serveur en Unicode et propose deux nouvelles fonctions de prise en charge serveur pour permettre aux développeurs d’exploiter la représentation Unicode d’une URL. Les sites multilingues d’entreprises internationales sont les premiers à tirer parti de cette innovation et l’expérience de développement s’en trouve améliorée.
Services COM+ dans ASP Dans IIS 6.0, les équipes IIS et COM+ ont séparé les services COM+ des composants et permettent aux applications ASP d’utiliser un ensemble de services COM+. En plus des services disponibles dans COM+ sur Windows 2000, quelques nouveaux services ont été ajoutés et sont maintenant pris en charge dans ASP :

Prise en charge de la fusion. La fusion permet à une application ASP d’utiliser une version particulière d’une DLL d’exécution du système ou un composant COM classique.

Prise en charge des partitions. Les partitions COM+ permettent à un administrateur de définir une configuration différente d’une même application COM+ à l’intention de différents utilisateurs. Cette configuration inclut les informations sur la sécurité et la gestion des versions. Pour plus d'informations sur les partitions COM+, consultez la documentation COM+.

Prise en charge du moniteur. Quand il est activé, le moniteur COM+ permet aux administrateurs de contrôler quel code est en train de s’exécuter au sein de la session ASP et quand. Ces informations sont très utiles pour le débogage des applications ASP. Pour plus d'informations sur le moniteur COM+, consultez la documentation COM+.

Sélection du modèle cloisonné. ASP, via COM+, permet aux développeurs de déterminer quel modèle de threads utiliser lors de l’exécution des pages dans une application. Par défaut, ASP utilise le cloisonnement à thread unique. Cependant, si l’application utilise des objets pouvant être mis dans des pools, elle peut être exécutée dans le mode de cloisonnement multi-threads.

Perfectionnement de la plate-forme

Outre les fonctionnalités décrites ci-dessus, IIS 6.0 apporte un certain nombre d’améliorations à la plate-forme. Ces améliorations font d'IIS une plate-forme encore plus attrayante.

Fonctionnalité Description
Prise en charge Win64 La totalité du code base de la famille Windows Server 2003 est compilé pour des plates-formes 32 bits et 64 bits. Les clients qui attendent des applications extrêmement évolutives peuvent tirer parti d’un système d'exploitation qui s’exécute et qui est pris en charge sur ces deux plates-formes.
Prise en charge IPv6 IPv6, ou le protocole Internet version 6, est le protocole IP de prochaine génération pour Internet. La famille de produits Windows Server 2003 met maintenant en œuvre une pile IPv6 prête pour la production. Sur les serveurs où la pile de protocole IPv6 est installée, IIS 6.0 prendra automatiquement en charge la gestion des requêtes HTTP qui arrivent sur IPv6.
Compression granulaire Sur un réseau congestionné, il est utile de compresser les réponses. Dans IIS 5.0, la compression était effectuée par un filtre ISAPI et elle ne pouvait être activée que pour le serveur complet. IIS 6.0 permet une configuration beaucoup plus fine (au niveau des fichiers).
Comptabilité des ressources et qualité du service (QoS) La qualité de service (QoS, Quality-of-Service) garantit que des composants particuliers du serveur Web ou du contenu individuel servi par ce serveur ne monopolisent pas toutes les ressources du serveur, telles que la mémoire ou les processeurs. L’administrateur peut ainsi contrôler les ressources utilisées par des sites ou des pools d’applications donnés, le service Web dans son ensemble, etc. Fondamentalement, cela garantit une certaine qualité de service pour les autres services/sites/applications du système en limitant les ressources consommées par certains sites/applications Web (et/ou le service Web dans son ensemble).
Optimisation de l’utilisation des journaux Prise en charge des journaux UTF-8. Grâce à la prise en charge additionnelle d’Unicode et d’UTF-8, IIS 6.0 peut maintenant écrire dans des fichiers journaux au format UTF-8 plutôt qu'uniquement ASCII (ou dans la page de code locale).

Journalisation binaire. La journalisation binaire permet à plusieurs sites d’écrire dans un seul journal sous forme binaire, sans formatage. Ce nouveau format offrira de meilleures performances que les formats de texte simple actuels (W3C, IIS et NCSA) dans la mesure où les données ne doivent faire l'objet d'aucun formatage particulier.

Journalisation des codes de sous-état http. IIS 6.0 prend maintenant en charge la possibilité d’écrire dans un journal les codes de sous-état HTTP (« http substatus codes ») dans les formats W3C et binaire. Ces codes sont souvent utiles pour le débogage ou le dépannage, parce qu’IIS renvoie des codes de sous-état spécifiques pour certains types de problèmes.

FTP optimisé Il est courant que les utilisateurs ISP/ASP utilisent FTP pour charger leur contenu Web, par le fait qu’il soit disponibile et de par sa popularité. IIS 6.0 permet l’isolation des utilisateurs dans leurs répertoires, de sorte qu'ils ne peuvent ni consulter ni modifier le contenu Web d'autres utilisateurs. Le répertoire de plus haut niveau de l’utilisateur s’affiche en tant que racine du service FTP, ce qui restreint l’accès puisque la navigation ne peut pas aller plus haut dans l’arborescence. Au sein de son propre site, l’utilisateur peut créer, modifier ou supprimer des fichiers et des dossiers.

La mise en œuvre de FTP s’organise sur un nombre arbitraire de serveurs frontaux et d’arrière-plan (back-end server) ce qui améliore la fiabilité et la disponibilité. Il est facile de faire évoluer FTP en ajoutant des répertoires et des serveurs virtuels sans que cela ne perturbe les utilisateurs finals.

Pour FTP en mode passif, le serveur doit ouvrir un port de données pour que le client puisse effectuer une deuxième connexion. Ce n’est pas la même connexion que le port 21 typique utilisé pour le canal de contrôle FTP. L’étendue du port utilisée pour les connexions en mode passif peut maintenant être configurée avec IIS 6.0. Cela permet de réduire la surface d’attaque des serveurs FTP IIS 6.0 puisque les administrateurs ont davantage de contrôle sur les étendues de port qui sont exposées via Internet.

Meilleure gestion des correctifs Windows Server 2003 offre une bien meilleure gestion des correctifs. L'introduction des innovations suivantes permet d'optimiser le serveur :

Pas d’interruption de service pendant l’installation des correctifs. Le nouveau modèle de processus d’IIS 6.0 intègre le recyclage des processus. En d'autres termes, l’administrateur peut installer facilement la plupart des correctifs d’IIS et la plupart des nouvelles DLL de processus de travail sans aucune interruption de service.

Auto Update version 1.0. Auto Update proposera trois options aux utilisateurs : la notification de la disponibilité du correctif au moment de sa sortie, le téléchargement et la notification de disponibilité du correctif, et l’installation programmée. Cette dernière option permet de télécharger et d’installer automatiquement le correctif au moment choisi par l’administrateur.

Windows Update Corporate Edition. De nombreux services informatiques ne laissent pas leurs utilisateurs accéder au site Windows Update public, car ils ne veulent pas que ces utilisateurs installent des correctifs de sécurité et autres fichiers de mise à jour sans qu’ils n’aient pu être testés dans un environnement d'exploitation classique. Windows Update Corporate Edition leur permettra désormais d’exécuter d’abord des tests d’assurance qualité sur les correctifs nécessaires à l’entreprise. Une fois que ces correctifs ont passé ces tests, ils pourront être placés sur un serveur Windows Update Corporate Edition derrière le pare-feu, et tous les ordinateurs situés en interne de ce pare-feu pourront alors récupérer le correctif sur ce serveur.

DLL séparées des ressources. Windows sépare maintenant les ressources localisées de l’implémentation proprement dite, ce qui nous permet de fournir beaucoup plus rapidement des correctifs pour 30 langues.

 

Conclusion

IIS 6.0 offre un grand nombre de nouvelles fonctionnalités conçues pour optimiser la fiabilité, la gérabilité, l’évolutivité, les performances et la sécurité des serveurs Web. Grâce à la métabase XML, les administrateurs peuvent transférer les données de configuration serveur d’un ordinateur à un autre. Cette métabase XML rend également possible l’administration à distance.

Le mode d’isolation des processus de travail protège le noyau central d’IIS des applications et des sites Web défaillants. Par ailleurs, le mode d’isolation d’IIS 5 reste disponible pour les applications, ce qui élargit le champ d’action des administrateurs. IIS 6.0 propose davantage de scripts de ligne de commande, et le fournisseur WMI utilise les interfaces d’objet COM pour offrir l’accès aux données de la métabase IIS d’une manière analogue à ADSI, mais plus simple à gérer.

Grâce à toutes ces innovations, IIS 6.0 peut héberger par serveur des milliers de sites Web de plus qu’IIS 5.0 en offrant en plus un meilleur débit et un temps de démarrage optimisés. Ces améliorations, ces fonctionnalités et cette nouvelle architecture font d’IIS le serveur Web le plus fiable, le plus robuste et le plus facile à gérer qui soit.

Informations complémentaires

Microsoft publiera sur le Web un descriptif technique plus complet sur cette technologie Windows Server 2003. Vous trouverez des liens vers ces articles techniques sur http://www.microsoft.com/france/windowsserver2003/utilisez/technologies/.

Informations complémentaire Tecn-Net : http://www.microsoft.com/technet/treeview/default.asp?url=/technet/prodtechnol/windowsserver2003/proddocs/standard/iiswelcome.asp

_________________________________________________________________________________

Ce guide est fourni à titre d'information uniquement. MICROSOFT N'APPORTE AUCUNE GARANTIE, EXPLICITE OU IMPLICITE, CONCERNANT LES INFORMATIONS DE CE DOCUMENT.

L’utilisateur est tenu d’observer la réglementation relative aux droits d’auteur applicable dans son pays. Sans restriction des droits dérivés des droits d’auteur, aucune partie de ce document ne peut être reproduite, stockée ou introduite dans un système de restitution, ou transmise à quelque fin, par quelque moyen (électronique, mécanique, photocopie, enregistrement ou autre) ou dans quelque but que ce soit sans la permission expresse et écrite de Microsoft Corporation.

Microsoft peut détenir des brevets, avoir déposé des demandes d’enregistrement de brevets ou être titulaire de marques, droits d’auteur ou autres droits de propriété intellectuelle portant sur tout ou partie des éléments qui font l’objet du présent document. Sauf stipulation expresse contraire d'un contrat de licence écrit de Microsoft, la fourniture de ce document n'a pas pour effet de vous concéder une licence sur ces brevets, marques, droits d'auteur ou autres droits de propriété intellectuelle.

© 2002 Microsoft Corporation. Tous droits réservés.

Microsoft, Active Directory, IntelliMirror, JScript, MSN, le logo .Net, Outlook,Visual Basic, Visual C++, Visual Studio, Win32, Windows, le logo Windows, Windows Media et Windows NT sont des marques déposées ou des marques de Microsoft Corporation aux États-Unis et/ou dans d’autres pays.

Les noms des sociétés et des produits cités dans ce document peuvent être des marques de leur détenteur respectif.

 

08/06/2003

 

Retour page Accueil ] Remonter ] Tech-Net IIS 6.0 ]

Envoyez un courrier électronique à EROL GIRAUDY (attention nospam dans l'E-mail) pour toute question ou remarque concernant ce site Web et visitez la rubrique Condition Utilisation et CNIL. Copyright © 2002 EROL (les sigles et logos ci-après sont la propriété de : Microsoft, Supinfo, Adobe, Compaq, HP, Sybari, Veritas, Moreover, K-map, Vyapin, Plumtree, Ixos, TooStore, K-Map, eRoom, DocKIT,NQL, Only4gurus, Nsius, Sharepointexperts, Iora, Erol, KCura, FrontPages, Nsi, Frontlook, IBuySpyPortal, moreover, slipstick, networknowledge, clubsps.org )
Dernière modification : vendredi, 26. décembre 2003 11:27