Déploiements classiques
Les exigences de votre topologie de déploiement de serveur Windows Server AppFabric sont étroitement liées à vos besoins professionnels et aux exigences des applications que vous hébergerez. Bien qu'il soit difficile de considérer un seul déploiement comme exemplaire et de fournir des directives le concernant, cette section contient des instructions et recommandations relatives au déploiement de AppFabric dans votre environnement.
Elle contient les rubriques suivantes concernant le déploiement :
Déploiement de serveur unique AppFabric
Déploiement d'une batterie de serveurs AppFabric
Considérations sur la sécurité de déploiement des fonctionnalités de mise en cache d'AppFabric
Scénarios de déploiement des fonctionnalités de mise en cache d'AppFabric
Déploiement de serveur unique AppFabric
Un déploiement de serveur unique a lieu quand vous installez AppFabric sur un seul ordinateur. Ce type de déploiement est souvent utilisé dans un environnement de développement où tout développement d'application a lieu sur un seul ordinateur.
SQL Server
Comme l'agrandissement d'échelle n'est pas un souci pour un environnement de développement, vous pouvez configurer ce déploiement de AppFabric pour utiliser une installation locale de SQL Server Express pour la base de données de surveillance et de persistance.
Déploiement d'applications
Si un déploiement d'applications peut être effectué en empaquetant des applications et en les déployant sur AppFabric à l'aide de MSDeploy, les développeurs préféreront probablement configurer leur projet de façon à utiliser directement le serveur local exécutant les services Internet pour héberger les applications, car cela implique un nombre minimal d'étapes pour héberger une application dans un environnement de test. Nous recommandons cependant aux développeurs de tester l'empaquetage et le déploiement d'applications avant la migration vers l'environnement intermédiaire ou de production pour vérifier que l'application se déploie correctement.
Pour plus d'informations sur le déploiement d'une application, consultez la rubrique Déploiement d'une application.
Déploiement d'une batterie de serveurs AppFabric
Si un ordinateur avec AppFabric et SQL Server installés suffit pour un environnement de déploiement, un environnement de production comprend souvent plusieurs ordinateurs en batterie, ainsi qu'un ou plusieurs serveurs SQL Server dédiés. Un tel environnement peut également utiliser des équilibrages de charge et des files d'attente pour gérer les messages entrants destinés à votre application, et un clustering de SQL Server pour une haute disponibilité.
Si un déploiement à petite échelle de AppFabric peut commencer par l'installation de AppFabric sur un seul ordinateur, il peut évoluer vers une batterie de serveurs où vos applications sont déployées sur plusieurs serveurs pour créer une application hautement distribuée. L'agrandissement d'échelle permet d'implémenter des solutions d'équilibrage des charges, de façon à ce que le traitement des messages entrants soit réparti sur plusieurs serveurs, ainsi que d'obtenir une tolérance de panne accrue pour les flux de travail qui utilisent la persistance.
Clustering SQL Server
Bien que cette section n'aborde pas cet aspect de façon détaillée, il est fortement recommandé de recourir à un clustering des bases de données pour bénéficier d'une protection par basculement. Pour plus d'informations sur le clustering avec basculement de SQL Server, consultez la page Planning for Disaster Recovery (https://go.microsoft.com/fwlink/?LinkId=131016) (en anglais).
Agrandissement d'échelle d'application durable
En cas de processus de longue durée, il est vital que votre application soit capable de résister aux redémarrages du système, aux pannes matérielles, ainsi qu'à des pannes de serveur imprévues. AppFabric offre un fournisseur de persistance par défaut que vos applications de flux de travail peuvent utiliser pour assurer la persistance des applications s'exécutant sur une longue durée.
Dans un déploiement de serveur unique, la persistance permet que l'exécution d'une instance de flux de travail reprenne quand le serveur qui l'héberge retrouve un état d'intégrité normal. En revanche, dans un déploiement de batterie de serveurs, l'exécution de l'application peut reprendre sur tout ordinateur éligible. En outre, si une instance de flux de travail s'exécute sur un seul serveur et qu'un message destiné à cette instance arrive sur un autre serveur, la persistance peut déplacer l'instance en cours d'exécution vers l'ordinateur ayant le message en attente, de façon à ce que le flux de travail puisse le traiter.
Pour plus d'informations, consultez la rubrique Configuration de la persistance des flux de travail.
Isolation de données
La configuration par défaut de AppFabric consiste à stocker les informations de persistance et de surveillance dans une seule base de données. Si cela suffit pour un environnement de développement, un environnement de production nécessite généralement un ensemble de ressources plus robuste pour le stockage de données.AppFabric permet de créer plusieurs bases de données de persistance et de surveillance séparées pour assurer l'isolation de données sur plusieurs ordinateurs exécutant SQL Server.
Comme AppFabric prend en charge la création de plusieurs bases de données, vous pouvez séparer les données non seulement par fonction (persistance et surveillance), mais aussi par application. Si vous avez une application nécessitant un stockage de données robuste, vous pouvez créer des bases de données de persistance et de surveillance associées à une application ou à un service spécifique.
Pour plus d'informations sur la création de bases de données supplémentaires, consultez la rubrique Administration des bases de données.
Déploiement d'applications
Il est important que le déploiement d'une application sur plusieurs ordinateurs puisse s'effectuer de façon cohérente et répétable. À cette fin, AppFabric utilise MSDeploy pour empaqueter et déployer des applications et des sites Web ainsi que du contenu et des configurations de serveur Web. MSDeploy permet également de synchroniser des données entre un site ou un serveur Web et l'ordinateur local ou des ordinateurs distants de votre batterie de serveurs.
Pour plus d'informations sur le déploiement d'une application, consultez la rubrique Déploiement d'une application. Pour plus d'informations sur MSDeploy, consultez la page Web Deployment Tool (https://go.microsoft.com/fwlink/?LinkId=151481) (en anglais).
Considérations sur la sécurité de déploiement des fonctionnalités de mise en cache d'AppFabric
Le système de cache distribué d'AppFabric est conçu pour être utilisé dans un centre de données situé à l'intérieur du périmètre d'un pare-feu. Les serveurs décrits dans cette section sont le serveur hébergeant l'emplacement de stockage de la configuration du cache, les serveurs de cache, les serveurs d'applications prenant en charge le cache, les serveurs de développement et le serveur de source de données primaire. Tous les serveurs doivent être localisés le même domaine.
Comme les données mises en cache et les communications TCP/IP entre les serveurs de cache ne sont pas chiffrées, le système de cache distribué est vulnérable aux attaques réseau malveillantes qui enregistrent ou modifient le trafic réseau.
Notes
Le client de cache d'AppFabric doit résider dans la couche Application de votre écosystème d'applications. Les utilisateurs finaux à l'intérieur ou à l'extérieur du domaine de votre organisation ne doivent pas avoir d'accès direct aux serveurs de cache.
Lors de la désaffectation d'un serveur de cache, il arrive que le programme d'installation d'AppFabric ne supprime pas toutes les exceptions de port de pare-feu. Après la désinstallation d'AppFabric, nous vous recommandons de réappliquer votre configuration de pare-feu standard.
Scénarios de déploiement des fonctionnalités de mise en cache d'AppFabric
Pour simplifier la présentation des options de déploiement, cette section se concentre sur trois exemples distincts :
Déploiement de développement. Déploiement sur un seul ordinateur utilisé pour développer des applications prenant en charge le cache.
Déploiement de taille moyenne. Installation sur plusieurs ordinateurs sans recours à SQL Server, les hôtes principaux assurant le rôle de gestion du cluster.
Déploiement d'entreprise. Installation sur plusieurs ordinateurs utilisant SQL Server pour le stockage des paramètres de configuration du cluster et l'exécution du rôle de gestion du cluster.
Le tableau suivant indique où les fonctionnalités de mise en cache d'AppFabric sont installées et la manière dont le rôle de gestion du cluster est exécuté.
Fonctionnalité de mise en cache d'AppFabric | Déploiement de développement | Déploiement de taille moyenne | Déploiement d'entreprise |
---|---|---|---|
Emplacement de stockage de la configuration du cluster de cache |
Dossier partagé localement sur une station de travail de développeur |
Dossier réseau partagé sur un serveur de fichiers |
Base de données SQL Server |
Installation de serveur de cache (service Windows d'hôte de cache et outil d'administration Windows PowerShell) |
Station de travail du développeur |
Un ou plusieurs serveurs de cache (en nombre limité par le nombre maximal de connexions simultanées au dossier) |
Un ou plusieurs serveurs de cache |
Assemblys de client de cache |
Station de travail de développeur |
Un ou plusieurs serveurs d'applications |
Un ou plusieurs serveurs d'applications |
Les paramètres de configuration du cluster de cache peuvent être stockés dans un dossier réseau partagé ou dans une base de données SQL Server. Pour plus d'informations sur chacune de ces options, consultez la rubrique Options de stockage de la configuration du cluster (mise en cache de Windows Server AppFabric).
Le rôle de gestion du cluster peut être assuré par des hôtes principaux ou par SQL Server. Du point de vue de la disponibilité du cluster de cache, le recours à SQL Server est la meilleure option. Pour plus d'informations, consultez la rubrique Hôtes principaux et gestion du cluster (mise en cache de Windows Server AppFabric).
Déploiement de développement
Avec le déploiement de développement, tous les composants requis pour créer une application prenant en charge le cache (y compris le cluster de cache proprement dit) figurent sur la station de travail du développeur. Ce déploiement constitue l'option la plus commode pour la prise en main des fonctionnalités de mise en cache d'AppFabric.
Déploiement de taille moyenne
Avec un déploiement de taille moyenne, votre application peut offrir les avantages d'un cluster de cache distribué. Vous pouvez aisément modifier l'échelle de votre application pour répondre aux demandes croissantes de votre couche Application.
Comme ce scénario de déploiement n'utilise pas SQL Server pour stocker des paramètres de configuration du cluster, il présente certains inconvénients. Certains systèmes d'exploitation ne peuvent prendre en charge qu'un nombre limité de connexions simultanées à des dossiers partagés, ce qui influence directement le nombre d'hôtes de cache que vous pouvez avoir dans un cluster de cache distribué. Windows XP, Windows Server 2003 et la version 32 bits de Windows Vista autorisent jusqu'à dix connexions simultanées au dossier réseau partagé. Il est conseillé d'utiliser ces systèmes d'exploitation pour stocker les paramètres de configuration du cache pour des clusters volumineux.
Si vous automatisez ou tentez d'exécuter autrement des installations de serveur de cache parallèles, il est probable que cela génère des conflits au niveau des fichiers de configuration du cluster. Dans ce scénario, la stratégie d'installation du serveur de cache la plus fiable consiste à n'effectuer qu'une seule installation de serveur de cache à la fois.
Comme ce scénario n'emploie pas SQL Server, l'installation ne requiert pas l'obtention et l'installation de SQL Server, ni la création d'une base de données de configuration du cluster pour votre application. En termes de temps et d'argent, cela peut représenter une économie en fonction de ce qui est déjà disponible pour votre application. Si vous utilisez l'option de stockage de configuration du cluster dans un dossier partagé, tous les serveurs de cache du cluster de cache doivent disposer d'une connexion réseau permanente au dossier réseau partagé.
Sans SQL Server, seuls les hôtes principaux peuvent assurer le rôle de gestion du cluster. Comme la majorité des hôtes principaux doivent toujours être actifs pour assurer la disponibilité du cluster de cache, ce scénario entraîne une plus grande vulnérabilité de ce dernier à des pannes de serveur. Il complique également la maintenance du serveur en relation avec la disponibilité de votre application. Pour plus d'informations, consultez la rubrique Hôtes principaux et gestion du cluster (mise en cache de Windows Server AppFabric).
Déploiement d'entreprise
En comparaison des autres scénarios de déploiement, le déploiement d'entreprise produit les meilleurs résultats sur les plans de la disponibilité et de la prise en charge. Il requiert une base de données SQL Server, ce qui peut ne pas être une option appropriée pour certaines applications.
Quand SQL Server assure le rôle de gestion du cluster, ce dernier peut résister à la perte de tous les serveurs sauf un, et continuer à fonctionner. Comme dans le cas de l'option de stockage de configuration du cluster dans un dossier partagé, les serveurs de cache doivent disposer d'une connexion réseau permanente à la base de données SQL Server.
Notes
Chaque fois que vous arrêtez un serveur de cache, indépendamment du fait qu'il exécute ou non des tâches de gestion du cluster, vous perdez les données stockées dans sa mémoire. Pour les caches nommés avec la fonctionnalité de haute disponibilité activée, des copies des données perdues restent sur d'autres serveurs au sein du cluster et sont rapidement copiées sur un serveur secondaire. Pour plus d'informations, consultez la rubrique Haute disponibilité (mise en cache de Windows Server AppFabric).
Dans ce scénario, comme aucun des serveurs de cache n'assure le rôle de gestion du cluster, la maintenance du serveur pour les applications à haute disponibilité est sensiblement simplifiée. Aucun séquencement complexe des redémarrages du serveur n'est requis. Pour plus d'informations, consultez la rubrique Hôtes principaux et gestion du cluster (mise en cache de Windows Server AppFabric).
L'utilisation de SQL Server est avantageuse dans les situations où des connexions simultanées sont requises. Cela permet d'effectuer aisément des installations de serveur de cache automatiques en parallèle sans s'exposer aux limitations de taille de cluster qu'impose le déploiement de taille moyenne. Pour plus d'informations, consultez la page Installing Application Server Extensions for .NET 4 (https://go.microsoft.com/fwlink/?LinkId=169172) (en anglais).
Voir aussi
Concepts
Vue d'ensemble architecturale
Options de stockage de la configuration du cluster (mise en cache de Windows Server AppFabric)
Configuration de cluster basée sur un dossier partagé (mise en cache de Windows Server AppFabric)
Configuration de cluster basée sur SQL Server (mise en cache de Windows Server AppFabric)
Utilisation de Windows PowerShell pour la gestion des fonctionnalités de mise en cache de Windows Server AppFabric
Hôtes principaux et gestion du cluster (mise en cache de Windows Server AppFabric)
2011-12-05