Juin et l'écologie

Publié le 30/06/2020 et écrit par Vincent Finance, dans la catégorie : #réflexions

Le début du mois de juin marque le retour progressif de l'été et des grosses chaleurs caniculaires, mais aussi l'arrivée tant attendue des congés, de quoi débloquer un peu de temps pour faire autre chose et se remettre tranquillement dans des projets plus littéraires par rapport à ce que j'ai l'habitude de faire en ce moment.

C'est aussi une période propice pour se motiver à changer quelques comportements et à s'investir un peu plus dans une démarche en rapport avec les économies et l'écologie. Je faisais déjà quelques efforts de ce point de vue là, mais l'écologie n'est pas encore un domaine dans lequel je brille, d'autant plus que je ne suis pas un adepte des économies d'énergie lorsqu'il s'agit de mettre en place des services en ligne.
Par exemple, les deux serveurs que j'utilise actuellement sont assez gourmands en énergie et consomment environ 170W d'électricité de manière constante, si on exclut les pics liés à l'écriture de données ou lorsque le serveur est très sollicité. Cela n'est pas du tout négligeable et le prix de ma facture électrique en témoigne (sachant que mon eau chaude et que mon chauffage sont électriques, vous pouvez deviner que cela monte très vite).

Face à ça et vu l'importance de la question, je suis désormais à la recherche d'une alternative plus économe en énergie, tout en ayant la possibilité d'assurer de bonnes performances pour mes services et mon petit site. Ici, on va donc explorer un peu ce qui est envisageable pour mon infrastructure actuelle et voir les quelques possibilités qui sont à ma disposition pour réaliser des économies durant ce mois de juin.

Mise en situation

Avant de réfléchir aux scénarios possibles, il est indispensable d'avoir le contexte et les conditions primaires de mon infrastructure pour bien tout comprendre.

Dans mon cas, j'utilise jusqu'à présent deux serveurs hébergés chez moi et connectés avec de la fibre optique et un serveur virtuel que je loue chez ARN pour faire mes sauvegardes et avoir un relais mail de secours. On a donc trois serveurs indépendants qui servent mon site personnel avec ce blog, le site web de la plateforme AutoMario, un serveur mail complet et quelques services (Nextcloud et Bitwarden pour stocker des mots de passe en ligne). Le premier sert avant tout à héberger le contenu des sites web en question, alors que le deuxième serveur gère les mails et le service de stockage en ligne à lui tout seul.
J'utilise également Docker sur le deuxième serveur pour fournir notamment mon Bitwarden et une instance The Lounge pour me connecter à mes salons IRC favoris.

L'objectif principal ici est donc de regrouper les services sur un seul serveur qui se chargera alors de tout faire fonctionner tout en consommant peu et en restant accessible pour la maintenance que j'aurai à faire dans le futur.
Une autre attente de cette mise à jour matérielle est de ne pas être trop coûteuse, dans le sens où je préfère réutiliser du matériel que j'ai déjà en ma possession ou bien acheter des pièces de seconde main (sauf pour les disques durs pour une question évidente de fiabilité matérielle) pour réduire l'impact environnemental et les dépenses inutiles.

Repenser mon hébergement

La première étape de cette évolution est de revoir l'organisation générale de l'infrastructure.
À bien y regarder, il y a clairement un problème de répartition dans mon installation : j'utilise deux serveurs dédiés pour fournir tout mon contenu, alors que je n'ai pas spécialement beaucoup de trafic sur automario.eu et linuxmario.net. Cela n'est pas viable sur le long terme et cela produit pas mal de nuisances, vu que le serveur d'entreprise que j'ai récupéré fait beaucoup de bruit malheureusement.

De ce fait, j'ai d'abord choisi d'utiliser mon petit serveur de sauvegarde comme espace d'hébergement Web et de migrer tous mes sites dessus pour l'instant. Ainsi, je peux toujours assurer un accès permanent à mon travail le temps de la migration et je peux profiter pleinement de mon petit VPS qui ne servait pas beaucoup jusqu'à maintenant. En plus, il tombe rarement en panne, ce qui est un bon point pour faire fonctionner un site Web de manière continue.

Utiliser un ordinateur plus petit

La seconde étape consiste ensuite à réfléchir aux besoins réels de mon infrastructure et donc de réduire les performances de mon serveur pour atteindre un équilibre raisonnable entre stabilité et consommation raisonnée. L'idée d'utiliser un ordinateur plus petit est donc la suite logique à cette réflexion.

La piste des APU

Si on s'intéresse à la question d'utiliser un PC plus petit pour faire un serveur, un certain type ressort tout de suite : les APU.
Pour faire simple, il s'agit de petites cartes-mères tout-en-un qui sont souvent utilisés dans les box ou les modems-routeurs et qui sont équipés de processeurs moyennement puissants pour gérer le trafic Internet. Ceux qui possèdent un Turris Omnia par exemple savent de quoi je parle. L'idée est très louable et bien pensée : utiliser une carte mère de ce type pour faire un serveur permet de faire beaucoup de choses tout en ayant un PC petit, peu gourmand et silencieux. C'est ce qui a été choisi par mon ami @prx pour héberger son site personnel et son CHATONS.

