Guide de planification du déploiement de Sun Java Enterprise System 2005Q4

Exigences de qualité de service

Les exigences de qualité de service (QoS) sont des spécifications techniques indiquant les qualités système de fonctions telles les performances, la disponibilité, l'évolutivité et l'entretien. Ces éléments sont fonction des besoins de l'entreprise spécifiés dans les exigences de l'entreprise. Par exemple, si des services doivent être disponibles 24 heures sur 24 toute l'année, l'exigence de disponibilité doit être établie en fonction.

Le tableau ci-dessous répertorie les qualités système constituant la base des exigences de qualité de service.

Tableau 3–2 Qualités système ayant un impact sur les exigences de qualité de service

Qualité du système 

Description 

Performances 

Mesure du temps de réponse et de la capacité de traitement par rapport aux conditions de charge utilisateur.  

Disponibilité 

Mesure de la fréquence à laquelle les ressources et services d'un système sont accessibles aux utilisateurs finals, également appelée temps de disponibilité du système.

Évolutivité 

Possibilité d'ajouter de la capacité (et des utilisateurs) à un système déployé au fil du temps. En principe, l'évolutivité implique l'ajout de ressources au système, mais ne doit pas entraîner de changements au niveau de l'architecture du déploiement. 

Sécurité 

Combinaison complexe de facteurs décrivant l'intégrité d'un système et de ses utilisateurs. La sécurité comprend l'authentification et l'autorisation des utilisateurs, la sécurité des données ainsi que l'accès sécurisé à un système. 

Capacité latente 

Aptitude d'un système à traiter des charges de pointe inhabituelles sans ressources supplémentaires. La capacité latente est un paramètre important des qualités d'évolutivité, de performances et de disponibilité.  

Entretien 

Facilité avec laquelle un système déployé peut être entretenu. Cela inclut le contrôle du système, la résolution des problèmes et la mise à niveau des composants matériels et logiciels.  

Les qualités d'un système sont étroitement liées. Les exigences liées à un critère de qualité système peuvent avoir un impact sur les exigences et la conception d'autres critères de qualité système. Par exemple, des niveaux de sécurité relativement élevés peuvent affecter les performances qui, à leur tour, sont susceptibles d'influer sur la disponibilité. L'ajout de serveurs en vue de pallier les problèmes de disponibilité peut avoir des conséquences sur l'entretien (coûts de maintenance).

Il est essentiel de comprendre la manière dont les qualités système sont liées et de savoir quels sont les compromis nécessaires à la conception d'un système répondant à la fois aux exigences et aux contraintes de l'entreprise.

Les sections suivantes décrivent en détail les qualités système ayant un impact sur la conception du déploiement et fournissent des informations sur les facteurs à prendre en considération lorsque vous répertoriez les exigences de qualité de service. Vous trouverez également une section consacrée aux exigences de niveau de service sur lesquels sont fondés les contrats de niveau de service.

Performances

Dans les exigences de l'entreprise, les performances (temps de réponse) sont généralement exprimées en termes non techniques. Voici un exemple d'exigence d'entreprise relative à l'accès Web :

Lors de la connexion, les utilisateurs s'attendent à un temps de réponse raisonnable, à savoir, pas plus de quatre secondes.

En partant de cette exigence, examinez la totalité des cas d'utilisation afin de savoir comment exprimer cette exigence au niveau du système. Dans certains cas, il se peut que vous souhaitiez inclure les conditions de charge utilisateur définies au cours de l'analyse d'utilisation. Indiquez ensuite l'exigence de performances pour chaque cas d'utilisation en termes de temps de réponse par rapport aux conditions de charge indiquées ou de temps de réponse ajouté à la capacité de traitement. Il vous est également possible d'indiquer le nombre d'erreurs autorisées.

Voici deux exemples de formulation des exigences système en termes de performances :

Les exigences de performances sont étroitement liées aux exigences de disponibilité (influence du basculement sur les performances) et à la capacité latente (aptitude à traiter des charges de pointe inhabituelles).

