.

Chez Fasterize, la transparence est une valeur essentielle et c’est pourquoi nous voulions partager avec nos clients, partenaires et futurs clients notre post mortem suite à l’indisponibilité de notre plateforme mardi 14/01/2014.

Nous pensons que c’est un gage de confiance que de mettre à disposition de chacun ce que nous avons vécu, comment nous l’avons traité et ce que nous en avons tiré comme moyen d’amélioration.

Description de l’incident

Une perte de notre cluster Zookeeper a provoqué une indisponibilité d’une partie de la plateforme. Certains clients ayant des branchements non standards ont constaté des indisponibilités de leur site (erreurs 503).

Faits et timeline

L’équipe a fait une mise en production de correctifs à 12h07.

Lors de cette mise en production, deux serveurs Zookeeper sur trois ont redémarré simultanément à 12h34. Cela a provoqué une perte du quorum de Zookeeper.

Note : En effet, Zookeeper nécessite que la majorité des serveurs du cluster (2 sur 3 dans notre cas) soient disponibles pour que le service fonctionne. Notre installation était conçue pour supporter la perte d’une machine.

L’ensemble des processus connectés à Zookeeper a détecté la perte de connexion et a alors arrêté de servir des requêtes d’optimisation.

Notre système de bascule DNS (basé sur Cedexis) a fonctionné et a redirigé l’ensemble du trafic vers les origines de nos clients (modulo 4 clients mal configurés + le site Fasterize).

En parallèle, les processus du moteur Fasterize ont essayé de rétablir une nouvelle connexion à Zookeeper de 12h34 à 14h39. Cela a provoqué un accroissement soudain de la bande passante et du nombre de connexions vers les serveurs Zookeeper.

A 12h35, notre hébergeur Illiad a détecté l’augmentation brutale de la bande passante et a cru à une attaque. Ils ont coupé l’accès à ces machines par précaution, en les éteignant.

De 12h50 à 15h49, nous avons reçu cinq tickets à notre support relatif à des erreurs 503 visibles sur les sites. Nous avons traité chaque ticket dans les 15 minutes.

A 14h20, suite à l’appel au support technique d’Iliad et à la vérification de l’état des machines arrêtées, nous pouvons redémarrer les deux machines du cluster Zookeeper.

A 14h40, nous redémarrons l’ensemble des processus du moteur Fasterize, le service est de nouveau fonctionnel et les sites redeviennent optimisés.

Quelques métriques

  • Niveaux de sévérité de l’incident : Sévérité 1, arrêt du site non planifié qui affecte un nombre significatif d’utilisateurs
  • Time to detect : 32min
  • Time to resolve : 2h06min

Impacts

Sur nos clients (en terme d’usage et d’image)

Seuls 4 clients ont été impactés lors de l’incident car ils ne bénéficiaient pas de la bascule DNS automatique suite à une mauvaise configuration de leur DNS ou à une configuration DNS particulière. Nous avons traité leur ticket au support dans les 15 minutes.

Sur Fasterize

Le site web www.fasterize.com a été indisponible jusqu’à 13h + propagation DNS. L’enregistrement DNS de www.fasterize.com ne bénéficiait pas encore de la bascule Cedexis.

Contre-mesures

  • Déploiement progressif des serveurs Zookeeper.
  • Correction des domaines mal configurés
  • Mise en place d’une alerte Cedexis en cas de bascule.
  • Rendre le site Fasterize résiliant à l’indisponibilité de la plateforme
  • Rendre visible l’état de la configuration des clients (DNS, branché ou pas, …)
  • Corriger le comportement du moteur Fasterize lors d’une indisponibilité d’une partie de la plateforme, notamment le cluster Zookeeper, pour continuer d’assurer le service
  • Afficher une page d’erreur pour remplacer les pages d’erreur par défaut (avec un lien vers une page “status” et le compte twitter)

Conclusion

Nous sommes désolés pour l’indisponibilité subie par quatre de nos clients suite à cet incident. Néanmoins, cette panne nous a confirmé le bon fonctionnement de notre système de bascule DNS.

Cela nous prouve aussi qu’il ne faut pas relâcher nos efforts pour améliorer encore la résilience de la plateforme et sur la qualité de nos processus de déploiement. Nous y travaillons et vous remercions encore une fois pour votre confiance.

—L’équipe Fasterize