Written by

Comme vous le savez peut-être, nous avons décidé dès le lancement d’alwaysdata de redonder nos serveurs principaux dans un second datacenter, en temps réel (via DRBD). Le but était de pouvoir rapidement pallier les pannes graves si besoin, en basculant le cas échéant l’activité sur le second serveur.

Ce système « de secours » a très rarement servi pour une raison simple : nous n’avons quasiment jamais eu des pannes matérielles importantes. Nous avons déjà subi des pannes assez longues, mais elles furent causées soit par des soucis logiciels (notamment la migration difficile vers la nouvelle architecture, en février dernier), soit par des perturbations réseau.

Ce système de redondance présente plusieurs défauts qui se sont révélés au fil du temps. Le premier, c’est que le surcoût engendré est important, puisque nous devons quasiment doubler le nombre de serveurs utilisés. Le deuxième, c’est que notre fournisseur de secours ne propose pas toujours des configurations équivalentes aux serveurs primaires, ce qui engendrerait des problèmes de performances en cas de bascule. Le troisième, c’est que la procédure de bascule est complexe, manuelle, et pas assez testée.

Une migration totale de tous nos serveurs en cas de panne du datacenter ou de son réseau serait donc longue et périlleuse. Or ces derniers jours, notre fournisseur principal a connu des pannes répétées, dont la plus grosse s’est produite samedi soir avec environ 50 minutes de quasi-indisponibilité. Deux autres pannes de 30 et 25 minutes avaient eu lieu en début de mois, heureusement en pleine nuit.

Cela n’impacte pas notre confiance envers notre fournisseur, malgré cette période difficile. Nous avons connu la nôtre en février dernier. Ces épisodes sont acceptables à nos yeux dès lors qu’ils restent rares, que la communication est transparente, et que des mesures sont prises pour que cela ne se reproduise plus.

De notre côté, nous avons commencé dès le mois de juin dernier (avant les indisponibilités récentes, donc) à repenser notre système de redondance pour éliminer les défauts sus-cités. Nous sommes encore en plein développement, mais il nous semblait important, surtout en ce moment, de vous en faire part.

Ce nouveau système repose sur le service EC2 d’Amazon plutôt que des serveurs physiques. Cela nous permet une économie financière substantielle, n’ayant plus besoin de faire tourner des serveurs secondaires 24h/24. Par ailleurs, nous allons travailler sur le processus de bascule afin qu’il soit plus simple, plus automatique.

EC2 va nous permettre également de dupliquer nos serveurs en production en toute simplicité. Cela pourrait servir pour tester des nouveaux déploiements sans risque, simuler des pannes, et d’autres choses sympathiques. Nous aurons l’occasion d’en reparler d’ici là.

Nous espérons mettre ce nouveau système de redondance en production pour la rentrée, mais comme toujours, les dates sont à prendre avec précaution…

Comme vous le savez peut-être, nous avons décidé dès le lancement d’alwaysdata de redonder nos serveurs principaux dans un second datacenter, en temps réel (via DRBD). Le but était de pouvoir rapidement pallier les pannes graves si besoin, en basculant le cas échéant l’activité sur le second serveur.

Ce système « de secours » a très rarement servi pour une raison simple : nous n’avons quasiment jamais eu des pannes matérielles importantes. Nous avons déjà subi des pannes assez longues, mais elles furent causées soit par des soucis logiciels (notamment la migration difficile vers la nouvelle architecture, en février dernier), soit par des perturbations réseau.

Ce système de redondance présente plusieurs défauts qui se sont révélés au fil du temps. Le premier, c’est que le surcoût engendré est important, puisque nous devons quasiment doubler le nombre de serveurs utilisés. Le deuxième, c’est que notre fournisseur de secours ne propose pas toujours des configurations équivalentes aux serveurs primaires, ce qui engendrerait des problèmes de performances en cas de bascule. Le troisième, c’est que la procédure de bascule est complexe, manuelle, et pas assez testée.

Une migration totale de tous nos serveurs en cas de panne du datacenter ou de son réseau serait donc longue et périlleuse. Or ces derniers jours, notre fournisseur principal a connu des pannes répétées, dont la plus grosse s’est produite samedi soir avec environ 50 minutes de quasi-indisponibilité. Deux autres pannes de 30 et 25 minutes avaient eu lieu en début de mois, heureusement en pleine nuit.

Cela n’impacte pas notre confiance envers notre fournisseur, malgré cette période difficile. Nous avons connu la nôtre en février dernier. Ces épisodes sont acceptables à nos yeux dès lors qu’ils restent rares, que la communication est transparente, et que des mesures sont prises pour que cela ne se reproduise plus.

De notre côté, nous avons commencé dès le mois de juin dernier (avant les indisponibilités récentes, donc) à repenser notre système de redondance pour éliminer les défauts sus-cités. Nous sommes encore en plein développement, mais il nous semblait important, surtout en ce moment, de vous en faire part.

Ce nouveau système repose sur le service EC2 d’Amazon plutôt que des serveurs physiques. Cela nous permet une économie financière substantielle, n’ayant plus besoin de faire tourner des serveurs secondaires 24h/24. Par ailleurs, nous allons travailler sur le processus de bascule afin qu’il soit plus simple, plus automatique.

EC2 va nous permettre également de dupliquer nos serveurs en production en toute simplicité. Cela pourrait servir pour tester des nouveaux déploiements sans risque, simuler des pannes, et d’autres choses sympathiques. Nous aurons l’occasion d’en reparler d’ici là.

Nous espérons mettre ce nouveau système de redondance en production pour la rentrée, mais comme toujours, les dates sont à prendre avec précaution…