N-Tier

Recommandations issues des principes du génie logiciel durable appliqués à une architecture N-Tier

N-tier L’architecture N-tier organise votre application en couches logiques distinctes en fonction de leur responsabilité. Les couches s’exécutent sur une série de niveaux physiquement séparés qui représentent des ressources de calcul.

En appliquant les principes de l’ingénierie logicielle durable, voici des exemples de changements que vous pouvez apporter à votre architecture N-tier pour l’optimiser pour la durabilité.

Optimisez votre trafic réseau permalink

Reduce the amount of traffic your architecture creates per operation as well as the distance each request and response travels.

  • RĂ©duisez la quantitĂ© de trafic que votre architecture crĂ©e par opĂ©ration ainsi que la distance parcourue par chaque demande et rĂ©ponse.
  • Pensez Ă  utiliser des en-tĂŞtes de mise en cache, qui permettent aux caches de navigateur et aux caches proxy d’avoir suffisamment d’informations pour mettre en cache les assets statiques en toute confiance. La mise en cache des assets statiques au niveau du navigateur ou du proxy permet aux futures demandes de ces assets d’être traitĂ©es par ces caches et rĂ©duit le trafic rĂ©seau vers votre application.
  • Envisagez d’utiliser un CDN pour distribuer les ressources statiques de votre application au plus près de la source d’une demande. Cette rĂ©partition des assets rĂ©duit la distance que toutes les demandes d’assets statiques doivent parcourir sur le rĂ©seau.
  • Dans la mesure du possible, rĂ©duisez la taille et optimisez vos web bundles et vos assets statiques.
    • Pensez Ă  utiliser la compression et la dĂ©compression pour les donnĂ©es que vous transmettez sur le rĂ©seau. La compression et la dĂ©compression nĂ©cessitent gĂ©nĂ©ralement moins d’énergie globale que la transmission de donnĂ©es non compressĂ©es sur le rĂ©seau.

Augmentez votre utilisation des calculs permalink

Mettez à jour la distribution de votre application et des ressources de calcul afin d’utiliser moins de ressources mais avec un taux d’utilisation plus élevé. Cela réduit la quantité d’énergie dépensée par vos ressources de calcul dans un état inactif ou qui gaspillent de l’énergie sans effectuer de travail.

  • i vous utilisez des machines virtuelles pour les ressources de calcul et qu’elles sont peu utilisĂ©es, envisagez de rĂ©duire la taille de ces machines virtuelles pour augmenter ler utilisation. Les machines virtuelles plus petites avec une utilisation plus Ă©levĂ©e consomment gĂ©nĂ©ralement moins d’énergie que les machines virtuelles plus grandes avec une utilisation infĂ©rieure pour la mĂŞme application.
  • Évaluez la migration de votre application vers un PaaS lorsque cela est possible. En règle gĂ©nĂ©rale, les solutions PaaS sont dimensionnĂ©es de manière plus appropriĂ©e pour leur applicationet peuvent exĂ©cuter ces applications avec une utilisation Ă©levĂ©e sur leurs ressources de calcul sous-jacentes.
  • Envisagez d’utiliser des capacitĂ©s de mise Ă  l’échelle automatique ou de rafale pour vos ressources de calcul plutĂ´t que d’allouer statiquement des ressources de calcul pour une capacitĂ© maximale Ă  tout moment. Ces fonctionnalitĂ©s vous permettent d’augmenter et de rĂ©duire vos ressources de calcul en fonction de la demande tout en maintenant une utilisation Ă©levĂ©e de ces ressources de calcul.
  • Si vous avez de nombreuses couches logiques au sein d’un niveau physique, envisagez d’augmenter vos niveaux physiques et de rĂ©organiser l’emplacement d’exĂ©cution de vos couches logiques. Augmenter le nombre de niveaux physiques avec une organisation plus granulaire des couches logiques vous offrent plus de flexibilitĂ© pour mettre Ă  l’échelle les couches logiques indĂ©pendamment. Cette flexibilitĂ© vous permet de maintenir une utilisation Ă©levĂ©e de vos ressources de calcul et d’éviter les couches logiques inactives.

Optimisez votre base de données permalink

L’optimisation de la base de données que vous utilisez ainsi que de la manière dont les données sont stockées peut réduire l’énergie utilisée pour exécuter la base de données ainsi que le temps d’inactivité d’attente pour la fin des requêtes.

  • Assurez-vous d’utiliser la meilleure base de donnĂ©es pour interagir avec votre ensemble de donnĂ©es. Par exemple, si vous exĂ©cutez de nombreuses requĂŞtes relationnelles sur votre ensemble de donnĂ©es, une base de donnĂ©es relationnelle est mieux adaptĂ©e et probablement plus efficace Ă  utiliser qu’une base de donnĂ©es NoSQL.
  • Si aucune base de donnĂ©es n’est conçue pour gĂ©rer toutes les façons dont vous interagissez avec votre ensemble de donnĂ©es, envisagez de conserver des copies redondantes de vos donnĂ©es dans diffĂ©rentes bases de donnĂ©es et d’utiliser chaque base de donnĂ©es pour le sous-ensemble d’interactions le mieux adaptĂ© Ă  cette base de donnĂ©es.
  • Pensez Ă  utiliser index si votre base de donnĂ©es le propose.
  • Envisagez d’évaluer et d’optimiser vos requĂŞtes.
  • Pensez Ă  utiliser un cache de base de donnĂ©es. Dans certains cas, la mise en cache peut rĂ©duire les requĂŞtes redondantes vers la base de donnĂ©es et diminuer la consommation d’énergie de la base de donnĂ©es, en particulier pour les requĂŞtes complexes ou gourmandes en calculs.