Architecture

L'architecture se divise en deux parties principales :
  • l'architecture "physique" qui concerne la définition du matériel à utiliser pour héberger des applications et à laquelle on peut aussi rattacher l'architecture du réseau, bien que certaines architectures logicielles "imposent" presque une certaine architecture matérielle.
  • l'architecture "logicielle" qui concerne la mise en place des logiciels permettant la mise à disposition des applications désirées.

Les deux domaines se rejoignent parfois ou interfèrent fortement car certains choix d'architecture logicielle nécessitent la mise à disposition du matériel approprié :

  • Pour utiliser une architecture logicielle "n tiers" il vaut mieux disposer de plusieurs machines ... bien que l'utilisation de "containers" et de "micro-services" puisse rendre ce paramètre un peu obsolète.
     
  • Pour donner du souffle à certains logiciels, par exemple les bases de données et dans une certaine mesure les serveurs d'application, il faut que le matériel hébergeant le logiciel dispose de :
    1. suffisamment de mémoire.
    2. un/des processeur(s) d'une puissance adéquate.
    3. un système disques adapté à la demande d'entrées/sorties.
    4. un ou plutôt des accès réseau aux performances adéquates.
Les termes utilisés sont en général "imprécis" (suffisamment, adéquate, adapté, performant) pour justifier une connaissance nécessaire de la réalité des matériels et logiciels qui seule permet de réaliser un ensemble où tous les éléments fonctionnent en harmonie ... et donnent la qualité de résultat escomptée.

L'architecture ne doit pas être l'apanage des grandes sociétés (les "grands comptes"), mais peut parfaitement être abordée au sein des PME et PMI pour lesquelles elle peut être une garantie d'un bon rapport coût / satisfaction.

Si l'architecte "informatique" n'est pas un "artiste" il doit être au moins un bon "artisan" à l'aise avec tous ses outils.

NB : on parle aussi quelquefois d'architecture de sécurité, mais la sécurité fait partie des éléments à prendre en compte dans l'architecture matérielle comme dans l'architecture logicielle. Pour bien faire la sécurité doit être prise en compte dés la conception des logiciels jusqu'aux matériels et même à l'usage des logiciels (politique de mots de passe ou politique de sauvegarde par exemple).
Si les données ont un niveau de confidentialité particulier il faudra consacrer une partie de l'étude à une gestion adéquate de cette confidentialité.