Product
Mailgun-Authentifizierungsservice: Post-Mortem Juli 2018
Dieser Beitrag wurde ursprünglich am 18. Juli 2018 veröffentlicht.
Stoff für urbane Legenden? Ein unheimlicher Zufall? Vielleicht. Was wir wissen, ist, dass der vergangene Freitag, der 13., kein guter Tag für uns war.
Einige unserer Kunden waren vom Ausfall betroffen, und wir haben sofort Maßnahmen ergriffen, um die Grundursache zu ermitteln. Wir möchten transparent sein und uns einen Moment Zeit nehmen, um die Details unserer Erkenntnisse zu teilen:
Das ist passiert
Im Rahmen der laufenden Arbeiten unseres Entwicklungsteams wurden mehrere interne und externe Services aktualisiert, um die Authentifizierung an einen zentralen Authentifizierungsservice zu delegieren. Einer dieser aktualisierten Services wurde kurz nach 10:00 Uhr UTC bereitgestellt.
Am Freitag, den 13. Juli, um 11:00 Uhr UTC erhielt das Entwicklungsteam von Mailgun erste Warnungen über Probleme mit mehreren Services. Unsere anfänglichen Untersuchungen deuteten darauf hin, dass das Problem mit dieser früher am Tag veröffentlichten Softwareänderung zusammenhing. Wir leiteten umgehend Maßnahmen ein, um ein Rollback für dieses Release durchzuführen.
Weitere Untersuchungen ergaben, dass unsere Authentifizierungsservices trotz des Rollbacks immer noch nicht rechtzeitig reagierten. Die Authentifizierungsservices (und damit verbundene Services) wurden neu gestartet, und die Systeme nahmen den normalen Betrieb wieder auf. Gegen 12:44 Uhr UTC waren alle Services wieder voll funktionsfähig.
Warum ist das passiert? Was haben wir dagegen unternommen?
Vor diesem Release hatten wir eine unabhängige Reihe von Änderungen am Authentifizierungsservice bereitgestellt. Dies führte zu einer zusätzlichen Latenz im Authentifizierungsablauf und verringerte die Geschwindigkeit, mit der Anfragen bearbeitet werden konnten. In Kombination mit der zusätzlichen Auslastung durch unsere aktualisierten Services wuchs die Warteschlange der Authentifizierungsanfragen schneller, als sie bearbeitet werden konnten. Darüber hinaus wurden fehlgeschlagene Anfragen erneut versucht, was das Auslastungsproblem weiter verschärfte.
Wir arbeiteten daran, die Auswirkungen zu verringern, und ergriffen mehrere Sofortmaßnahmen zur Wiederherstellung der Services, indem wir:
- die Authentifizierungslast reduzierten, indem wir den zuletzt aktualisierten Service zurücksetzten
- die zirkuläre Abhängigkeit auflösten, um die Latenz zu verringern
- die Authentifizierungsservices neu starteten, um den Rückstau an Anfragen zu beseitigen
Erkenntnisse
Das Entwicklungsteam von Mailgun hat eine umfassende Ursachenanalyse dieses Vorfalls durchgeführt, und wir haben mehrere Maßnahmen identifiziert, die wir ergreifen werden, um die Wahrscheinlichkeit zukünftiger Vorfälle zu verringern.
Zusätzlich zu den Code- und Konfigurationsänderungen zur Beseitigung unnötiger Antwortlatenzen sind wir dabei, SLOs zu formalisieren. Dies wird dazu beitragen, unsere Transparenz bezüglich der Servicelatenz zu erhöhen und eine umfassendere Datenerfassung, Überwachung und Warnungen einzuführen, um die Durchsetzung der SLOs zu unterstützen.
Wir entwickeln außerdem Tools, um potenzielle Problembereiche früher im Entwicklungs- und Releasezyklus zu erkennen, damit sich solche Vorfälle nicht auf unsere Kunden auswirken.
Wir danken unseren Kunden für das Verständnis, während wir an einer schnellen Lösung des Problems gearbeitet haben. Wir beantworten gerne alle Fragen oder Bedenken bezüglich betroffener Konten. Öffnen Sie einfach ein Support-Ticket, und unser Team wird sich bei Ihnen melden.