Post Mortem
Référence incident
TSR-577 & TSR-581
Service concerné
Paiements e-commerce en authentification forte (les transactions en frictionless n’étaient pas impactées) entre le 2 octobre 9h et le 3 octobre 10h30.
Paiements e-commerce et magasin le 2 octobre entre 12h26 et 13h05.
Impact client
Hausse d’environ 3% des transactions en erreur 4009 entre le 2 octobre 9h et le 3 octobre 10h30.
Jusqu’à 50% des transactions en erreur 5001 de 12h26 à 13h05 le 2 octobre.
Synthèse de l’incident
- 1er octobre 14h30 : réduction du nombre de serveurs de résolution DNS suite à la baisse de trafic post période estivale.
- 2 octobre 9h : augmentation de la latence de plusieurs services dont celui en charge des authentifications 3DS. Ce service apparaissait en priorité car le timeout de serveurs 3DS est de 3 secondes. Augmentation des timeouts à un niveau bien plus élevé que les jours précédents.
- 2 octobre 12h10 : augmentation forte du trafic accentuant l’effet observé depuis le matin et créant une réaction en chaîne sur l’ensemble de la plateforme.
- 2 octobre 12h14 : redémarrages intempestifs multiples des services opérant le processing.
- 2 octobre 12h26 : forte hausse du nombre d’erreurs 5001.
- 2 octobre 13h05 : redémarrage de tous les services impactés, baisse du trafic et retour à la normale du taux d’erreur 5001.
- 2 octobre 14h56 : ouverture d’un ticket chez notre fournisseur GCP pour apporter des explications à la coupure partielle de 12h26 à 13h05 et aux latences observées depuis 9h.
- 2 octobre 20h-22h30 : multiples actions impliquant l’augmentation des capacités de la plateforme.
- 2 octobre 22h30 : amélioration du service et baisse du taux d’erreur de la plateforme.
- 3 octobre 7h50 : hausse des erreurs et des timeouts liés au traitement batch quotidien, redépassant le seuil des serveurs DNS, les augmentations de capacité de la veille ne s’avérant pas suffisantes.
- 3 octobre 9h25 : nouvelle forte augmentation des capacités de la plateforme.
- 3 octobre 9h50-10h28 : application de la solution préconisée par GCP pour palier à la root cause sur la résolution DNS impliquant de modifier les URL du composant gérant l’authentification 3DS de la plateforme.
- 3 octobre 10h30 : chute du nombre d'erreurs et reprise du service.
- 3 octobre 11h24 : application des modifications sur l’ensemble des URLs de la plateforme.
- 3 octobre 11h25 : augmentation du nombre d'erreurs de la plateforme.
- 3 octobre 11h27 : rollback de la modification.
- 3 octobre 11h40 : application des modifications sur un nombre plus restreints d’URLs.
- 3 octobre 11h41 : augmentation du nombre d'erreurs de la plateforme.
- 3 octobre 11h42 : rollback de la modification. Fin de l’incident.
- 3 octobre 11h45-16h : multiples actions pour assurer la stabilisation de la plateforme de manière pérenne.
Contexte
100% des URLs appelées depuis nos services sont externes au groupe de serveurs auquel le service appartient.
Lors d’une résolution DNS (interrogation d’un serveur DNS pour convertir l’URL en adresse IP) au sein d’un groupe de serveurs, les serveurs DNS locaux sont interrogés en premier avant d’interroger le serveurs DNS externes au groupe de services.
Sur notre plateforme, les URLs ne pouvaient pas être résolues sur les serveurs locaux mais seulement sur les serveurs externes.. Ceci a pour effet d’augmenter le nombre de tentatives de résolutions DNS avant de pouvoir obtenir l’adresse IP correspondante à l’URL.
Root cause
Conjonctions de facteurs entraînant une hausse des appels d’URLs, ce qui entraîne une hausse des tentatives de résolutions DNS, entraînant une latence plus importante et in fine une hausse des timeouts à partir de 9h le 2 octobre. Les facteurs sont les suivants :
- Diminution des capacités de la plateforme, notamment sur le service opérant les résolutions DNS le 1er octobre à 14h30.
- Traitement batch quotidien le matin.
La forte hausse du trafic le 2 octobre vers midi additionnée à la diminution des capacités de la plateforme la veille ont abouti à une réaction en chaîne entraînant l’augmentation des 5001 durant 39 minutes.
Rétablissement du service
Rétablissement des capacités de la plateforme au niveau d’avant réduction du 1er octobre.
Action pour forcer la résolution DNS sur les serveurs externes.
Actions à entreprendre par Payplug
Monitoring de l’incident :
- Ajout de dashboard, de logs et d’alarmes sur la partie résolution DNS.
Complexité à augmenter manuellement et rapidement les capacités de la plateforme :
- Actions sur la configuration pour simplifier le processus d’augmentation des capacités
Survenue de l’incident :
- Simplification de l’architecture en terme d’appels inter-services