IT oddělení VTB se několikrát potýkalo s nečekanými situacemi v práci systémů, kdy jejich zátěž mnohonásobně vzrostla. Proto se objevila potřeba vyvinout a otestovat model, který by předpovídal špičkovou zátěž na kritické systémy. K tomu IT specialisté banky nastavili monitorování, analyzovali data a naučili se automatizovat předpovědi. Jaké nástroje pomohly předpovědět zátěž a podařilo se jejich pomocí optimalizovat provoz, to si povíme v krátkém článku.

Problémy s vysoce zatíženými službami se objevují prakticky ve všech odvětvích, ale pro finanční sféru jsou kritické. V hodinu X musí být všechny bojové jednotky připraveny, a proto bylo nutné vědět předem, co se může stát a dokonce určit den, kdy vzroste zátěž, a které systémy se s ní setkají. S výpadky je třeba bojovat a předcházet jim, proto se potřeba implementace systému prediktivní analytiky ani neprováděla. Bylo nutné modernizovat systémy na základě dat monitorování.
Analytika na koleni
Mzdový projekt je jedním z nejcitlivějších v případě výpadku. Je také nejjasnější pro předpovídání, a proto se rozhodli začít právě s ním. Kvůli vysoké provázanosti mohly mít v okamžicích špičkové zátěže problémy i další podsystémy, včetně dálkového bankovnictví (DBO). Například zákazníci, potěšení SMS zprávami o přijetí peněz, začali aktivně využívat své prostředky. Zátěž v tomto případě mohla vzrůst více než o řád.
První model pro předpověď jsme vytvářeli ručně. Vzali jsme výstup za poslední rok a spočítali, v jaké dny očekáváme maximální vrcholy: například 1., 15. a 25. den, stejně jako v posledních dnech v měsíci. Tento model vyžadoval značné pracovní úsilí a nedával přesnou předpověď. Nicméně odhalil slabá místa, kde bylo třeba přidat „hardware“, a umožnil optimalizovat proces převodu peněz, dohodnutím se s klíčovými klienty: abychom nedávali mzdu „najednou“, transakce z různých regionů jsme rozložili v čase. Nyní je zpracováváme po částech, které IT infrastruktura banky dokáže „strávit“ bez výpadků.
Poté, co jsme získali první pozitivní výsledek, jsme přešli k automatizaci předpovědí. Na svůj řad čekalo ještě desítky kritických oblastí.
Komplexní přístup
V BTV byla implementována monitorovací systém společnosti MicroFocus. Odtud jsme vzali sběr dat pro předpovědi, systém úložišť a systém generování zpráv. V podstatě už existoval monitorovací systém, zbývalo jen přidat metriky, predikční modul a vytvořit nové zprávy. Toto řešení podporuje externí dodavatel 'Tekhnoserv', takže hlavní práce na realizaci projektu ležely na jeho specialisty, ale model jsme vytvářeli samostatně. Systém predikce byl postaven na základě Prophet – tento otevřený produkt byl vyvinut ve Facebooku. Je snadno použitelný a snadno se integruje s námi zavedenými prostředky komplexního monitorování a Vertica. Zjednodušeně řečeno, systém analyzuje křivku zatížení a na základě Fourierových řad provádí její extrapolaci. Existuje také možnost přidávat určité koeficienty podle dnů, které jsme vzali z našeho modelu. Metriky se zaznamenávají bez účasti člověka, jednou týdně se předpověď automaticky přepočítá a nové zprávy jsou rozesílány adresátům.
Takový přístup odhaluje hlavní cykly, například roční, měsíční, čtvrtletní a týdenní. Výplata mezd a záloh, období dovolených, svátky a výprodeje – to všechno ovlivňuje počet požadavků na systémy. Zjistilo se například, že některé cykly se překrývají, a hlavní zátěž (75 %) na systémy pochází z Centrálního federálního okruhu. Právnické a fyzické osoby se chovají různě. Zatímco zátěž od 'fyzických' osob je ve srovnání rovnoměrně rozložena po dnech v týdnu (to zahrnuje mnoho drobných transakcí), u firem 99,9 % připadá na pracovní dobu, přičemž transakce mohou být krátké, ale mohou se také zpracovávat během několika minut a dokonce hodin.

Na základě získaných dat se určují dlouhé trendy. Nový systém ukázal, že lidé masově odcházejí do DBO. To je známo všem, ale takové rozměry jsme nečekali a zpočátku jsme tomu nevěřili: počet návštěv v kancelářích banky se extrémně rychle snižuje, a právě v takovém rozsahu roste počet vzdálených transakcí. Odpovídajícím způsobem se zvyšuje i zátěž na systémy a dále poroste. Nyní prognózujeme zátěž do února 2020. Normální dny se dají předpovědět s chybou 3 %, a špičkové s chybou 10 %. To je dobrý výsledek.
Úskalí
Bez obtíží, jak se říká, se to neobešlo. Mechanismus extrapolace s využitím Fourierových řad špatně přechází přes nulu — víme, že o víkendech právnické osoby generují málo transakcí, ale modul predikce vydává hodnoty daleko od nuly. Mohli bychom je opravit násilně, ale to není náš styl. Kromě toho jsme museli vyřešit problém bezbolestného sběru dat z systémů-škrtů. Pravidelný sběr informací vyžaduje značné výpočetní zdroje, proto jsme vybudovali rychlé cache s využitím replikace, obchodní data už získáváme z replik. Absence dodatečné zátěže na hlavní systémy v takových případech je klíčovou podmínkou.
Nové výzvy
Úkol předpovědět špičky byl zcela vyřešen: od května tohoto roku nebyly v bance žádné poruchy spojené s přetížením a nový systém predikce v tom sehrál nezanedbatelnou roli. Ano, ukázalo se, že to nestačilo, a nyní chce banka pochopit, jak nebezpečné špičky pro ni jsou. Potřebujeme prognózy s využitím metrik zatěžovacího testování, a pro přibližně 30 % kritických systémů to již funguje, ostatní jsou v procesu získávání prognóz. V dalším kroku se chystáme předpovědět zátěž na systémy ne ve obchodních transakcích, ale v termínech IT infrastruktury, tj. sestoupíme na vrstvu níže. Kromě toho potřebujeme plně automatizovat sběr metrik a sestavování prognóz na jejich základě, abychom se nemuseli zabývat exporty. Na tom není nic výjimečného — jednoduše kombinujeme monitorování a zatěžovací testování podle nejlepších světových praktik.
Zdroj: habr.com
