Die IT-Abteilung der VTB sah sich mehrfach mit Notfallsituationen im Betrieb der Systeme konfrontiert, wenn die Last auf diesen erheblich anstieg. Daher entstand die Notwendigkeit, ein Modell zu entwickeln und zu testen, das die Spitzenlast auf kritische Systeme vorhersagen könnte. Zu diesem Zweck richteten die IT-Spezialisten der Bank ein Monitoring ein, analysierten die Daten und lernten, Prognosen zu automatisieren. Welche Tools geholfen haben, die Last vorherzusagen und ob es gelang, die Arbeit mit ihrer Hilfe zu optimieren, erklÀren wir in einem kurzen Artikel.

Probleme mit hochbelasteten Services treten in praktisch allen Branchen auf, sind jedoch im Finanzsektor kritisch. In der Stunde X mĂŒssen alle EinsatzkrĂ€fte bereit sein, und deshalb war es notwendig, im Voraus zu wissen, was passieren könnte, und sogar den Tag zu bestimmen, an dem die Last ansteigen wĂŒrde, sowie zu erkennen, mit welchen Systemen diese konfrontiert werden. Störungen mĂŒssen bekĂ€mpft und verhindert werden, weshalb die Notwendigkeit, ein System fĂŒr vorausschauende Analytik einzufĂŒhren, keineswegs diskutiert wurde. Es war notwendig, die Systeme auf der Grundlage der Monitoring-Daten zu modernisieren.
Analytik im Handumdrehen
Das Gehaltsprojekt ist eines der sensibelsten im Falle eines Ausfalls. Es ist auch am klarsten vorherzusagen, und deshalb wurde damit begonnen. Aufgrund der hohen AbhĂ€ngigkeit konnten in Zeiten von Spitzenlasten auch andere Teilsysteme, einschlieĂlich des Online-Banking (DBO), Probleme haben. Zum Beispiel begannen Kunden, erfreut ĂŒber SMS-Benachrichtigungen ĂŒber GeldeingĂ€nge, aktiv diese zu nutzen. Die Last konnte dabei um mehr als das Zehnfache ansteigen.Â
Das erste Modell fĂŒr die Prognose wurde manuell erstellt. Wir haben die Daten des letzten Jahres ausgewertet und gezĂ€hlt, an welchen Tagen die höchsten Spitzen zu erwarten sind: zum Beispiel am 1., 15. und 25. eines Monats sowie in den letzten Tagen des Monats. Dieses Modell erforderte erhebliche Arbeitsressourcen und lieferte keine genauen Vorhersagen. Dennoch identifizierte es EngpĂ€sse, an denen âHardwareâ hinzugefĂŒgt werden musste, und ermöglichte eine Optimierung des Geldtransfers, indem mit SchlĂŒsselklienten vereinbart wurde, dass die GehĂ€lter nicht âauf einen Schlagâ ausgezahlt werden; die Transaktionen aus verschiedenen Regionen wurden zeitlich gestaffelt. Jetzt bearbeiten wir sie in Teilen, die die IT-Infrastruktur der Bank ohne Probleme âverarbeitenâ kann.
Nachdem wir das erste positive Ergebnis erzielt hatten, gingen wir zur Automatisierung der Prognose ĂŒber. Weitere zehn kritische Punkte warteten auf ihre Bearbeitung.
Integrierter Ansatz
In der VTB wurde das Monitoring-System von MicroFocus implementiert. Von dort haben wir die Datensammlung fĂŒr die Prognose, das Speichersystem und das Berichtsgenerierungssystem ĂŒbernommen. Im Grunde gab es bereits ein Monitoring, es galt nur, Metriken hinzuzufĂŒgen, ein Vorhersagemodul zu integrieren und neue Berichte zu erstellen. UnterstĂŒtzung bietet der externe Dienstleister âTechnoservâ, weshalb die Hauptarbeiten zur Umsetzung des Projekts in der Verantwortung seiner Spezialisten lagen, das Modell haben wir jedoch selbst entwickelt. Das Prognosesystem wurde auf Basis von Prophet erstellt â dieses Open-Source-Produkt wurde bei Facebook entwickelt. Es ist einfach zu bedienen und lĂ€sst sich leicht in die bei uns installierten Monitoring-Tools und Vertica integrieren. Grob gesagt analysiert das System die Auslastung und extrapoliert diese mithilfe von Fourier-Reihen. Es gibt auch die Möglichkeit, bestimmte Koeffizienten fĂŒr die Tage, die aus unserem Modell stammen, hinzuzufĂŒgen. Die Metriken werden ohne menschliches Zutun erfasst, einmal pro Woche wird die Prognose automatisch neu berechnet, neue Berichte werden an die EmpfĂ€nger versendet.Â
Dieser Ansatz identifiziert die wesentlichen Zyklen, zum Beispiel jĂ€hrliche, monatliche, vierteljĂ€hrliche und wöchentliche. Die Auszahlung von GehĂ€ltern und VorschĂŒssen, UrlaubszeitrĂ€ume, Feiertage und Verkaufsaktionen â all dies beeinflusst die Anzahl der Anfragen an die Systeme. Es stellte sich heraus, dass einige Zyklen sich ĂŒberlagern, wobei der Hauptanteil (75%) der Belastung auf den Zentralen Föderalen Bezirk entfĂ€llt. Juristische und natĂŒrliche Personen verhalten sich unterschiedlich. WĂ€hrend die Last von ânatĂŒrlichen Personenâ relativ gleichmĂ€Ăig ĂŒber die Wochentage verteilt ist (viele kleine Transaktionen), fĂ€llt bei Unternehmen 99,9 % auf die Arbeitszeiten, wobei die Transaktionen kurz sein können, aber auch mehrere Minuten oder sogar Stunden in Anspruch nehmen können.

