Tâche: Description de la distribution
Cette tâche définit l'architecture de déploiement d'un système réparti en termes de noeuds physiques et de leurs interconnexions.
Objet
Décrire la façon dont la fonctionnalité du système est répartie par des noeuds physiques. Cette tâche ne s'applique qu'aux systèmes répartis.
Relations
Description principale

Cette tâche définit l'architecture de déploiement d'un système réparti en termes de noeuds physiques et de leurs interconnexions. Pendant la Tâche : Analyse architecturale, un modèle de déploiement initial a été défini. Dans cette tâche, le modèle de déploiement (plus particulièrement la Vue de déploiement) est détaillé pour refléter la conception actuelle.

Au début de la phase d'élaboration, le vue de déploiement est généralement peu développée mais, à la fin de de l'élaboration, elle doit être bien définie.

Etapes
Analyse des exigences de la distribution
Objet Définir à quel point la distribution est nécessaire pour le système. 

Les exigences de distribution sont décidés par :

  • les besoins de distribution dans le domaine concerné (exigences fonctionnelles) - Il peut y avoir des exigences spécifiques impliquant que le système accède ou utilise un processeur de distribution, une base de données ou un système en vigueur particuliers pour exécuter une partie de sa fonctionnalité.
  • la configuration du déploiement - Les configurations de déploiement spécifiques imposent des contraintes spécifiques à la répartition du système en définissant le nombre et le type de noeuds, ainsi que leurs interconnexions. Par exemple, une configuration de déploiement multiniveau signifie qu'il y a un noeud client, un noeud serveur Web et un noeud serveur de l'application. Le choix d'une configuration de déploiement spécifique se fait généralement lors de la Tâche : analyse architecturale puis est ensuite détaillée durant cette tâche.
  • les ressources obligatoires (exigences non fonctionnelles) - Les fonctionnalités qui requièrent beaucoup de temps et de calculs peuvent demander des configurations logicielles spécifiques et équipées pour traiter les demandes de la fonctionnalité, comme un processeur rapide, beaucoup de mémoire vive ou un grand espace disque. Le traitement numérique du signal demande, par exemple, des processeurs spécialisés et exclusifs.
  • le besoin de tolérance aux pannes (exigences non fonctionnelles) - L'exigence pourrait être d'avoir des processeurs de sauvegarde.
  • les problèmes d'évolutivité et de flexibilité (exigences non fonctionnelles) - Les utilisateurs simultanés sont trop nombreux pour être pris en charge par un seul processeur. Il peut y avoir une exigence concernant le besoin d'équilibrer la fonctionnalité du système, permettant d'obtenir les meilleures performances et une grande évolutivité.
  • les questions financières - Les performances concernant le prix de processeurs plus petits et moins chers ne peuvent être atteintes dans les modèles plus grands.

Comme dans de nombreux problèmes architecturaux, ces exigences peuvent s'exclure mutuellement. Il est courant, du moins au départ, d'avoir des exigences conflictuelles. Classer les exigences par ordre d'importance vous aidera à résoudre ces conflits.

Définition de la configuration du réseau
Objet Définir la configuration et la topologie du réseau. 

Dans cette étape, le modèle de déploiement initial (défini dans Tâche : analyse architecturale) est défini pour prendre en charge les exigences de répartition identifiées lors de l'étape précédente.

La topologie du réseau, les possibilités et les caractéristiques des processeurs et des périphériques du réseau détermineront la nature et le degré de répartition possible dans le système.

