Présentation de Windows Server AppFabric

Windows Server AppFabric complète Windows Server en offrant des capacités améliorées d'hébergement, de gestion et de mise en cache pour applications Web et services de niveau intermédiaire. Les fonctionnalités d'hébergement d'AppFabric apportent des extensions de gestion de service aux services Internet (IIS), au service d'activation des processus Windows (WAS) et à .NET Framework 4. Parmi celles-ci figurent les services d'hébergement et les outils d'administration de l'hébergement qui facilitent le déploiement, la configuration et la gestion des services basés sur Windows Communication Foundation (WCF) et Windows Workflow Foundation (WF). Les fonctionnalités de mise en cache d'AppFabric ajoutent à Windows Server un cache d'objets en mémoire distribué qui facilite la mise à échelle (extension) d'applications .NET haute performance, en particulier d'applications ASP.NET.

De nos jours, des services et des architectures orientées services sont intégrés dans de nombreux types d'applications, de la simple exposition d'une fonctionnalité en tant que service à l'usage des autres, à l'application consistant en une coordination complexe de nombreux services. Le besoin de construire des applications pouvant aisément participer à ce monde de services et y opérer n'a jamais été aussi pressant. Les applications modernes sont généralement articulées autour d'un composant transactionnel piloté par les données (par exemple, pour la prise de commandes sur un site Web) associé à une logique métier hautement distribuée qui gère ces transactions à un niveau intermédiaire.

Le déploiement, la gestion et la surveillance de services de niveau intermédiaire est souvent un processus laborieux qui requiert que les développeurs créent une infrastructure d'hébergement et consacrent du temps à la création de solutions de déploiement personnalisées pour leurs applications. Qui plus est, une fois l'application déployée, les développeurs doivent souvent gérer l'application en apportant des modifications manuelles aux fichiers de configuration. AppFabric peut contribuer à réduire cette charge en simplifiant le déploiement de service, en offrant une solution de surveillance personnalisable et en fournissant un vaste éventail d'outils de gestion, le tout étant directement accessible via la Console de gestion IIS ou fourni sous forme de script à l'aide des modules AppFabric pour Windows PowerShell.

Les développeurs sont de plus en plus confrontés à l'exigence de produire des applications hautement réactives et évolutives. C'est le cas non seulement des services de niveau intermédiaire, mais aussi des applications Web, mobiles et de bureau. À mesure que l'utilisation d'applications s'intensifie (par exemple, un site Web gagne en popularité ou de nouveaux groupes commencent à utiliser un service partagé), un accès dispendieux aux données entrave souvent les performances et la mise à échelle des applications. Si la mise en cache est une solution bien établie dans le monde des bases de données, elle tend à être reconnue comme un élément essentiel pour la fourniture d'applications Web et de services complexes très performants. Dans les deux cas, le service de mise en cache d'AppFabric permet d'améliorer les performances et l'évolutivité des applications et services .NET accédant à un grand nombre de données. Le service de mise en cache d'AppFabric offre un cache en mémoire distribué à haut niveau de disponibilité qui peut aisément être mis à échelle (extension/réduction) indépendamment des couches Applications ou Données. Grâce à une API .NET et à une intégration parfaite avec ASP.NET et PowerShell, les services de mise en cache d'AppFabric vous garantissent de pouvoir introduire une mise en cache dans vos solutions, via des modifications minimales du code et une expérience de gestion cohérente.

Les sections ci-après développent certains des défis liés à l'hébergement de services de niveau intermédiaire et à la mise à échelle d'applications Web. Elles décrivent également les solutions offertes par AppFabric.

Pour plus d'informations sur AppFabric, consultez le Centre de développement Windows Server (https://go.microsoft.com/fwlink/?LinkId=182970).

Services d'hébergement

Le défi

La mise en place d'un environnement d'hébergement pour une application incluant des services WCF et WF peut s'avérer complexe et laborieuse. Si IIS/WAS offre un environnement d'hébergement fiable pour de telles applications, l'exploitation de ses fonctionnalités peut nécessiter un effort de développement considérable, des solutions de déploiement personnalisées et des procédures de configuration manuelles. Après qu'une solution a été déployée et configurée, la gestion des services peut constituer un véritable défi.

La solution

