Réflexions sur une récente interruption de services

Il peut arriver que les services de Nubo soient temporairement indisponibles. Parfois c’est un problème technique sur les serveurs de la coopérative (que nous nous efforçons de résoudre au plus vite), mais il arrive que le problème soit généralisé au centre de données où sont hébergés les serveurs de Nubo.

Ce jeudi 28 septembre 2023 dernier, par exemple, pendant environ deux heures, les services de Nubo étaient inaccessibles à cause d’un problème au centre de données où sont hébergés nos serveurs. Ce problème était indépendant de notre volonté (matériel défectueux en amont de ce dont nous avons la charge) et ce type d’interruption n’est pas fréquent, de l’ordre de quelques heures par année (soit quelques centièmes de pour cent du temps annuel).

Un évènement rare, mais très contrariant, puisque rien n’est accessible : ni le site, ni les services, ni les courriels ou les synchronisations avec le cloud. Certains services en ligne ont des interruptions moindres, voire inexistantes, alors pourquoi pas Nubo ?

Garantir 100 % de disponibilité demande une redondance totale de tous les services. Un centre de données propose déjà plusieurs redondances : plusieurs lignes le raccordent à internet, plusieurs fournitures d’électricités sont également prévues. Nubo aussi a prévu de la redondance : les services tournent sur un groupe de trois serveurs qui se partagent la charge et se distribuent les données ; si l’un deux devient défectueux ou ne fonctionne plus, les deux autres peuvent être utilisés pour prendre le relai et laisser le temps à l’équipe technique de le réparer ou le remplacer. En cas de besoin, on peut même ajouter un quatrième serveur dans le groupe, par exemple si la croissance des services le demande.

Une redondance complète demanderait d’héberger une copie fonctionnelle des services de Nubo dans un autre centre de données, équipé lui aussi de ses accès au réseau, de ses redondances en alimentation électrique, etc. Cette copie devrait être fonctionnelle, « live », et ne pourrait pas être simplement une sauvegarde, car il faudrait pouvoir basculer dessus immédiatement en cas de coupure au niveau du centre de données principal. Cela engendre des couts supplémentaires (achat de serveurs, location d’un espace dans le centre de données, bande passante suffisante pour assurer une synchronisation en continu des serveurs de Nubo entre les deux centres de données, etc.), mais aussi du temps de travail en plus (configuration, gestion, maintenance, etc.).
Le cout est aussi écologique, on consomme plus de matériel, mais aussi de ressources, car les serveurs « redondants » doivent rester allumés en permanence, pour un usage réel moyen de seulement quelques heures par an, donc inutiles 99,97 % du temps.

Une redondance plus complète préserverait aussi la disponibilité des services d’incidents potentiellement plus graves dans le centre de données (incendies, inondations, enchainements exceptionnels d’incidents…) qui couperaient sur une plus longue période les accès aux serveurs de Nubo. Les données ne seraient pas perdues, car il existe des sauvegardes dans un lieu secondaire, sur un serveur plus modeste, derrière une connexion moins rapide (car il se contente de créer une copie des données, sans dupliquer toute l’architecture nécessaire aux interfaces, logiciels, connexions permanentes de toutes les utilisatrices et utilisateurs, etc.). Mais le temps de réparation dans le centre de données ou de restauration des sauvegardes pourrait, dans ces cas, être beaucoup plus long.

Ne pas avoir de redondance totale, tout en préservant l’intégrité des données, est un choix financier, mais aussi éthique, qu’il faut mettre dans la balance avec les inconvénients que peuvent causer des indisponibilités temporaires des services pour les utilisateurs et utilisatrices.