Comment gérer et configurer des pools d'applications dans IIS

Un pool d'applications sert de conteneur pour vos applications dans IIS. Il s'agit d'un ensemble d'une ou de plusieurs URL pouvant être servies par un processus de travail, et il fournit une isolation: les applications qui s'exécutent sur un pool d'applications ne sont en aucun cas affectées par d'autres applications qui s'exécutent sur des pools d'applications différents. Ce niveau d'isolation fournit la limite de protection nécessaire et sécurise votre application. Une bonne compréhension de ce que sont les pools d'applications et de leur fonctionnement est essentielle pour configurer correctement votre IIS.

Un processus de travail dans le contexte d'IIS est un processus qui peut exécuter des applications Web et est responsable de la gestion des demandes spécifiques à un pool d'applications particulier. Notez qu'un pool d'applications qui contient plusieurs processus de travail est appelé Web Garden et qu'un pool d'applications peut avoir une ou plusieurs applications, chacune partageant le processus de travail.

Microsoft déclare: «Un pool d'applications Internet Information Services (IIS) est un regroupement d'URL acheminées vers un ou plusieurs processus de travail. Étant donné que les pools d'applications définissent un ensemble d'applications Web qui partagent un ou plusieurs processus de travail, ils constituent un moyen pratique pour administrer un ensemble de sites Web et d'applications et leurs processus de travail correspondants. "

Vous pouvez avoir plusieurs applications résidant dans un pool d'applications, chacune d'elles partageant le processus de travail. Vous pouvez faire en sorte que plusieurs applications partagent le même processus de travail ou un processus de travail par application. Le fait que plusieurs applications partagent le même processus de travail présente des avantages et des inconvénients. Lorsque chaque application s'exécute sur son propre processus de travail, l'échec d'une application n'affecte pas l'autre. Cependant, si vos applications partagent le même processus de travail, les modifications de configuration sont transparentes. Le principal inconvénient de cette approche est que si le processus de travail est arrêté, il planterait toutes les applications. En outre, toutes les applications qui exploitent le même processus de travail partageraient le même profil de sécurité.

Création et configuration d'un pool d'applications

Pour créer un pool d'applications dans IIS, ouvrez IIS Manager, sélectionnez le volet de fonctionnalités "Application Pools", faites un clic droit dessus puis cliquez sur "Add Application Pool ...". Vous pouvez également créer un pool d'applications à l'aide de PowerShell. Je vais discuter de la façon dont cela peut être fait dans l'un de mes futurs messages ici.

Il existe deux modes de pipeline dans IIS 7 et versions ultérieures: le mode classique et le mode intégré. En mode classique, IIS fonctionne directement avec les extensions ISAPI et les filtres ISAPI et les modèles de traitement des demandes IIS et ASP.Net sont séparés. Le mode Pipeline classique fonctionne de la même manière que IIS 6.0. Au contraire, en mode intégré, les modèles de traitement des demandes d'IIS et d'ASP.Net sont intégrés dans un modèle de processus unifié. Dans ce mode, vous pouvez tirer parti de l'architecture de traitement des demandes d'IIS et d'ASP.Net. Ce pipeline de traitement unifié est exposé à la fois aux composants natifs et gérés. En substance, en mode intégré, IIS et ASP.Net sont étroitement couplés l'un à l'autre.

Lorsque vous explorez l'option des paramètres avancés d'un pool d'applications, vous trouverez de nombreuses options. Vous pouvez spécifier la version de .Net CLR que vous souhaitez utiliser. Vous pouvez également activer les applications 32 bits à l'aide de l'option «Activer les applications 32 bits». L'option «Managed Pipeline Mode» permet une compatibilité descendante. Vous pouvez définir la longueur de la file d'attente à l'aide de l'option "Longueur de la file d'attente". Les options "Limit", "Limit Action" et "Limit Interval" vous permettent de spécifier les paramètres de limitation. L'option «Identité» est utilisée pour spécifier l'utilisateur que votre pool d'applications emprunterait l'identité. Avec IIS 7, vous pouvez exécuter votre pool d'applications avec le compte "ApplicationPoolIdentity". C'est l'option recommandée bien que vous puissiez également exécuter votre pool d'applications sous un utilisateur spécifique 'compte de s aussi.