Überwachung + Lasttests = Vorhersage und keine Fehler

Die IT-Abteilung der VTB musste sich mehrfach mit Notsituationen im Betrieb von Anlagen auseinandersetzen, bei denen die Belastung um ein Vielfaches anstieg. Daher bestand die Notwendigkeit, ein Modell zu entwickeln und zu testen, das die Spitzenlast kritischer Systeme vorhersagen kann. Dazu richteten die IT-Spezialisten der Bank ein Monitoring ein, analysierten Daten und lernten, Prognosen zu automatisieren. Wir verraten Ihnen in einem kurzen Artikel, welche Tools dabei geholfen haben, die Belastung vorherzusagen und ob sie dabei geholfen haben, die Arbeit zu optimieren.

Überwachung + Lasttests = Vorhersage und keine Fehler

Probleme mit hoch ausgelasteten Diensten treten in fast allen Branchen auf, für den Finanzsektor sind sie jedoch kritisch. Zur Stunde Fehler müssen behandelt und verhindert werden, daher wurde die Notwendigkeit der Implementierung eines Predictive-Analytics-Systems noch nicht einmal diskutiert. Es war notwendig, Systeme auf der Grundlage von Überwachungsdaten zu modernisieren.

Analytik auf den Knien

Das Lohn- und Gehaltsabrechnungsprojekt ist eines der heikelsten Projekte im Falle eines Scheiterns. Es ist für Prognosen am verständlichsten, daher haben wir beschlossen, damit zu beginnen. Aufgrund der hohen Konnektivität kann es bei anderen Subsystemen, einschließlich Remote Banking Services (RBS), zu Problemen bei Spitzenlasten kommen. Beispielsweise begannen Kunden, die sich über die SMS über den Geldeingang freuten, diese aktiv zu nutzen. Die Belastung könnte um mehr als eine Größenordnung ansteigen. 

Das erste Prognosemodell wurde manuell erstellt. Wir haben die Uploads des letzten Jahres herangezogen und berechnet, an welchen Tagen die maximalen Spitzen zu erwarten sind: zum Beispiel am 1., 15. und 25. sowie an den letzten Tagen des Monats. Dieses Modell erforderte erhebliche Arbeitskosten und lieferte keine genaue Prognose. Es identifizierte jedoch Engpässe bei der Notwendigkeit, Hardware hinzuzufügen, und ermöglichte eine Optimierung des Geldtransferprozesses durch Vereinbarungen mit Ankerkunden: Um Gehälter nicht auf einmal auszuzahlen, wurden Transaktionen aus verschiedenen Regionen über die Zeit verteilt. Jetzt verarbeiten wir sie in Teilen, die die IT-Infrastruktur der Bank ohne Ausfall „kauen“ kann.

Nachdem wir das erste positive Ergebnis erhalten hatten, gingen wir zur Automatisierung der Prognose über. Ein Dutzend weiterer kritischer Bereiche warteten darauf, an die Reihe zu kommen.

Umfassender Ansatz

VTB hat ein Überwachungssystem von MicroFocus implementiert. Von dort aus übernahmen wir die Datenerfassung für Prognosen, ein Speichersystem und ein Berichtssystem. Tatsächlich war die Überwachung bereits vorhanden, es mussten nur noch Metriken und ein Vorhersagemodul hinzugefügt und neue Berichte erstellt werden. Diese Entscheidung wird vom externen Auftragnehmer Technoserv unterstützt, sodass die Hauptarbeit bei der Umsetzung des Projekts seinen Spezialisten oblag, wir das Modell jedoch selbst gebaut haben. Das Prognosesystem basiert auf Prophet, einem von Facebook entwickelten Open-Source-Produkt. Es ist einfach zu bedienen und lässt sich problemlos in unsere installierten integrierten Überwachungstools und Vertica integrieren. Grob gesagt analysiert das System den Belastungsgraphen und extrapoliert ihn auf Basis von Fourier-Reihen. Es ist auch möglich, bestimmte Koeffizienten pro Tag hinzuzufügen, die aus unserem Modell stammen. Die Messwerte werden ohne menschliches Eingreifen erfasst, die Prognose wird einmal pro Woche automatisch neu berechnet und neue Berichte werden an die Empfänger gesendet. 