Auf Basis der erhaltenen Daten werden langanhaltende Trends bestimmt. Das neue System hat aufgezeigt, dass viele Menschen in die digitale Bankenwelt wechseln. Das ist allgemein bekannt, aber mit einem solchen Ausmaà hatten wir nicht gerechnet und anfangs daran nicht geglaubt: Die Anzahl der Anfragen in den Bankfilialen sinkt extrem schnell, und genauso steigt die Anzahl der Online-Transaktionen. Dementsprechend wÀchst auch die Belastung der Systeme und wird weiter wachsen. Derzeit prognostizieren wir die Belastung bis Februar 2020. Normale Tage können wir mit einer Abweichung von 3 % vorhersagen, Spitzenzeiten mit einer Abweichung von 10 %. Das ist ein gutes Ergebnis.
Herausforderungen
Wie gewohnt gab es einige Schwierigkeiten. Der Extrapolationsmechanismus unter Verwendung von Fourier-Reihen hat Probleme, wenn er nahe null geht â wir wissen, dass an Wochenenden juristische Personen wenig Transaktionen generieren, aber das Vorhersagemodul gibt Werte weit von null aus. Man hĂ€tte sie manuell korrigieren können, aber das ist nicht unsere Methode. AuĂerdem musste das Problem der schmerzlosen Datenerfassung von den Quellsystemen gelöst werden. Die regelmĂ€Ăige Datensammlung erfordert erhebliche Rechenressourcen, deswegen haben wir schnelle Caches mit Hilfe von Replikation aufgebaut und erhalten GeschĂ€ftsdaten bereits von Replikaten. Das Fehlen zusĂ€tzlicher Last auf den Master-Systemen in solchen FĂ€llen ist eine zwingende Anforderung.
Neue Herausforderungen
Die im Vorfeld gestellte Aufgabe zur Vorhersage von Spitzen wurde gelöst: Seit Mai gab es im Zusammenhang mit Ăberlastungen keinen Systemausfall in der Bank, und das neue Prognosesystem hat dabei eine nicht unwesentliche Rolle gespielt. Ja, es war nicht ausreichend, und jetzt möchte die Bank verstehen, wie gefĂ€hrlich die Spitzen fĂŒr sie sind. Wir benötigen Prognosen unter Verwendung von Metriken aus Lasttests, und ungefĂ€hr 30 % der kritischen Systeme funktionieren bereits damit, die anderen befinden sich im Prozess der Prognoseerstellung. In der nĂ€chsten Phase planen wir, die Last auf den Systemen nicht in GeschĂ€ftstransaktionen, sondern in Bezug auf die IT-Infrastruktur zu prognostizieren, d. h. wir werden auf eine tiefere Ebene gehen. AuĂerdem mĂŒssen wir die Erfassung der Metriken und die Erstellung von Prognosen vollstĂ€ndig automatisieren, um uns nicht mit Exporten befassen zu mĂŒssen. Darin gibt es nichts AuĂergewöhnliches â wir verknĂŒpfen einfach Monitoring und Lasttests gemÀà den besten internationalen Praktiken.
Quelle: habr.com
