- PagerDuty /
- Blog /
- Nicht kategorisiert /
- End-to-End-Tests für SMS-Anbieter: So stellen wir sicher, dass SMS-Benachrichtigungen zugestellt werden.
Blog
End-to-End-Tests für SMS-Anbieter: So stellen wir sicher, dass SMS-Benachrichtigungen zugestellt werden.
Zuverlässigkeit ist uns wichtig. Wir sogar Jeden Freitag sollten wir Fehler in unsere Systeme einbauen. Um es zu beweisen. Doch wenn es um den Versand von Benachrichtigungen geht, reicht fehlerfreier Code allein nicht aus. Wir sind auf mehrere Drittanbieter angewiesen, um unsere Kunden mit Benachrichtigungen zu versorgen. Wenn eine SMS nicht zugestellt wird, erhalten Sie keine Benachrichtigung über eine Störung. Wir können nicht einfach den Kopf in den Sand stecken und behaupten, es läge an Ausfällen unserer Anbieter. Das ist nicht akzeptabel. Wir brauchen eine Möglichkeit, Ihnen sicherzustellen, dass Sie Ihre Benachrichtigungen in jedem Fall erhalten.
Anfangs sorgten wir mit Redundanz für Zuverlässigkeit bei unseren Anbietern. Wir arbeiten mit mehreren Anbietern zusammen, die uns bei der Zustellung unserer SMS-Benachrichtigungen an unsere Kunden unterstützen. Redundanz ist wichtig und wird auch weiterhin so gehandhabt. Wir waren jedoch der Meinung, dass wir uns noch weiter verbessern können.
In den letzten vier Monaten haben wir End-to-End-SMS-Anbietertests eingeführt, um proaktiv Verzögerungen oder Ausfälle unserer Anbieter zu erkennen, selbst wenn deren öffentliche Statusseiten veraltet sind. Wir stellten häufig fest, dass unsere Anbieter zwar die volle Verfügbarkeit ihrer Systeme anzeigten, SMS-Nachrichten aber nicht ankamen – selbst mit Zustellbestätigungen. Mithilfe der End-to-End-Anbietertests können wir die Reihenfolge unserer primären, sekundären und tertiären Anbieter schnell anpassen, um sicherzustellen, dass die Benachrichtigungen unserer Kunden nicht durch unerwartete Ausfälle unserer Drittanbieter beeinträchtigt werden. Vor der Einführung dieser Tests waren wir gezwungen, den Angaben unserer Anbieter zu vertrauen und entsprechend zu reagieren.
Wie wir End-to-End-SMS-Anbietertests durchführen
Wir testen unsere SMS-Anbieter kontinuierlich. Für unsere Kurzwahlnummern versenden wir alle zwei Minuten eine Test-SMS, während wir die Frequenz für unsere seltener genutzten Langwahlnummern variieren. Um die Tests durchzuführen, senden wir uns den ganzen Tag über Benachrichtigungen von jedem unserer Anbieter. Wir können messen, wie lange es dauert, bis die Nachricht zugestellt wird, und so feststellen, ob ein Anbieter verfügbar ist (und wie gut er funktioniert). Anschließend entscheiden wir, ob wir die Nutzung unserer Anbieter einschränken oder fördern sollten.
Wie wir End-to-End-SMS-Provider-Tests automatisieren
-
Aktuell bieten wir drei Android-Smartphones mit unterschiedlichen Mobilfunknetzen an: AT&T, Verizon und T-Mobile. (Sprint wird in Kürze hinzukommen.)
-
Mithilfe unserer intern entwickelten Android-App für dieses Testsystem senden wir Test-SMS-Benachrichtigungen von unserem System an jedes unserer Android-Telefone im Round-Robin-Verfahren.
-
Mithilfe von Datadog berechnen wir die Zeit, die jede SMS benötigt, um das vorgesehene Testtelefon zu erreichen, und wie lange unsere Test-App benötigt, um uns zu antworten.
-
Anhand von Messungen ermitteln wir, ob ein Provider ausgefallen oder beeinträchtigt ist, und ergreifen dann die entsprechenden Maßnahmen.
Wir betrachten einen Anbieter als unzureichend, wenn die SMS-Zustellungsverzögerung mehr als 3 Minuten beträgt oder wenn bei den letzten beiden Versuchen über jedes Mobilfunknetz keine SMS empfangen wurde. In diesem Fall wird unser Team benachrichtigt und wechselt den Anbieter, um sicherzustellen, dass unsere Kunden keine SMS-Benachrichtigungen verpassen.
Die Zukunft des End-to-End-Testings von SMS-Anbietern
Aktuell erfolgt die Umstellung der Priorität unserer SMS-Anbieter manuell. Wir erhalten eine Benachrichtigung über eine eingeschränkte Verfügbarkeit eines Anbieters und reagieren entsprechend. Zukünftig werden wir diesen Prozess durch ein probabilistisches Modell automatisieren und auf Benachrichtigungen über ausgefallene Anbieter verzichten.
Dieser Prozess ermöglicht es unserem Team, relevante Warnmeldungen von unseren Testsystemen zu erhalten, sodass wir nicht für verschiedene Ressourcen unterschiedliche Warnmeldungen einrichten müssen, um über Probleme informiert zu sein. Dadurch reduziert sich die Anzahl der Benachrichtigungen, die unser Bereitschaftstechniker erhält, sodass wir uns ungestört auf die Problemlösung und Prozessoptimierung konzentrieren können.
Wir bei PagerDuty legen weiterhin größten Wert auf Zuverlässigkeit. Durch unsere Tests und Automatisierungsprozesse stellen wir nicht nur die Verfügbarkeit unseres Produkts sicher, sondern gewinnen auch wertvolle Erkenntnisse über den Zustand der Systeme, mit denen wir uns verbinden. Wir verfügen über fundierte Kenntnisse der Leistung unserer Mobilfunkanbieter, ohne auf externe Berichte angewiesen zu sein. So können wir proaktiv handeln und Ihnen ein herausragendes PagerDuty Erlebnis bieten.