Comment expliquer une chose abstraite avec des mots simples ?
Énergie informatique
Qu’est-ce que l’énergie informatique ?
En voilà un concept. Pour être plus précis, il s’agit plutôt d’un méta-concept, regroupant différents concepts. Mmh. Ok. Si un prof devait résumer l’énergie informatique à ses élèves, il pourrait dire qu’il s’agit de “l’ensemble des moyens mis en oeuvre pour permettre à une application ou un site web de fonctionner de façon optimale.”
Pour illustrer le concept d’énergie informatique, nous prendrons l’exemple d’un moteur thermique (ex: celui d’une voiture). Ce dernier jouera le même rôle qu’une application ou qu’un site web.
Il existe differents types de moteurs, allant du moteur basique à la conception presque archaïque aux moteurs les plus performants (comprenez des sites/applications avec des besoins hétérogènes). En fonction des performances demandées, le carburant sera différent: là ou une voiture de tourisme se contentera d’un carburant classique, un bolide de course aura besoin d’un carburant plus raffiné, voir d’additifs, en partie à cause d’une mécanique plus pointue. Bien, vous commencez à comprendre le rôle de l’énergie informatique. Mais dans les deux cas, il est inutile de contruire un véhicule avec un réservoir énorme car cela sera plus onéreux à l’achat et surtout les capacité de ce résevoir ne seront jamais exploitées. Comprenez par là qu’il est inutle d’investir dans un serveur qui ne sera pas exploité (oui, le cloud n’est jamais très loin).
Maintenant, peu importe le type de moteur. Imaginez vous rouler sur l’autoroute, à une vitesse de croisière assez raisonnable pour profiter du paysage bucolique et épargner des arrêt trop fréquents à la pompe. C’est le cas d’un site ou d’une app sans réelle saisonnalité ou sans variation de trafic. Dans ce cas, la consommation d’énergie informatique reste stable et peut même être facilement estimée.
Imaginons désormais que la quiétude de votre trajet vient d’être rompue. Soit un bouchon se profile à l’horizon, réduisant votre vitesse de croisière à néant, soit un ersatz hybride d’Ayrton Senna et de Steve McQueen vient de vous doubler à tombeaux ouvert, ravivant au fond de vous la flamme de la compétition. Il n’en fallait pas plus pour écraser votre pédale d’accélérateur et engloutir votre réservoir en quelques kilomètres.
C’est ce qui peut arriver en cas de forte saisonnalité, de période de soldes ou bien encore lors de ce que l’on apelle “l’effet Techcrunch”. La charge augmente subitement, sur une période plus ou moins longue.
L’énergie informatique est donc tout ce que “consommera” votre appllication pour fonctionner et pour résister à n’importe quelle charge.
On parle de charge lorsqu’un nombre important d’utilisateurs/visiteurs se rendent sur votre application/site web, augmentant instantanément la consommation en énergie informatique.
La scalabilité est la capacité à ajuster la provision de ces ressources avec la charge qui leur est imposée.
De la gestion de cette scalabilité dépendra les performances globales des applications.
Enfin, le dernier paramètre à prendre en compte pour comprendre le concept d’énergie informatique est les instances, qui sont des VM (virtual machines) qui hébergent et font tourner le code des applications. Elles existent en 3 tailles (les flavors chez Clever Cloud) représentant différents niveaux de capacité
Enfin, pour clôturer cette approche de l’énergie informatique, nous aborderons le concept d’instances qui sont des VM (virtual machines). Pour reprendre notre schéma de l’automobile, nous avions donc l’énergie informatique, représentée par le carburant, qui se chargeait de fournir l’énergie nécessaire à l’app, ici le moteur. Pour poursuivre cette métaphore, les instances seront représentés par les injecteurs, chargés de transmettre le carburant au moteur (et donc pour les instances de fournir l’app en énergie informatique). Chaque injecteur/instance a une capacité limité. En clair, si le moteur fonctionne plus rapidement et vient à manquer de carburant, il faudra augmenter le nombre d’injecteurs. C’est exactement ce qu’il se passe avec les instances. À la différence près qu’augmenter le nombre d’instances ne nécessite pas forcément un passage par la case “garage” puisqu’en choisissant l’auto-scale pour une application, le nombre d’instances s’ajuste automatiquement.