Disponibilité

Il s'agit du temps de disponibilité du système. La disponibilité s'exprime en pourcentage de temps pendant lequel le système est accessible aux utilisateurs. Une indisponibilité, c'est-à-dire, le temps pendant lequel le système n'est pas accessible, peut provenir d'une défaillance matérielle ou logicielle, d'une défaillance réseau ou de toute autre anomalie (par exemple, une coupure d'alimentation) engendrant une panne système. Une interruption planifiée de l'activité en vue d'effectuer des opérations d'entretien (maintenance et mises à niveau) n'est pas considérée comme une indisponibilité en tant que telle. Voici une équation élémentaire permettant de calculer la disponibilité en termes de pourcentage de temps d'accessibilité du système :

Disponibilité = temps de disponibilité / (temps de disponibilité + temps 
d'indisponibilité) * 100 %

En règle générale, la disponibilité est fonction du nombre de « neuf » obtenu. Par exemple, une disponibilité de 99 % correspond à deux neuf. Lorsque vous indiquez davantage de neuf, la conception du déploiement s'en trouve fortement modifiée. Le tableau suivant indique le temps d'indisponibilité non planifié, correspondant à chaque neuf ajouté, dans le cadre d'un système fonctionnant 24 heures sur 24, 7 jours sur 7 et ce, toute l'année (soit un total de 8 760 heures).

Tableau 3–3 Interruption d'activité non planifiée d'un système fonctionnant toute l'année (8 760 heures)

Nombre de neuf 

Pourcentage disponible 

Indisponibilité non planifiée 

99 % 

88 heures 

99,9 % 

9 heures 

99,99 % 

45 minutes 

99,999 % 

5 minutes 

Systèmes à tolérance de pannes

Dans le cadre d'une disponibilité de quatre à cinq neuf, le système doit être doté d'une tolérance de pannes. Un système à tolérance de pannes doit continuer de fonctionner même en cas de défaillance matérielle ou logicielle. La tolérance de pannes est généralement obtenue par une redondance matérielle (CPU, mémoire et périphériques réseau) ou logicielle permettant d'assurer les services essentiels.

Un point de panne unique correspond à un composant logiciel ou matériel qui fait partie d'un chemin critique mais qui n'est pas sauvegardé par des composants redondants. La panne de ce composant entraîne la perte de service pour le système. Lors de la conception d'un système à tolérance de pannes, vous devez identifier et supprimer les points de pannes uniques potentiels.

Ces systèmes peuvent s'avérer coûteux à implémenter et à entretenir. Il est nécessaire de comprendre la nature des exigences de l'entreprise concernant la disponibilité et de tenir compte des stratégies et des coûts des solutions de disponibilité qui répondent à ces exigences.

Classement par ordre de priorité en termes de disponibilité de service

D'un point de vue utilisateur, la disponibilité concerne certains services en particulier plutôt que la totalité du système. Par exemple, la non-disponibilité d'un service de messagerie instantanée a généralement peu ou pas d'effet sur la disponibilité d'autres services. En revanche, la non-disponibilité d'un service dont dépendent plusieurs autres services (notamment Directory Server) a un impact plus important. Les spécifications relatives à une disponibilité élevée doivent clairement faire référence aux cas d'utilisation spécifiques et aux analyses d'utilisation nécessitant une disponibilité accrue.

Il peut s'avérer utile de répertorier les besoins de disponibilité selon un ensemble ordonné de priorités. Le tableau suivant classe par ordre priorité la disponibilité de divers types de services.

Tableau 3–4 Disponibilité des services par ordre de priorité

Priorité 

Type de service 

Description 

Services essentiels 

Il s'agit des services qui doivent être disponibles en permanence. Par exemple, les services de bases de données (tels les annuaires LDAP) pour les applications. 

Disponibilité indispensable 

Il s'agit des services qui doivent rester disponibles, mais dont les performances peuvent être réduites. Par exemple, il se peut que la disponibilité du service de messagerie ne soit pas fondamentale dans certains environnements de travail. 

Possibilité de différer 

Il s'agit de services dont la nécessité de disponibilité est limitée dans le temps. Par exemple, il se peut que la disponibilité des services de calendrier ne soit pas essentielle dans certains environnements de travail. 

Facultatif 

Il s'agit des services qui peuvent être différés sans limite de temps. Par exemple, dans certains environnements, les services de messagerie instantanée peuvent être considérés comme utiles mais pas obligatoires. 

Panne de services

La conception de disponibilité prend également en considération ce qui se passe lorsque la disponibilité est compromise ou lorsqu'un composant est défectueux. Autrement dit, si un utilisateur connecté doit ou non redémarrer sa session et si une panne risque d'affecter d'autres zones du système. Les exigences de qualité de service doivent tenir compte de ces scénarios et indiquer comment le déploiement doit réagir face à ces situations.

Évolutivité

L'évolutivité correspond à la possibilité d'ajouter de la capacité à un système de sorte qu'il puisse accepter une charge supplémentaire provenant d'utilisateurs existants ou d'un accroissement de leur nombre. L'évolutivité requiert généralement davantage de ressources mais ne doit pas entraîner de modifications au niveau de la conception de l'architecture du déploiement ni de perte de service due au temps utilisé pour l'ajout de ressources.

Comme la disponibilité, l'évolutivité concerne certains services en particulier plutôt que la totalité du système. En revanche, pour les services dont dépendent d'autres services, tels Directory Server, l'évolutivité peut avoir un impact sur l'ensemble du système.

Il n'est pas nécessaire de mentionner les exigences d'évolutivité dans les exigences de qualité de service, sauf si l'extension du déploiement est clairement définie dans les exigences de l'entreprise. Cependant, lors de la phase de conception du déploiement de la solution, l'architecture de déploiement doit toujours prévoir une certaine tolérance pour la mise à l'échelle du système et ce, même dans le cas où aucune exigence en matière d'évolutivité n'a été indiquée.

Estimation du développement

L'estimation du développement d'un système en vue de déterminer les exigences d'évolutivité implique l'utilisation de projections et d'estimations aléatoires. Vous devez tenir compte des trois éléments ci-dessous pour dresser la liste des exigences liées à un système évolutif.

Le tableau suivant répertorie les facteurs à prendre en considération pour la détermination des exigences d'évolutivité.

Tableau 3–5 Facteurs d'évolutivité

Facteur 

Description 

Analyse des types d'utilisation 

En examinant les données existantes, vous pouvez comprendre les types d'utilisation des utilisateurs actuels ou prévus. En l'absence de telles données, analysez les données du secteur économique concerné ou les estimations du marché.  

Conception pour une échelle maximale acceptable 

Conception ayant pour objectif l'échelle maximale requise pour satisfaire les demandes connues et les demandes possibles. 

Il s'agit généralement d'une estimation s'étalant sur 24 mois basée sur l'évaluation des performances de la charge utilisateur existante et des estimations acceptables en matière de charge à venir. La durée de l'estimation dépend fortement de la fiabilité des projections. 

Définition de jalons appropriés 

Implémentez la conception du déploiement par incrément afin de répondre aux exigences à court terme et utilisez pour cela une mémoire tampon qui puisse faire face à une éventuelle croissance. En outre, vous devez définir des jalons pour l'ajout de ressources système.  

Par exemple : 

  • Achat important (trimestriel ou annuel)

  • Délai d'obtention de matériel et de logiciel (1 à 6 semaines)

  • Mémoire tampon (10 à 100 %, selon les prévisions de croissance)

Intégration de nouvelles technologies 

Il est nécessaire de s'imprégner des nouvelles technologies, telles que les processeurs et les serveurs Web plus rapides. Il faut également connaître la façon dont elles affectent les performances de l'architecture sous-jacente. 

Exigences liées à la sécurité

La sécurité est un élément complexe qui intervient à tous les niveaux d'un système déployé. L'objectif principal du développement des exigences liées à la sécurité consiste à identifier les menaces de sécurité et à développer une stratégie pour les combattre. Cette analyse de sécurité se compose des étapes suivantes :

  1. Identification des éléments critiques

  2. Identification des menaces pesant sur ces éléments

  3. Identification des failles de sécurité présentant un risque pour l'organisation

  4. Développement d'un plan de sécurité afin de limiter les risques spécifiques à votre organisation

L'analyse des exigences de sécurité nécessite une collaboration de la part des parties prenantes de votre organisation, notamment les directeurs, les analystes d'exploitation et le personnel du service des technologies de l'information. Il arrive très souvent qu'une organisation désigne une personne responsable de la sécurité et chargée de la conception et de l'implémentation des mesures de sécurité.

La section suivante décrit quelques-uns des domaines abordés en matière de planification de la sécurité.

Éléments d'un plan de sécurité

La planification de la sécurité d'un système fait partie de la conception du déploiement et est essentielle à la réussite de l'implémentation. Vous devez tenir compte des points suivants lors de la planification de la sécurité :

Capacité latente

La capacité latente correspond à l'aptitude d'un déploiement à faire face aux pics de charge inhabituels sans utiliser de ressources supplémentaires. Généralement, il n'est pas nécessaire de spécifier les exigences de qualité de service directement liées à la capacité latente. Cependant, cette dernière représente un facteur important en termes de disponibilité, de performances et d'évolutivité du système.

Exigences d'entretien

L'entretien est la facilité avec laquelle un système déployé peut être entretenu, englobant des tâches telles la surveillance du système, la résolution des problèmes, l'ajout et la suppression d'utilisateurs et la mise à niveau des composants matériels et logiciels.

Lors de la planification des exigences d'entretien, tenez compte des facteurs répertoriés dans le tableau suivant :

Tableau 3–6 Facteurs concernant les exigences d'entretien

Facteur 

Description 

Planification de l'interruption d'activité 

Identification des tâches de maintenance entraînant l'indisponibilité totale ou partielle de services spécifiques. 

Certaines opérations de maintenance et de mise à niveau peuvent être invisibles pour l'utilisateur, tandis que d'autres nécessitent une interruption de service. Lorsque cela est possible, planifiez avec les utilisateurs les activités de maintenance nécessitant une indisponibilité de service afin qu'ils puissent s'organiser en fonction. 

Types d'utilisation 

Identification des types d'utilisation en vue déterminer le moment le plus approprié pour la planification des opérations de maintenance.  

Par exemple, programmez les opérations de maintenance en soirée ou en week-end pour les systèmes sur lesquels les pics d'utilisation se produisent pendant les heures de bureau classiques. Pour les systèmes distribués géographiquement, cette programmation peut s'avérer plus compliquée à mettre en place. 

Disponibilité 

L'entretien reflète généralement votre conception de disponibilité. Les stratégies visant à limiter les interruptions d'activité pour la maintenance et les mises à niveau sont liées à votre stratégie de disponibilité. Les systèmes ayant besoin d'un degré élevé de disponibilité ne disposent que de peu de temps pour la maintenance, les mises à niveau et les réparations. 

Les stratégies de gestion des exigences de disponibilité se répercutent sur la manière dont vous gérez la maintenance et les mises à niveau. Par exemple, sur des systèmes distribués géographiquement, l'entretien peut dépendre de la possibilité d'acheminer des charges de travail vers des serveurs distants pendant les opérations de maintenance. 

De plus, les systèmes nécessitant un degré de disponibilité élevé peuvent exiger la mise en place de solutions plus complexes automatisant au maximum le redémarrage des systèmes. 

Diagnostics et contrôle 

Vous pouvez améliorer la stabilité du système en exécutant régulièrement des outils de diagnostic et de contrôle pour identifier les zones problématiques. 

Le contrôle régulier d'un système permet d'éviter les problèmes, de gérer des charges de travail selon les stratégies de disponibilité et d'améliorer la planification de la maintenance et des indisponibilités.