Dieser Ansatz identifiziert die wichtigsten Zyklizitäten, zum Beispiel jährlich, monatlich, vierteljährlich und wöchentlich. Gehalts- und Vorschusszahlungen, Urlaubszeiten, Feiertage und Verkäufe – all das wirkt sich auf die Anzahl der Aufrufe der Systeme aus. Es stellte sich beispielsweise heraus, dass sich einige Zyklen überschneiden und die Hauptlast (75 %) der Systeme vom zentralen Bundesdistrikt stammt. Juristische Personen und Einzelpersonen verhalten sich unterschiedlich. Wenn die Belastung durch „Physiker“ relativ gleichmäßig auf die Wochentage verteilt ist (das sind viele kleine Transaktionen), werden bei Unternehmen 99,9 % für die Arbeitszeit aufgewendet, und Transaktionen können kurz sein oder innerhalb weniger Tage abgewickelt werden Minuten oder sogar Stunden.

Überwachung + Lasttests = Vorhersage und keine Fehler

Basierend auf den gewonnenen Daten werden langfristige Trends ermittelt. Das neue System hat gezeigt, dass die Menschen massenhaft auf Remote-Banking-Dienste umsteigen. Jeder weiß das, aber mit einem solchen Ausmaß haben wir nicht gerechnet und zunächst nicht daran geglaubt: Die Zahl der Anrufe bei Bankfilialen nimmt extrem schnell ab, und die Zahl der Ferntransaktionen wächst um genau den gleichen Betrag. Dementsprechend wächst auch die Belastung der Systeme und wird weiter zunehmen. Wir prognostizieren nun die Belastung bis Februar 2020. Normale Tage können mit einem Fehler von 3 % und Spitzentage mit einem Fehler von 10 % vorhergesagt werden. Das ist ein gutes Ergebnis.

Fallstricke

Wie üblich verlief dies nicht ohne Schwierigkeiten. Der Extrapolationsmechanismus unter Verwendung der Fourier-Reihe überschreitet Null nicht gut – wir wissen, dass juristische Personen an Wochenenden nur wenige Transaktionen generieren, aber das Vorhersagemodul erzeugt Werte, die weit von Null entfernt sind. Es war möglich, sie mit Gewalt zu korrigieren, aber Krücken sind nicht unsere Methode. Darüber hinaus mussten wir das Problem lösen, Daten problemlos aus Quellsystemen abzurufen. Das regelmäßige Sammeln von Informationen erfordert erhebliche Rechenressourcen. Daher haben wir mithilfe der Replikation schnelle Caches erstellt und Geschäftsdaten von Replikaten empfangen. Das Fehlen einer zusätzlichen Belastung der Mastersysteme ist in solchen Fällen eine Sperrvoraussetzung.

Neue Herausforderungen

Die einfache Aufgabe, Spitzen vorherzusagen, wurde gelöst: Seit Mai dieses Jahres gab es in der Bank keine überlastungsbedingten Ausfälle, und das neue Prognosesystem spielte dabei eine wichtige Rolle. Ja, es hat nicht gereicht, und nun will die Bank verstehen, wie gefährlich die Spitzen für sie sind. Wir benötigen Vorhersagen anhand von Metriken aus Lasttests, und bei etwa 30 % der kritischen Systeme funktioniert dies bereits, der Rest ist dabei, Vorhersagen zu erhalten. Im nächsten Schritt werden wir die Belastung der Systeme nicht im Hinblick auf Geschäftstransaktionen, sondern im Hinblick auf die IT-Infrastruktur vorhersagen, d. h. wir gehen eine Ebene tiefer. Darüber hinaus müssen wir die Erfassung von Metriken und die Erstellung darauf basierender Prognosen vollständig automatisieren, um uns nicht mit Downloads herumschlagen zu müssen. Daran ist nichts Besonderes – wir kombinieren lediglich Überwachung und Lasttests im Einklang mit globalen Best Practices.

Source: habr.com

Kommentar hinzufügen