Passer au contenu

Comment mieux administrer les applications distribuées

Il ne suffit pas de mettre en ?”uvre des architectures distribuées à plusieurs niveaux. Encore faut-il veiller à optimiser leur administration, afin d’assurer leur montée en charge avec une excellente fiabilité.

Face à la révolution de l’e-business, les entreprises sont amenées à mettre en place des applications distribuées. Ces dernières sont bâties selon une architecture comprenant des postes clients légers et standardisés, un ou plusieurs serveurs Web, un ou plusieurs serveurs d’applications et, enfin, le système d’information existant.
Ce dernier serveur assure la liaison entre des technologies disparates pour faciliter le développement, le déploiement et l’administration des applications. En fonction du type d’application ciblée, le rôle du serveur pourra être très différent. Dans le cas d’applications d’ouverture du système d’information au Web, il joue le rôle de frontal entre le Web et les applications d’entreprise. Si celles-ci sont plus évoluées telles des applications de commerce électronique ou de prise de décision, il inclut les objets métiers qui modélisent l’activité de l’entreprise, en plus des objets d’accès aux données. Les objets métiers traitent, par exemple, les clients, les commandes, les stocks et les livraisons. La mission dévolue au serveur d’applications pouvant varier, son administration sera également très différente.

Un serveur d’applications peut en cacher un autre

Dans le contexte le plus simple, elle consistera en une supervision d’un service du serveur, avec un arrêt de ce dernier pour tout changement de version de l’un des composants logiciels du serveur (serveur Web, serveur d’applications et application frontale Web). Les problèmes de montée en charge et de fiabilité sont pris en compte par le dimensionnement du serveur.
Dans le cas d’applications plus complexes, il doit absorber la charge générée par les requêtes clients, assurer la montée en charge au fur et à mesure de l’augmentation du nombre de postes clients et garantir la disponibilité de l’application. Alors, il convient de mettre en place une architecture multithread, multiprocessus, multimachine, ainsi que des mécanismes d’équilibrage de charges et de tolérance aux pannes, avec le groupement des machines serveurs en clusters. Il faut également pouvoir ajouter ou retirer un serveur d’une des grappes, afin de tenir la charge ou de faire la maintenance d’un serveur. De plus, il doit être possible de changer les versions des composants logiciels en ligne. Tous ces besoins rendent l’administration très complexe. En effet, une application distribuée n’est pas constituée d’un seul processus sur une seule machine. Elle se compose d’une collection d’objets dialoguant entre eux, afin d’offrir un service aux clients, et répartis sur différentes machines serveurs. Il n’est alors plus possible d’administrer les applications distribuées complexes, ni avec les outils d’administration de réseaux ni avec les solutions d’administration de systèmes. En effet, si des problèmes surviennent, les administrateurs doivent pouvoir traiter l’application distribuée soit comme un tout, soit comme une collection de composants.

Une administration proactive des grappes

Les éditeurs de serveurs d’applications proposent des consoles d’administration plus ou moins complètes, selon les types d’applications ciblées. Ces dernières peuvent être soit vendues avec le serveur ou présentées comme un produit séparé. Certains éditeurs offrent plusieurs consoles d’administration, une légère, livrée avec le serveur d’applications, et une autre en option, beaucoup plus complète.
Microsoft AppCenter a ainsi enrichi la console d’administration de Windows 2000 pour les fonctions de type serveur d’applications. Cette solution donne la possibilité de gérer des applications distribuées complexes basées sur les technologies Microsoft telles que COM+ ou MTS.

Se placer du point de vue de l’utilisateur

Microsoft AppCenter a été créé pour pouvoir administrer des applications s’exécutant sur plus d’une machine serveur. Il prend, par exemple, en charge l’administration des applications constituées de plusieurs composants tels que COM+, les pages ASP et les données de configuration. Ce module a également pour objectif de tester le fonctionnement des applications comme le feraient les utilisateurs et de réussir le passage en production avec un déploiement manuel ou automatisé. Une fois les applications déployées, AppCenter gère les applications distribuées de façon proactive et réalise la montée en charge sur plusieurs machines serveurs.
A cet effet, ce dernier autorise la création d’un groupement logique de serveurs en quelques clics de souris à partir de paramètres par défaut. En outre, il est possible d’insérer de manière dynamique un serveur dans un groupement avec la réplication automatique des paramètres et des composants logiciels, ainsi que la supervision et la mise en charge du serveur dès qu’il est inséré. En ce qui concerne l’équilibrage de charges, deux niveaux sont activables via Microsoft AppCenter : le serveur HTTP et des pages dynamiques Web ; les composants COM+.
Celui-ci gère aussi les pannes dans un groupement de serveurs : la charge du serveur en panne est automatiquement redistribuée aux autres serveurs. Présenté lors du Comdex en 1999, Microsoft AppCenter est commercialisé séparément de Windows 2000.
Autre exemple de solution d’administration, l’outil Inprise AppCenter permet d’administrer des composants Corba, EJB et COM+. Depuis la version 4 du serveur d’applications d’Inprise, ce dernier est compatible avec la plate-forme Java 2 pour l’entreprise. Inprise AppCenter a également pris en compte les EJB. L’éditeur commercialisant des outils de développement, tel Delphi utilisant les technologies Microsoft, AppCenter est devenu un produit indépendant du serveur d’applications d’Inprise. Les fonctions de supervision de ce produit reposent sur un modèle de l’application distribuée qui détermine les composants principaux de l’application ainsi que leurs relations. Parmi celles qu’il faut modéliser figurent, par exemple, les relations de dépendance, d’inclusion, de maître-esclave, ou encore, le secours sur panne.
D’après Inprise, ce modèle autorise AppCenter à fournir une vision synthétique du fonctionnement de l’application à partir de celui de ses composants. En outre, ce modèle rend possible l’intervention d’AppCenter dans le cadre de mécanismes d’équilibrage de charges, de tolérance aux pannes, de redémarrage automatique des éléments manquant ou, plus simplement, de démarrage ou d’arrêt des constituants de l’application distribuée. Inprise AppCenter permet également de descendre au niveau des objets qui constituent l’application, ce qui peut être nécessaire pour identifier les causes de dysfonctionnements de l’application tels que des goulets d’étranglement.

La définition de vues métiers

Parmi les spécificités d’Inprise AppCenter, on peut noter, d’une part, la possibilité de redéployer des composants d’une application distribuée, par exemple, sur d’autres serveurs ; et, d’autre part, la possibilité de définir des vues métiers pour administrer les applications. Comme plusieurs autres outils d’administration de serveurs d’applications, Inprise AppCenter autorise le suivi des performances de l’application distribuée, ainsi que le déclenchement d’alertes ou d’actions correctrices lorsqu’une condition est remplie. Inprise AppCenter inclut aussi les mécanismes d’équilibrage de charges et de tolérance aux pannes dans un groupement de serveurs.
Les applications distribuées commençant à être utilisées pour les applications à mission stratégique de l’entreprise, tel le commerce électronique business to business, les critères de choix du serveur d’applications ne doivent pas être uniquement liés à la facilité de développement et au temps de mise sur le marché. Une application distribuée mal administrée n’aura pas un comportement satisfaisant, aussi bien du point de vue des performances que du point de vue de la fiabilité assurée 24 heures sur 24.

🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.


Jean-François Masler