Les services d'hébergement d'AppFabric vous permettent de mettre en place des services WCF et WF sans effort. Vous pouvez profiter des capacités d'hébergement d'AppFabric sans développer de fonctionnalités supplémentaires. Les services d'hébergement étendent les capacités d'hébergement de WAS en fournissant une configuration par défaut de l'environnement d'hébergement WAS. Ils incluent des fonctionnalités fournies par le service de gestion du flux de travail (verrouillage/nouvelle tentative, démarrage automatique, minuteurs durables et file d'attente de commandes).

L'administration de l'hébergement d'AppFabric fournit des outils pour gérer les instances de flux de travail en cours d'exécution beaucoup plus facilement, ainsi que des fonctionnalités de contrôle, de surveillance et de requête. Vous pouvez également configurer WAS et les applications hébergées dans WAS de façon standard. Les outils d'administration de l'hébergement vous permettent de configurer l'adresse de points de terminaison de service, de gérer l'activation du démarrage automatique et de configurer les paramètres de sécurité et de performance.

Pour plus d'informations sur les capacités d'hébergement d'AppFabric, consultez la rubrique Concepts relatifs à l'hébergement.

Plateforme de cache en mémoire d'AppFabric

Le défi

L'utilisation d'un cache en mémoire pour stocker des données d'application fréquemment utilisées est une méthode largement éprouvée d'amélioration des performances des applications. Les opérations de lecture et d'écriture en mémoire sont beaucoup plus rapides que sur disque. En revanche, la taille du cache en mémoire est généralement limitée par la quantité de mémoire disponible sur l'ordinateur exécutant l'application, et les données stockées dans le cache en mémoire sont exposées à une perte totale en raison de la volatilité inhérente à la mémoire de l'ordinateur. Le développement d'applications capables d'exploiter pleinement un cache en mémoire est en outre limité par l'absence d'interface de programmation d'application (API) pour le stockage et la récupération d'objets dans un cache mémoire. Le développement d'applications utilisant une mise en cache peut également être entravé par l'absence de fonctionnalité de gestion du cache.

La solution

Les fonctionnalités de mise en cache d'AppFabric peuvent aider à mettre à échelle des applications .NET aisément et à moindre coût en vous permettant de regrouper les capacités de mémoire de plusieurs ordinateurs dans un seul cluster de cache unifié. Ces fonctionnalités incluent les outils des services de mise en cache, du client de cache et d'administration du cache. Les services de mise en cache d'AppFabric sont très évolutifs. Ils permettent de configurer un grand nombre d'ordinateurs comme nœuds d'un cluster de cache disponible en tant que cluster de cache unifié unique. Les services de mise en cache offrent une fonctionnalité à haute disponibilité qui prend en charge la disponibilité continue de vos données mises en cache en stockant des copies de celles-ci sur des hôtes de cache distincts. Lorsque la haute disponibilité est activée sur un cluster multiserveur, votre application peut encore extraire les données mises en cache en cas de défaillance d'un serveur de cache.

Les services de mise en cache offrent un ensemble complet d'API entièrement documentées pour l'intégration de l'utilisation d'un cache en mémoire avec votre application .NET. En outre, l'intégration avec ASP.NET pour le stockage de l'état de session dans le cache est parfaite. Elle peut ouvrir aux sites ASP.NET une voie rentable pour améliorer rapidement les performances et la mise à échelle d'un site. L'administration du cache d'AppFabric fournit un éventail complet d'outils d'administration pour la création, la configuration et la gestion de caches en mémoire. Les fonctionnalités de mise en cache et d'hébergement d'AppFabric sont incluses dans un package d'installation intégré.

Pour plus d'informations, consultez la rubrique Fonctionnalités de mise en cache de Windows Server AppFabric.

Persistance des flux de travail

Le défi

Il peut être difficile de rendre opérationnels des services avec état et durables dans Windows Workflow Foundation. Pour instaurer une persistance telle que les flux de travail soient durables, vous devez peut-être créer un magasin de persistance, créer un schéma, créer une base de données de persistance, puis la configurer. Dans l'environnement de production, vous disposez peut-être d'une base de données qui conserve les instances des flux de travail durables appelés. Certaines instances peuvent être interrompues et d'autres en cours d'exécution. Il est parfois difficile de voir ce qu'il se passe dans le système.

La solution

Avec AppFabric, la persistance est immédiatement disponible. Les services d'hébergement d'AppFabric utilisent le magasin de persistance SQL fourni avec .NET Framework 4, puis créent une base de données de persistance par défaut que vos applications peuvent exploiter, qui vous permet de mettre à échelle vos services avec état sur une série d'ordinateurs. Vous pouvez utiliser un magasin de persistance personnalisé de votre choix. De plus, l'administration de l'hébergement d'AppFabric vous offre l'outillage nécessaire à la surveillance de l'activité de la base de données de persistance ainsi que vos flux de travail durables.

Pour plus d'informations sur les fonctionnalités de persistance dans AppFabric, consultez la rubrique Concepts en relation avec la persistance.

Services de surveillance

Le défi

Les applications WCF et WF ne permettent pas toujours de voir ce qu'il se passe au niveau des services et des instances de flux de travail. Si vous avez des services et des flux de travail sur plusieurs ordinateurs, où sont-ils activés ? Combien sont activés ? Quel est leur état ? Recevez-vous des messages d'erreur ?

La solution

Les services d'hébergement et l'administration de l'hébergement d'AppFabric vous permettent d'effectuer l'analyse du fonctionnement et le dépannage de services WCF et WF en cours d'exécution, ainsi que de contrôler ces services. Vous pouvez faire cela dans la page Tableau de bord d'AppFabric du Gestionnaire des services Internet. Le tableau de bord d'AppFabric vous permet d'être informé en permanence de l'état de votre système. Les données de surveillance peuvent vous aider à mieux contrôler les instances de flux de travail. Vous avez également la possibilité de modifier les requêtes qui génèrent les données et de sélectionner un niveau de surveillance vous permettant de recueillir des données en nombre suffisant pour surveiller le fonctionnement de vos applications tout en maîtrisant le coût de cette surveillance. La surveillance d'AppFabric est basée sur les capacités de suivi et de traçage de .NET Framework.

Les événements sont stockés dans une base de données de surveillance accessible à l'aide des outils d'administration de l'hébergement. Un participant au suivi écrit des événements via le suivi des événements pour une session Windows (ETW, Event Tracing for Windows), et le service de collecte d'événements installé avec les fonctionnalités d'hébergement d'AppFabric lit les événements de la session ETW en fournissant un traitement de données haute performance. Lorsque vous installez les fonctionnalités d'hébergement d'AppFabric, le programme d'installation met en place une infrastructure de surveillance configurable conçue pour être utilisée dans votre environnement de production. Vous pouvez utiliser le magasin de surveillance SQL fourni avec .NET Framework 4 ou un magasin personnalisé de votre choix. Vous pouvez configurer AppFabric pour purger la base de données de surveillance automatiquement.

Pour plus d'informations sur les fonctionnalités de surveillance dans AppFabric, consultez la rubrique Concepts en relation avec la surveillance.

Outils de gestion

Le défi

Les professionnels de l'informatique et les développeurs ont besoin d'outils puissants et faciles à utiliser pour gérer des services WCF ou WF dans un environnement de production. Pour gérer une application, vous devez peut-être utiliser plusieurs outils et modifier manuellement des fichiers de configuration. Il se peut que vous n'ayez pas de visibilité des données relatives à vos services et que vous ne puissiez pas contrôler votre configuration. Il est parfois difficile de déterminer la manière de configurer une application, parce que vous pouvez avoir accès à plusieurs fichiers de configuration, en utilisant l'Éditeur de configuration de service pour les ouvrir et modifier leurs éléments de configuration.

La solution

Les fonctionnalités d'hébergement d'AppFabric offrent un vaste éventail d'extensions du Gestionnaire des services Internet pour la gestion du service. Le tableau de bord d'AppFabric offre une visibilité du fonctionnement d'un système et l'interface utilisateur de configuration unifiée permet de contrôler la configuration de votre service. Si nécessaire, vous pouvez reprendre, interrompre, annuler ou arrêter des instances de flux de travail persistantes ainsi que démarrer ou arrêter des services. L'interface utilisateur étant basée sur le Gestionnaire des services Internet, vous bénéficiez d'une expérience d'administrateur et d'outils pour les services WCF et WF similaires à ceux dont vous disposez pour les applications Web. Le Gestionnaire des services Internet vous permet d'effectuer de nombreuses tâches de gestion d'application au lieu de passer d'un outil à l'autre ou de modifier manuellement des fichiers de configuration.

Dans l'extension AppFabric du Gestionnaire des services Internet, vous pouvez facilement énumérer les services d'un serveur et modifier les requêtes pour ajuster vos données. Vous pouvez voir le nombre d'instances de flux de travail qui sont ou non en cours d'exécution. Vous pouvez voir des instances de flux de travail persistantes ou de suivi.

Le Gestionnaire des services Internet permet de voir la configuration d'un service dans une simple boîte de dialogue. Dans celle-ci, vous pouvez définir la configuration d'un service ainsi que les paramètres de configuration par défaut d'une application, d'un site Web ou d'un serveur dont un service peut hériter. Les services d'hébergement d'AppFabric bénéficient de la capacité de fusion de comportement de .NET Framework 4, qui permet à un service d'hériter des propriétés de configuration de tout niveau de la hiérarchie IIS. Dans de nombreux scénarios de configuration, les services d'hébergement vous permettent de définir des paramètres de configuration dans le fichier Web.config approprié sans devoir accéder directement à ce fichier.

Les outils d'administration de l'hébergement incluent des cmdlets Windows PowerShell qui vous permettent de gérer des applications à partir de la console PowerShell ou via des scripts grâce auxquels vous pouvez automatiser une configuration. Ces modules PowerShell incluent le module ApplicationServer pour les services d'hébergement d'AppFabric et les modules DistributedCacheAdministration et DistributedCacheConfiguration pour les services de mise en cache d'AppFabric.

AppFabric inclut un Assistant Installation pour installer les fonctionnalités d'hébergement et de mise en cache d'AppFabric, ainsi qu'un Assistant Configuration pour le paramétrage de ces fonctionnalités. Vous pouvez aussi installer AppFabric à l'aide de WebPI.

Pour plus d'informations sur les outils de gestion d'AppFabric, consultez la rubrique Outils de gestion.

Développement de services

Le défi

En présence d'un nouveau produit, vous devez souvent étudier de nouvelles manières de développer votre application pour exploiter de nouvelles fonctionnalités ou pour l'intégrer avec le produit.

La solution

Grâce aux services d'hébergement d'AppFabric, il n'y a pas d'exigence particulière liée à la création d'une application, à part celle de veiller à ce que celle-ci puisse être hébergée dans l'environnement d'hébergement IIS/WAS à l'aide du service d'activation des processus Windows (WAS). Les modèles de projet par défaut dans Visual Studio® (Application de service WCF et Application de service WCF) prennent en charge IIS/WAS et sont gérés par AppFabric sans demander de modifications. Si vous avez des applications hébergées dans WAS, vous pouvez les déployer sur AppFabric sans modification.

Pour plus d'informations sur le développement d'une application à utiliser dans AppFabric, consultez la rubrique Développement d'une application.

Déploiement de services

Le défi

Il est parfois difficile de déployer un service d'un serveur vers un ou plusieurs autres en utilisant une configuration identique.

La solution

Les services d'hébergement d'AppFabric se servent de l'outil de déploiement Web Microsoft pour déployer des services dans leur environnement. L'outil de déploiement Web est intégré dans les environnements d'IIS et de Visual Studio. Il vous permet de compiler et déployer aisément des services directement à partir de Visual Studio, ou de déployer des applications précompilées directement à partir du Gestionnaire des services Internet.

Pour plus d'informations sur le déploiement d'une application dans AppFabric, consultez les rubriques Déploiements classiques et Déploiement d'une application.

Extensibilité des services d'hébergement et de l'administration de l'hébergement

Le défi

Il est parfois difficile d'utiliser certaines solutions précompilées.

La solution

Les fonctionnalités d'hébergement d'AppFabric intègrent des points d'extensibilité permettant de créer des solutions personnalisées. Vous pouvez ajouter un module au Gestionnaire des services Internet et créer vos propres outils d'IU par dessus les cmdlets d'administration de l'hébergement d'AppFabric. Vos pouvez fournir une IU pour l'utilisateur cible de votre application. Vous pouvez créer vos propres cmdlets ou utiliser un chaînage pour combiner les cmdlets d'AppFabric dont vous avez besoin. Des points d'extensibilité sont également disponibles dans les fonctionnalités de surveillance et de persistance des services d'hébergement. Vous pouvez utiliser un magasin de surveillance ou de persistance personnalisé.

Pour plus d'informations sur l'extensibilité dans AppFabric, consultez la rubrique Extensibilité d'AppFabric.

  2011-12-05