Conception pour la haute disponibilité
Une solution logicielle doit répondre à un certain nombre de facteurs de qualité. La disponibilité est une mesure permettant d’évaluer la qualité d’une solution. Cette disponibilité découle autant du logiciel que de l’environnement physique de déploiement. Lors du développement d’une solution répartie, l’impact de l’environnement physique sur la disponibilité est plus important, puisque les composants de la solution logicielle peuvent dépendre de plusieurs composants physiques. Lors du développement d’une solution, l’environnement physique de déploiement reste parfois inconnu, et le concepteur logiciel doit être en mesure de maximiser la disponibilité de la solution.
L’évaluation de la disponibilité d’une solution requiert une abstraction du matériel car cette information n’est pas toujours disponible. Dans cet essai, une couche de virtualisation insérée entre la couche logique et la couche physique permet cette abstraction matérielle. La couche logique représente les composants logiques de la solution, et la couche physique représente l’implémentation physique de ces composants par du matériel ou des logiciels. Cette couche de virtualisation permet d’abstraire le substrat physique en catégories, représentant des composants virtuels dont dépendent les composants logiques de la solution. Les composants virtuels sont regroupés en trois catégories : des composants virtuels de transition, de traitement et d’immuabilité.
Dans le cadre de cet essai, une solution logicielle comporte des composants logiques et des composants virtuels offrant des services uniques, dont la solution a besoin afin de desservir la totalité de la fonctionnalité pour laquelle elle a été conçue. La duplication est le moyen mis de l’avant afin d’offrir une meilleure disponibilité, permettant ainsi à un composant de consommer le service du duplicata d’un autre composant, si le composant lui-même n’est pas disponible.
Afin de déterminer s’il y a amélioration de la disponibilité une fois certains composants dupliqués, la méthodologie de Tsai et Sang [23] est adaptée à la vue de virtualisation. Cela permet de quantifier la disponibilité d’une solution logicielle en regroupant les composants logiques et les composants virtuels en série ou en parallèle, et ce, jusqu’à ce que la disponibilité totale de la solution soit établie. Pour trouver la disponibilité, certaines hypothèses peuvent être faites, basées sur la disponibilité réelle des composants physiques implémentant les composants virtuels. Une disponibilité générique et pessimiste comblera le manque d’hypothèse, afin d’identifier les risques reliés à l’utilisation des composants. Pour améliorer la disponibilité, une recherche de goulots d’étranglement permet de cibler le ou les composants dont l’amélioration de la disponibilité aura le plus d’impact sur la solution logicielle.
Une évaluation d’un cas réel permet de valider la méthodologie, d’abord sans hypothèse de disponibilité sur l’implémentation physique de la solution, puis en y ajoutant des hypothèses. Un dernier scénario, cette fois déployé en utilisant les technologies infonuagiques, conclut l’évaluation du cas réel.
La méthode d’analyse proposée s’avère concluante pour améliorer la disponibilité d’une solution logicielle. La vue de virtualisation ajoute un niveau d’abstraction permettant l’évaluation des composants virtuels, et la duplication est un moyen d’améliorer la disponibilité. Cette méthode d’analyse pourrait être adaptée afin d’y intégrer la disponibilité des composants logiques en plus de la disponibilité des composants virtuels. La méthodologie apporte un moyen d’améliorer la disponibilité, mais la disponibilité ne se limite pas à la mise en place de duplicatas. Il faut tenir compte d’autres considération, tels que les coûts de mise en place ou la criticité de certains composants logiques vis-à-vis les autres composants de la solution.
Table des matières · 1/26
Conception pour la haute disponibilité
- Conception pour la haute disponibilité
- Introduction
- 1 Abstraction du matériel
- 1.1 Isolation des niveaux d’abstraction
- 1.2 Catégorie de composants physiques
- 1.3 Couche de virtualisation
- 1.4 Abstraction des composants virtuels
- 1.5 Caractéristiques des composants virtuels
- 2 Les mécanismes sous-jacents à la haute disponibilité
- 2.1 Cadre d'analyse des mécanismes et hypothèses
- 2.2 Interface publique d’une solution
- 2.3 Contrôle du risque
- 2.4 Une approche : la duplication
- 2.5 Limites de la réplication de composant virtuel d’immuabilité
- 3 Évaluation des risques d’indisponibilité
- 3.1 Hiérarchie de dépendances
- 3.2 Goulots d’étranglement
- 3.3 Méthode de calcul de disponibilité
- 3.4 Méthodologie d’analyse
- 4 Évaluation dans des cas réels
- 4.1 Solution logicielle de base
- 4.2 Analyse sans hypothèses
- 4.3 Évaluation avec ajout d’hypothèses de disponibilité
- 4.4 Hypothèse dans un scénario infonuagique
- Conclusion
- Liste des références