Depuis que nous avons commencé à mesurer notre demande énergétique, nous avons également développé des concepts pour améliorer l’efficacité énergétique. Personnaliser nos propres machines, au-delà du simple logiciel, semble une évidence, mais c’est plus facile à dire qu’à faire.
Tout d’abord, il a fallu déterminer sur quel matériel nous voulions nous appuyer. La plupart des fournisseurs cloud commencent avec des machines de charge lourde et optimisent pour la charge de pointe. Notre configuration était différente et nous voulions agir sur le bas de gamme, pas le haut de gamme. Cela signifiait que les serveurs traditionnels n’étaient pas vraiment concernés par cette tâche. En regardant sur le marché, quelque chose entre une machine ARM ou RISC-V au format réduit semblait un choix évident.
Malheureusement, intégrer ces machines dans une configuration plus serveur demande pas mal de préparations. De plus, nous avons constaté que deux caractéristiques manquaient à toutes ces configurations.
Un type de machine qui correspond presque parfaitement à ces caractéristiques est le notebook. Ces machines ont généralement un petit format déjà optimisé pour la consommation d’énergie. De plus, elles disposent de leur propre batterie. Le problème ici, c’est que les notebooks contiennent beaucoup de matériel (clavier, écran, pavé tactile) dont nous n’avons pas besoin. Nous avons donc commencé à chercher des fournisseurs de notebooks bare-bone pour pouvoir commencer les évaluations.
Cela nous a menés à frame.work. Framework est un fournisseur de notebooks qui vend des machines très personnalisables et réparables. Nous avions aussi déjà un notebook Framework que nous pouvions reconfigurer pour nos expériences.
Après avoir testé notre installation avec le notebook Framework existant, nous avons commandé 2 autres « machines ». En fait, nous avons essentiellement commandé la carte mère (i5 13e gen) avec un peu de mémoire, un SSD et une batterie.
L’assemblage consistait simplement à visser les composants sur une plaque de base et à la connecter à l’alimentation. Pour le réseau, nous utilisons le WiFi. Voici une photo de la façon dont nous avons assemblé la machine dans notre atelier.

Après avoir configuré le matériel, nous avons commencé à étudier le logiciel. Notre configuration de base nécessite Linux, mais nous n’avions pas encore choisi de fournisseur ou version spécifique. Nous avons donc commencé avec Fedora, puisque c’était aussi le logiciel utilisé sur notre notebook d’exemple. Malheureusement, nous avons vite découvert qu’une installation non supervisée sur une machine sans écran ni clavier, et sans réseau (puisque nous ne pouvions pas configurer le WiFi) était assez compliquée. Pour ne pas perdre trop de temps sur ce problème, nous avons opté pour l’installation de Fedora sur notre notebook d’exemple, puis simplement cloné le SSD sur les deux nouvelles machines. Ainsi, nous avons pu construire un système de base avec clavier et écran connectés, et préconfigurer le réseau et SSH selon les besoins. Une fois que nous avons obtenu les SSD clonés, nous les avons simplement vissés dans nos hôtes et branchés à l’alimentation.


Après le premier démarrage, nous avons commencé à étudier le problème de la surveillance de la consommation. Au début, nous pensions pouvoir augmenter la capacité de la batterie en branchant une autre batterie commercialement disponible sur le port USB-C. Malheureusement, cela n’a pas fonctionné. C’était très instable car le pack batterie ne fournissait pas assez d’énergie pour que le notebook charge pendant qu’il fonctionnait. Nous avons donc dû abandonner cette partie du projet. Il nous restait la batterie 55Wh incluse avec le Framework.
Comme mentionné précédemment, nous voulions que ces machines fonctionnent/consomment de l’énergie uniquement lorsque nous générons effectivement de l’électricité avec nos panneaux solaires. Nous avions donc besoin d’une prise de courant externe capable à la fois de mesurer et de couper/rétablir l’alimentation. Nous avons opté pour des CloudFree Power Plugs, mais nous en reparlerons plus tard. L’important ici est que ces appareils disposent d’une API locale pour la mesure de la consommation et l’interrupteur marche/arrêt.
Nous avons maintenant le matériel configuré. Le logiciel est aussi en place. Essayons de faire fonctionner ces machines et de commencer à optimiser des éléments comme le cycle de charge, les niveaux de consommation, etc. Pour le moment, nous les utiliserons comme nœuds de calcul asynchrones pour apporter plus de puissance de calcul à notre infrastructure.