Les informations suivantes doivent être enregistrées :

  • l'agencement physique du réseau, incluant les localisations
  • les noeuds réseau, leur configuration et leurs possibilités (la configuration inclut le matériel et le logiciel installés sur les noeuds, le nombre de processeurs, l'espace disque et la quantité de mémoire disponibles, le nombre de protocole SWAP etc.) - le matériel installé sur le noeud peut être représenté utilisant des dispositifs
  • la bande passante de chaque segment du réseau
  • l'existence de chemins redondants sur le réseau (cela aidera à augmenter la tolérance aux pannes)
  • l'objectif premier du noeud, dont :
    • les noeuds du poste de travail utilisés par les utilisateurs
    • les noeuds serveur sur les traitements sans écran qui ont lieu (pour simplifier la configuration du serveur, ses composants peuvent être regroupés dans une image sans écran, qui ne contient pas de composants de l'interface utilisateur)
    • configurations spéciales utilisées pour le développement et les tests
    • autres processeurs spécialisés
  • conception et fonctions du protocole IP (par exemple DNS et VPN), si un réseau IP existe
  • le rôle joué par Internet dans la solution

Exemple

Le diagramme suivant illustre la Vue déploiement du guichet automatique

Diagramme de la Vue déploiement du guichet automatique

Vue déploiement du guichet automatique

Le diagramme illustre deux noeuds : le guichet automatique, qui est l'objet de cet exemple et le serveur du réseau du guichet automatique, à travers lequel toutes les connexions au réseau inter-banques sont faites. Bien que le serveur du réseau du guichet automatique ne soit pas accessible aux concepteurs du guichet automatique, nous le montrons ici pour illustrer la façon dont le bande passante du réseau peut être documentée. Le diagramme indique aussi les processus et les unités d'exécution qui s'exécutent sur le noeud du guichet automatique, sur lequel on revient dans Attribution d'éléments du système aux noeuds.

Remarquez l'utilisation d'annotations pour documenter la capacité du processeur et du réseau. La documentation peut aussi être présentée dans les champs documentation du noeud (ou des périphériques) ; dans ce cas, elle n'est pas affichée dans le diagramme.

Attribution des éléments du système aux noeuds
Objet  Distribuer la charge de travail du système. 

Lors de cette étape, les éléments du système sont attribués aux noeuds définis dans l'étape précédente. Le déploiement peut être décrit d'une perspective logique ou physique.

Le déploiement logique correspond aux éléments logiques(comme des classes, des sous-systèmes ou leurs instances ) mappés à des noeuds. Ils peuvent inclure des unités d'exécution. Par exemple, un déploiement logique peut établir que le sous-système GestionnaireAction est déployé dans le serveur de l'application.

Le déploiement physique correspond aux fichiers mappés aux noeuds. Par exemple, un déploiement physique peut définir que le fichier classe FinEnchères sera déployée dans le serveur 76.

La distribution est une zone où la somme peut être, et est souvent, inférieure à la somme des parties. Tirer de vrais bénéfices de la distribution demande du travail et une planification scrupuleuse. Lorsque vous déciderez quels éléments mappés à quels noeuds, prenez en compte les éléments suivants :

  • la capacité des noeuds (en termes de mémoire et de puissance de traitement)
  • la communication par bande passante (bus, réseau local et réseau longue distance)
  • la disponibilité du matériel et des liaisons de données, la redirection
  • les exigences concernant la redondance et la tolérance aux pannes
  • les exigences concernant le temps de réponse
  • les exigences concernant le rendement

Les éléments sont attribués aux noeuds dans le but de réduire la quantité de trafic sur le réseau ; les éléments qui interagissent beaucoup doivent être placés sur le même noeud. A l'inverse, les éléments qui interagissent peu souvent peuvent résider sur des noeuds différents. Une décision primordiale, impliquant parfois l'itération, est de savoir où tracer la ligne. La distribution des processus entre deux noeuds ou plus demande un examen plus précis des patterns de communication inter-processus du système. Il arrive souvent que l'on pense naîvement que la distribution de traitement permet de répartir le travail entre deux machines. En pratique, si l'on ne prête pas une attention assez grande au processus et aux frontières des noeuds, les communications inter-processus supplémentaires peuvent facilement effacer tous les gains créés par la distribution de la charge de travail.

Exemple

Le précédent diagramme, la Vue déploiement du guichet automatique, illustre pour le noeud du guichet l'attribution sur le noeud de processus. Il y a un processus unique (Guichet automatique principal), qui correspond à trois unités d'exécution différentes (interface client, interface du réseau du guichet automatique et contrôleur du périphérique).

Certains environnements fournissent des mécanismes pour automatiser et/ou simplifier la distribution. Comme :

  • Les grappes : Une grappe est un groupe de serveurs qui agit comme une unité et qui inclut généralement des fonctionnalités comme le basculement et la répartition de la charge de travail. Dans ce cas, la Vue déploiement doit décrire la façon dont les éléments du système sont attribués aux grappes. Elle doit aussi indiquer comment les grappes sont configurer pour mapper des noeuds physiques.
  • Les conteneurs : dans les environnements des composants, comme par exemple J2EE et Microsoft .NET, les composants s'exécutent dans un environnement informatique logique appelé un conteneur. Un conteneur peut être considéré comme un "noeud logique". La Vue déploiement doit décrire la façon dont les éléments du système sont attribués sont déployées dans les conteneurs mais aussi la façon dont on attribue les conteneurs aux noeuds physiques.

L'utilisation de ce type de mécanismes de distribution, ainsi que la façon dont ils doivent être configurés et mappés aux noeuds physiques pour répondre aux exigences de distribution, doivent être documentées comme faisant partie de la vue Déploiement.

Propriétés
Plusieurs occurrences
Commandé par les événements
En cours
Facultatif
Planifié
Réitérable
Plus d'informations