Product

Service d’authentification Mailgun : post-mortem de juillet 2018

Retour sur l'interruption du service d'authentification survenue en juillet 2018. En savoir plus...
Image pour Service d’authentification Mailgun : post-mortem de juillet 2018

Cet article a été initialement publié le 18 juillet 2018.

Une légende urbaine ? Une étrange coïncidence ? Peut-être. Ce que nous savons, c’est que ce vendredi 13 n’a pas été une très bonne journée pour nous.

Certains de nos clients ont été affectés par une interruption de service, et nous avons mené une action immédiate pour en déterminer la cause première. Nous souhaitons faire preuve de transparence et prendre le temps de partager les détails de nos conclusions :

Voici ce qu’il s’est passé

Dans le cadre des travaux continus de nos équipes d’ingénierie, plusieurs de nos services internes et externes ont été mis à jour afin de déléguer l’authentification à un service d’authentification centralisé. L’un de ces services mis à jour a été déployé juste après 10 h UTC.

Le vendredi 13 juillet à 11 h UTC, l’équipe d’ingénierie de Mailgun a commencé à recevoir des alertes signalant des problèmes sur plusieurs services. Notre enquête initiale a suggéré que le problème était lié à la modification logicielle publiée plus tôt dans la journée, et nous avons immédiatement entrepris d’annuler cette mise à jour.

La poursuite de l’enquête a révélé que, malgré le retour à la version précédente, nos services d’authentification ne répondaient toujours pas dans les délais impartis. Les services d’authentification (et les services associés) ont été redémarrés, et les systèmes ont commencé à reprendre un fonctionnement normal. À 12 h 44 UTC, tous les services étaient de nouveau entièrement fonctionnels.

Pourquoi cela s’est-il produit ? Qu’avez-vous fait pour y remédier ?

Avant cette mise à jour, nous avions déployé un ensemble de modifications indépendantes sur le service d’authentification. Cela a introduit une latence supplémentaire dans le flux d’authentification et a réduit la vitesse de traitement des requêtes. En raison de la charge supplémentaire générée par la mise à jour de nos services, la file d’attente des requêtes d’authentification s’est allongée plus vite qu’elle ne pouvait être traitée. De plus, les requêtes échouées étaient relancées, ce qui a encore aggravé le problème de charge.

Nous nous sommes efforcés de réduire l’impact et avons pris plusieurs mesures immédiates pour restaurer les services en :

  • réduisant la charge d’authentification par l’annulation de la dernière mise à jour du service
  • supprimant la dépendance circulaire pour réduire la latence
  • redémarrant les services d’authentification pour vider la file d’attente des requêtes

Leçons retenues

L’équipe d’ingénierie de Mailgun a mené une analyse approfondie de la cause première de cet incident, et nous avons identifié plusieurs actions que nous allons entreprendre pour réduire la probabilité de futurs incidents.

En plus des modifications de code et de configuration apportées pour supprimer la latence de réponse inutile, nous sommes également en train de formaliser nos SLO. Cela permettra d’améliorer notre visibilité sur la latence des services et de mettre en place une collecte de données, une surveillance et des alertes plus complètes pour contribuer au respect des SLO.

Nous développons également des outils pour identifier d’éventuels problèmes plus tôt dans le cycle de développement et de publication, afin d’éviter que de tels incidents n’impactent nos clients.

Nous apprécions grandement la compréhension dont ont fait preuve nos clients pendant que nous nous efforcions de résoudre le problème rapidement. Nous nous ferons un plaisir de répondre à toutes vos questions ou préoccupations concernant les comptes affectés. Il vous suffit d’ouvrir un ticket auprès du support pour que notre équipe vous réponde.