Monitorovanie + testovanie záťaže = predpoveď a žiadne zlyhania

IT oddelenie VTB muselo niekoľkokrát riešiť havarijné stavy pri prevádzke systémov, kedy sa ich zaťaženie mnohonásobne zvýšilo. Preto bolo potrebné vyvinúť a otestovať model, ktorý by predpovedal špičkové zaťaženie kritických systémov. Za týmto účelom IT špecialisti banky nastavili monitoring, analyzovali dáta a naučili sa automatizovať predpovede. Ktoré nástroje pomohli predpovedať záťaž a či pomohli optimalizovať prácu, vám prezradíme v krátkom článku.

Monitorovanie + testovanie záťaže = predpoveď a žiadne zlyhania

Problémy s vysoko zaťaženými službami vznikajú takmer vo všetkých odvetviach, no pre finančný sektor sú kritické. V hodine X musia byť všetky bojové jednotky pripravené, a preto bolo potrebné vopred vedieť, čo sa môže stať a dokonca určiť deň, kedy náklad naskočí a ktoré systémy sa s ním stretnú. Poruchy je potrebné riešiť a predchádzať im, takže o potrebe implementácie prediktívneho analytického systému sa ani nehovorilo. Bolo potrebné modernizovať systémy na základe údajov z monitorovania.

Analytika na kolenách

Mzdový projekt je jedným z najcitlivejších v prípade neúspechu. Pre prognózovanie je najzrozumiteľnejšia, preto sme sa rozhodli s ňou začať. V dôsledku vysokej konektivity môžu iné podsystémy, vrátane vzdialených bankových služieb (RBS), zaznamenať problémy v čase špičkového zaťaženia. Napríklad klienti, ktorých potešila SMS o prijatí peňazí, ju začali aktívne využívať. Náklad by mohol vyskočiť o viac ako rád. 

Prvý predpovedný model bol vytvorený ručne. Zobrali sme uploady za posledný rok a vypočítali, v ktoré dni sa očakávajú maximálne maximá: napríklad 1., 15. a 25., ako aj v posledné dni v mesiaci. Tento model si vyžadoval značné mzdové náklady a neposkytoval presnú predpoveď. Napriek tomu identifikoval úzke miesta, kde bolo potrebné pridať hardvér, a umožnil optimalizovať proces prevodu peňazí dohodou s kotviacimi klientmi: aby sa platy nedávali na jeden dúšok, transakcie z rôznych regiónov boli časovo rozmiestnené. Teraz ich spracovávame po častiach, ktoré dokáže IT infraštruktúra banky „prežuť“ bez zlyhania.

Po získaní prvého pozitívneho výsledku sme prešli na automatizáciu predpovedí. Tucet ďalších kritických oblastí čakalo, kým na ne príde rad.

Komplexný prístup

VTB implementovalo monitorovací systém od MicroFocus. Odtiaľ sme prevzali zber údajov na prognózovanie, systém ukladania a systém podávania správ. V skutočnosti už bol monitoring zavedený, ostávalo už len pridať metriky, predikčný modul a vytvárať nové reporty. Toto rozhodnutie podporuje externý dodávateľ Technoserv, takže hlavná práca na realizácii projektu pripadla jeho špecialistom, ale model sme postavili sami. Prognostický systém bol vytvorený na základe Prophet, open source produktu vyvinutého Facebookom. Je ľahko použiteľný a ľahko sa integruje s našimi nainštalovanými integrovanými monitorovacími nástrojmi a Vertica. Zhruba povedané, systém analyzuje graf zaťaženia a extrapoluje ho na základe Fourierovho radu. Je tiež možné pridať určité koeficienty podľa dňa, prevzaté z nášho modelu. Metriky sa zisťujú bez ľudského zásahu, prognóza sa automaticky prepočítava raz týždenne a príjemcom sa odosielajú nové správy. 

Tento prístup identifikuje hlavné cyklickosti, napríklad ročné, mesačné, štvrťročné a týždenné. Výplaty miezd a záloh, dovolenkové obdobia, dovolenky a tržby – to všetko ovplyvňuje počet volaní do systémov. Ukázalo sa napríklad, že niektoré cykly sa navzájom prekrývajú a hlavné zaťaženie (75 %) systémov pochádza z Centrálneho federálneho okruhu. Právnické a fyzické osoby sa správajú odlišne. Ak je záťaž od „fyzikov“ relatívne rovnomerne rozložená počas dní v týždni (toto je veľa malých transakcií), potom sa v prípade spoločností 99,9 % minie na pracovný čas a transakcie môžu byť krátke alebo môžu byť spracované v priebehu niekoľkých minúty alebo dokonca hodiny.

Monitorovanie + testovanie záťaže = predpoveď a žiadne zlyhania

Na základe získaných údajov sa stanovia dlhodobé trendy. Nový systém odhalil, že ľudia hromadne prechádzajú k bankovým službám na diaľku. Každý to vie, ale takýto rozsah sme nečakali a spočiatku sme mu neverili: extrémne rýchlo klesá počet telefonátov do kancelárií bánk a presne o rovnakú sumu rastie aj počet transakcií na diaľku. V súlade s tým rastie a bude aj naďalej rásť zaťaženie systémov. Teraz predpovedáme zaťaženie do februára 2020. Normálne dni možno predpovedať s chybou 3 % a dni špičky s chybou 10 %. To je dobrý výsledok.

Úskalia

Ako to už býva, nezaobišlo sa to bez ťažkostí. Extrapolačný mechanizmus využívajúci Fourierovu sériu neprekračuje dobre nulu – vieme, že právnické osoby generujú cez víkendy málo transakcií, ale predikčný modul produkuje hodnoty, ktoré sú ďaleko od nuly. Bolo možné ich nasilu korigovať, ale barle nie sú našou metódou. Okrem toho sme museli vyriešiť problém bezbolestného získavania údajov zo zdrojových systémov. Pravidelné zhromažďovanie informácií si vyžaduje seriózne výpočtové zdroje, preto sme vytvorili rýchle vyrovnávacie pamäte pomocou replikácie a prijímame obchodné údaje z replík. Absencia dodatočného zaťaženia nadriadených systémov je v takýchto prípadoch blokujúcou požiadavkou.

Nové výzvy

Priama úloha predpovedania špičiek bola vyriešená: od mája tohto roku sa v banke nevyskytli žiadne zlyhania súvisiace s preťažením a dôležitú úlohu v tom zohral nový prognostický systém. Áno, ukázalo sa, že to nestačí a banka chce teraz pochopiť, aké nebezpečné sú pre ňu vrcholy. Potrebujeme predpovede pomocou metrík z testovania záťaže a pre približne 30 % kritických systémov to už funguje, ostatné sú v procese získavania predpovedí. V ďalšej fáze budeme predpovedať zaťaženie systémov nie v obchodných transakciách, ale z hľadiska IT infraštruktúry, t.j. pôjdeme o jednu vrstvu nižšie. Okrem toho musíme plne zautomatizovať zber metrík a zostavovanie prognóz na ich základe, aby sme sa nezaoberali sťahovaním. Nie je na tom nič zvláštne – jednoducho prekračujeme monitorovanie a testovanie záťaže v súlade s celosvetovými osvedčenými postupmi.

Zdroj: hab.com

Pridať komentár