IT odjel VTB-a suočavao se s vanrednim situacijama u radu sustava, kada je opterećenje na njima više puta povećano. Stoga se pojavila potreba za razvojem i ispitivanjem modela koji bi predviđao vršne opterećenja na kritične sustave. Za to su IT stručnjaci banke postavili nadzor, analizirali podatke te naučili automatizirati prognoze. O kojim alatima smo koristili za predviđanje opterećenja i jesmo li uspjeli optimizirati rad, govorit ćemo u ovom kratkom članku.

Problemi s visoko opterećenim servisima javljaju se gotovo u svim industrijama, ali za financijski sektor su kritični. U čas X sve borbene jedinice moraju biti spremne, pa je bilo potrebno unaprijed znati što se može dogoditi i čak odrediti dan kada će opterećenje porasti, kao i koji će sustavi s tim biti suočeni. Treba se boriti protiv kvarova i spriječiti ih, pa se potreba za implementacijom sustava prediktivne analitike nije ni raspravljala. Bilo je potrebno modernizirati sustave na temelju podataka nadzora.
Analitika na brzinu
Projekt plaće je jedan od najosjetljivijih u slučaju kvara. On je također najjasniji za predviđanje, pa se odlučilo započeti s njim. Zbog visoke povezanosti, u trenucima vršnog opterećenja mogli su nastati problemi i s drugim podsustavima, uključujući daljinsko bankarstvo (DBO). Na primjer, klijenti koji su primili SMS o dolasku novca počeli su ga aktivno koristiti. Opterećenje je pritom moglo skočiti za više od reda veličine.
Prvi model za prognozu izrađen je ručno. Uzeli smo ispravku za posljednju godinu i izračunali na koje će dane doći do maksimalnih vrhova: na primjer, 1., 15. i 25. dana, kao i u posljednjim danima mjeseca. Ovaj model zahtijevao je ozbiljne radne napore i nije davao točnu prognozu. Ipak, otkrio je uska grla gdje je potrebno dodati „hardver“ i omogućio optimizaciju procesa isplata, dogovorivši se s ključnim klijentima: kako ne bismo isplaćivali plaču „odjednom“, transakcije iz različitih regija rasporedili smo po vremenu. Sada ih obrađujemo u dijelovima koje IT infrastruktura banke može „prožvakati“ bez kvarova.
Nakon što smo dobili prvi pozitivan rezultat, prešli smo na automatizaciju predikcija. Čekalo se još desetak kritičnih područja.
Sveobuhvatan pristup
U VTB-u su implementirali sustav praćenja tvrtke MicroFocus. Od tamo smo preuzeli prikupljanje podataka za predikciju, sustav pohrane i sustav za generiranje izvještaja. U suštini, praćenje je već bilo uvedeno, ostalo je samo dodati metriku, modul predikcije i stvoriti nove izvještaje. Ova rješenja podržava vanjski izvođač 'Tekhnoserv', stoga su glavni radovi na implementaciji projekta ležali na njihovim stručnjacima, ali model smo gradili samostalno. Sustav predikcije izradili smo na temelju Propheta — ovog otvorenog proizvoda razvijenog u Facebooku. Jednostavan je za korištenje i lako se integrira s našim postojećim sredstvima sveobuhvatnog praćenja i Vertica. U osnovi, sustav analizira grafikon opterećenja i na temelju Fourierovih nizova radi njegovu ekstrapolaciju. Također postoji mogućnost dodavanja određenih koeficijenata po danima, preuzetih iz našeg modela. Metrike se prikupljaju bez ljudskog sudjelovanja, jednom tjedno prognoza se automatski preračunava, novi izvještaji se šalju adresatima.
Ovakav pristup otkriva osnovne cikličnosti, kao što su godišnje, mjesečne, kvartalne i tjedne. Isplata plaća i avansa, razdoblja godišnjih odmora, praznici i rasprodaje — sve to utječe na broj poziva sustavima. Na primjer, otkriveno je da se neki ciklusi preklapaju, a glavno opterećenje (75%) na sustavima dolazi iz Središnje federalne regije. Pravni i fizički subjekti ponašaju se različito. Ako je opterećenje od 'fizičkih' subjekata relativno ravnomjerno raspoređeno tijekom dana u tjednu (to su mnoge male transakcije), onda 99,9% tvrtki pada na radno vrijeme, pri čemu transakcije mogu biti kratke ili se obrađuju tijekom nekoliko minuta, pa čak i sati.

Na temelju prikupljenih podataka određuju se dugotrajni trendovi. Novi sustav je otkrio da se ljudi masovno prebacuju na DBO. To je svima poznato, ali nismo očekivali takve razmjere i isprva nismo vjerovali: broj zahtjeva u bankovnim uredima izuzetno brzo opada, a istovremeno se povećava broj daljinskih transakcija. Također, opterećenje na sustavima raste i nastavit će rasti. Trenutno prognoziramo opterećenje do veljače 2020. godine. Normalne dane uspijevamo predvidjeti s pogreškom od 3%, a vršne dane s pogreškom od 10%. To je dobar rezultat.
Skriveni problemi
Bez poteškoća, kao i obično, nije bilo. Mehanizam ekstrapolacije korištenjem Fourierovih nizova slabo prelazi kroz nulu — znamo da tijekom vikenda pravne osobe generiraju malo transakcija, ali modul predikcije daje daleko od nule vrijednosti. Mogli smo ih prisilno ispraviti, ali takvi 'štakori' nisu naš pristup. Osim toga, morali smo riješiti problem bezbolnog prikupljanja podataka sa sustava-izvora. Redovito prikupljanje informacija zahtijeva ozbiljne računalne resurse, stoga smo izgradili brze keširanje koristeći replikaciju, poslovne podatke dobivamo već s replikama. Odsutnost dodatnog opterećenja na glavnim sustavima u takvim slučajevima je obavezni zahtjev.
Novi izazovi
Postavljeni izazov za predikciju vrhunaca je riješen: od svibnja ove godine nije bilo povezani s preopterećenjem kvarova u banci, a novi sustav predikcije odigrao je značajnu ulogu. Da, pokazalo se da to nije dovoljno, i sada banka želi razumjeti koliko su vrhunci opasni za nju. Potrebne su nam prognoze koristeći metrike iz testiranja opterećenja, i otprilike za 30% kritičnih sustava to već funkcionira, dok su drugi u procesu dobivanja prognoza. U sljedećem koraku planiramo predvidjeti opterećenje sustava ne u poslovnim transakcijama, već u terminima IT-infrastrukture, tj. spustit ćemo se na sloj niže. Osim toga, potrebno nam je potpuno automatizirati prikupljanje metrika i izgradnju prognoza temeljenih na njima, kako ne bismo morali obavljati ispite. U tome nema ništa posebno — jednostavno miješamo praćenje i testiranje opterećenja prema najboljim svjetskim praksama.
Izvor: habr.com