Néanmoins, le coût d'une carte neuve (environ 200€), ainsi que le faible nombre d'exemplaires disponibles sur des sites d'occasions m'ont poussé à revoir cette option pour trouver du matériel plus adapté pour moi.

Le Raspberry Pi ?

Un autre choix possible pour avoir un serveur économe est d'utiliser un Raspberry Pi ou une carte équivalente. De part sa petite taille et son prix, cela peut être une alternative très intéressante, surtout avec la version 4 de la carte qui peut embarquer jusqu'à 8 Go de RAM. Dans le pire des cas, il est toujours possible pour moi d'utiliser le Raspberry Pi 3 que je possède déjà, dans l'attente d'une mise à niveau future de mon matériel.
Néanmoins, il y a plusieurs désavantages à utiliser un Raspberry Pi comme serveur.
Le premier concerne l'architecture utilisée : certes, les processeurs ARM sont largement capables de faire tourner des serveurs complets, mais tous les logiciels ne sont pas forcément conçus et/ou compilés pour supporter ce type de processeurs, ce qui peut entraîner quelques limitations (même si ce problème se réduit au fur et à mesure).
Un deuxième désavantage a un rapport direct avec le stockage : par défaut, le Raspberry Pi tourne avec une carte SD, un moyen de stockage qui déteste les opérations qui font souvent des écritures et qui peut s'user prématurément en fonction des services que l'on héberge dessus (surtout si on fait du stockage en ligne comme moi). Même s'il est possible d'utiliser une clé USB ou bien un disque dur externe comme support de démarrage après paramétrage, il n'est pas toujours facile de le connecter de manière fiable, dans le sens où l'alimentation utilisée par la carte peut influencer son bon fonctionnement sur le long terme. Un boîtier externe pour disques durs peut éventuellement aider, mais j'ai déjà eu plusieurs mauvaises expériences avec ce type de matériel, donc cela n'est pas viable pour moi pour la stabilité.

Un vieux PC portable !

Au fil des ans et à la suite de deux mises à niveau de mon matériel informatique, j'ai toujours eu un vieux PC portable qui traîne dans un coin de mon armoire. Comme il était devenu trop gros pour mon utilisation quotidienne, je n'ai jamais réussi à lui retrouver une utilité jusqu'à récemment. Il est équipé d'un processeur en 64 bits, de 4 Go de mémoire RAM et il est facile de le démonter pour changer le disque dur par quelque chose de meilleur. Il fonctionne encore très bien et il est parfaitement compatible avec GNU/Linux et les principales distributions BSD que j'ai testées (à savoir FreeBSD, OpenBSD et NetBSD).

Si on se réfère ainsi à ce que je me suis fixé précédemment comme objectifs, alors utiliser ce vieux PC portable semble être la meilleure solution pour moi. Non seulement je peux enfin réutiliser ce vieil ordinateur qui, littéralement, traînait dans mon armoire en étant encombrant, mais en plus, je peux continuer à fournir de manière optimale mes services sans affecter grandement la performance de l'ensemble. D'ailleurs, pour ceux que ça intéresse, le PC portable seul consomme environ 40 W, sachant qu'il est équipé de deux disques durs comme solution de stockage interne, ce qui est assez impressionnant !

Concernant les logiciels que je vais utiliser, je pense rester avec la même base que celle que j'utilise actuellement : un couple Nginx + PHP-FPM pour la partie Web et l'ensemble Postfix + Dovecot + Rspamd pour la partie mail. Pour autant, la seule différence se fera au niveau du système d'exploitation pour utiliser quelque chose de plus léger et de plus sain : après quelques recherches et quelques tests, ce sera OpenBSD qui tournera sur le nouveau serveur.
Les raisons de ce choix ? Simplicité de l'ensemble, base stable avec des logiciels plus récents, une documentation de qualité (j'ai enfin pu apprendre à utiliser vi correctement, juste pour dire !) et une consommation raisonnable en ressources. Que demander de plus ?

La conclusion qui va bien

Pour finir sur une note plus légère, je trouve que cette réflexion personnelle sur la question de la consommation de mon infrastructure n'est qu'un petit pas de plus vers une démarche plus responsable et raisonnée de mon usage du numérique.
Cela traduit plutôt bien une volonté de se diriger vers quelque chose de plus simple et de minimaliste, comme je voulais le sous-entendre dans ce vieil article de mon blog. La seule chose que je trouve dommage est que ce processus ne soit pas intervenu plus tôt, mais bon, mieux vaut tard que jamais, comme le dit le proverbe.

D'autres nouvelles en rapport avec cette tendance devraient arriver bientôt, mais on a encore un peu de temps d'ici là.
Profitez bien du beau temps et du soleil !



Un commentaire à ajouter ?

Pour ajouter votre commentaire, envoyez directement un mail ici