Monitorizare + testare de sarcină = predicție și fără eșecuri

Departamentul IT al VTB a trebuit de mai multe ori să se confrunte cu situații de urgență în exploatarea sistemelor, când sarcina asupra acestora a crescut de multe ori. Prin urmare, a fost nevoie să se dezvolte și să se testeze un model care să prezică sarcina de vârf pe sistemele critice. Pentru a face acest lucru, specialiștii IT ai băncii au configurat monitorizarea, au analizat datele și au învățat să automatizeze previziunile. Vă vom spune într-un scurt articol care instrumente au ajutat la prezicerea sarcinii și dacă au ajutat la optimizarea muncii.

Monitorizare + testare de sarcină = predicție și fără eșecuri

Problemele cu serviciile de mare sarcină apar în aproape toate industriile, dar pentru sectorul financiar sunt critice. La ora X, toate unitățile de luptă trebuie să fie pregătite și, prin urmare, era necesar să se știe dinainte ce s-ar putea întâmpla și chiar să se determine ziua în care sarcina va sări și ce sisteme o vor întâlni. Eșecurile trebuie tratate și prevenite, așa că necesitatea implementării unui sistem de analiză predictivă nici nu a fost discutată. A fost necesară modernizarea sistemelor bazate pe date de monitorizare.

Analytics în genunchi

Proiectul de salarizare este unul dintre cele mai sensibile în caz de eșec. Este cel mai de înțeles pentru prognoză, așa că am decis să începem cu el. Datorită conectivității ridicate, alte subsisteme, inclusiv serviciile bancare la distanță (RBS), ar putea întâmpina probleme în perioadele de vârf. De exemplu, clienții care au fost încântați de SMS-ul despre primirea banilor au început să îl folosească în mod activ. Sarcina ar putea sări cu mai mult de un ordin de mărime. 

Primul model de prognoză a fost creat manual. Am luat încărcările pentru ultimul an și am calculat în ce zile sunt așteptate vârfurile maxime: de exemplu, 1, 15 și 25, precum și în ultimele zile ale lunii. Acest model a necesitat costuri semnificative cu forța de muncă și nu a oferit o prognoză precisă. Cu toate acestea, a identificat blocajele în care a fost necesar să se adauge hardware și a făcut posibilă optimizarea procesului de transfer de bani prin înțelegerea cu clienții ancoră: pentru a nu da salarii dintr-o înghițitură, tranzacțiile din diferite regiuni au fost distanțate în timp. Acum le procesăm în părți pe care infrastructura IT a băncii le poate „mesteca” fără eșec.

După ce am primit primul rezultat pozitiv, am trecut la automatizarea prognozei, încă o duzină de zone critice își așteptau rândul.

Abordare cuprinzătoare

VTB a implementat un sistem de monitorizare de la MicroFocus. De acolo am luat colectarea datelor pentru prognoză, un sistem de stocare și un sistem de raportare. De fapt, monitorizarea era deja în vigoare, nu mai rămânea decât să adăugați valori, un modul de predicție și să creați noi rapoarte. Această decizie este susținută de contractorul extern Technoserv, așa că munca principală de implementare a proiectului a revenit specialiștilor săi, dar modelul l-am construit noi înșine. Sistemul de prognoză a fost realizat pe baza Prophet, un produs open source dezvoltat de Facebook. Este ușor de utilizat și se integrează ușor cu instrumentele noastre de monitorizare integrate instalate și Vertica. În linii mari, sistemul analizează graficul de sarcină și îl extrapolează pe baza seriei Fourier. De asemenea, este posibil să adăugați anumiți coeficienți pe zi, luați din modelul nostru. Valorile sunt luate fără intervenție umană, prognoza este recalculată automat o dată pe săptămână și noi rapoarte sunt trimise destinatarilor. 

Această abordare identifică principalele ciclicități, de exemplu, anuale, lunare, trimestriale și săptămânale. Plăți de salarii și avansuri, perioade de vacanță, vacanțe și vânzări - toate acestea afectează numărul de apeluri către sisteme. S-a dovedit, de exemplu, că unele cicluri se suprapun, iar sarcina principală (75%) asupra sistemelor provine din Districtul Federal Central. Persoanele juridice și persoanele fizice se comportă diferit. Dacă încărcătura de la „fizicieni” este distribuită relativ uniform pe parcursul zilelor săptămânii (acestea sunt o mulțime de tranzacții mici), atunci pentru companii 99,9% este cheltuit pe orele de lucru, iar tranzacțiile pot fi scurte sau pot fi procesate în mai multe minute sau chiar ore.

Monitorizare + testare de sarcină = predicție și fără eșecuri

Pe baza datelor obținute se determină tendințe pe termen lung. Noul sistem a dezvăluit că oamenii se deplasează în masă către servicii bancare la distanță. Toată lumea știe acest lucru, dar nu ne așteptam la o asemenea amploare și la început nu credeam în ea: numărul apelurilor către birourile bancare scade extrem de rapid, iar numărul tranzacțiilor de la distanță crește exact cu aceeași sumă. În consecință, încărcarea sistemelor este în creștere și va continua să crească. Acum prognozăm sarcina până în februarie 2020. Zilele normale pot fi prezise cu o eroare de 3%, iar zilele de vârf cu o eroare de 10%. Acesta este un rezultat bun.

Capcane

Ca de obicei, acest lucru nu a fost lipsit de dificultăți. Mecanismul de extrapolare folosind seria Fourier nu trece bine cu zero - știm că persoanele juridice generează puține tranzacții în weekend, dar modulul de predicție produce valori care sunt departe de zero. A fost posibil să le corectăm cu forța, dar cârjele nu sunt metoda noastră. În plus, a trebuit să rezolvăm problema recuperării fără durere a datelor din sistemele sursă. Colectarea regulată de informații necesită resurse de calcul serioase, așa că am construit cache-uri rapide folosind replicarea și primim date de afaceri de la replici. Absența sarcinii suplimentare asupra sistemelor master în astfel de cazuri este o cerință de blocare.

Noi provocări

Sarcina simplă de a prezice vârfurile a fost rezolvată: nu au existat erori legate de suprasarcină în bancă din luna mai a acestui an, iar noul sistem de prognoză a jucat un rol important în acest sens. Da, s-a dovedit a nu fi suficient, iar acum banca vrea să înțeleagă cât de periculoase sunt vârfurile pentru aceasta. Avem nevoie de predicții care folosesc metrici din testarea sarcinii, iar pentru aproximativ 30% dintre sistemele critice acest lucru funcționează deja, restul sunt în proces de obținere a predicțiilor. În următoarea etapă, vom prezice sarcina asupra sistemelor nu în tranzacțiile de afaceri, ci în ceea ce privește infrastructura IT, adică vom coborî un nivel. În plus, trebuie să automatizăm pe deplin colectarea de valori și construirea de prognoze pe baza acestora, pentru a nu face față descărcărilor. Nu este nimic extravagant în asta - doar trecem între monitorizarea și testarea încărcării în conformitate cu cele mai bune practici globale.

Sursa: www.habr.com

Adauga un comentariu