Monitoraggio + stress test = previsioni e assenza di guasti

Il dipartimento IT di VTB ha dovuto affrontare più volte situazioni impreviste nel funzionamento dei sistemi, quando il carico su di essi aumentava drasticamente. Pertanto, è emersa la necessità di sviluppare e testare un modello in grado di prevedere i picchi di carico sui sistemi critici. A tal fine, gli specialisti IT della banca hanno impostato un monitoraggio, analizzato i dati e imparato ad automatizzare le previsioni. Quali strumenti hanno aiutato a prevedere il carico e se sono riusciti a ottimizzare il funzionamento, lo racconteremo in un breve articolo.

Monitoraggio + stress test = previsioni e assenza di guasti

I problemi con i servizi ad alto carico si presentano in quasi tutti i settori, ma per quello finanziario sono critici. Nel momento X tutte le unità operative devono essere pronte, quindi era necessario sapere in anticipo cosa potesse succedere e persino determinare il giorno in cui il carico sarebbe aumentato e quali sistemi ne sarebbero stati colpiti. È fondamentale combattere e prevenire i guasti, quindi la necessità di implementare un sistema di analisi predittiva non è mai stata messa in discussione. Era necessario modernizzare i sistemi sulla base dei dati di monitoraggio.

Analisi in tempo reale

Il progetto stipendio è uno dei più critici in caso di guasto. È anche il più prevedibile, quindi abbiamo deciso di iniziare da qui. A causa dell'alta interconnessione, durante i picchi di carico potrebbero sorgere problemi anche in altri sottosistemi, inclusi i servizi bancari a distanza (DBO). Ad esempio, i clienti, felici di ricevere SMS sull'arrivo di denaro, iniziavano a utilizzarli attivamente. Di conseguenza, il carico potrebbe aumentare di oltre un ordine di grandezza. 

Il primo modello per le previsioni è stato creato manualmente. Abbiamo preso i dati dell'ultimo anno e calcolato in quali giorni ci si aspetta i picchi massimi: ad esempio, il 1°, il 15° e il 25° giorno del mese, oltre agli ultimi giorni del mese. Questo modello richiedeva un notevole dispendio di risorse e non forniva previsioni precise. Tuttavia, ha evidenziato i punti critici in cui era necessario investire in hardware e ha permesso di ottimizzare il processo di trasferimento di denaro, accordandosi con i clienti principali: per non erogare stipendi in un'unica soluzione, le transazioni provenienti da diverse regioni sono state distribuite nel tempo. Ora le gestiamo in porzioni che l'infrastruttura IT della banca può elaborare senza interruzioni.

Dopo aver ottenuto il primo risultato positivo, siamo passati all'automazione delle previsioni. Un altro gruppo di una decina di aree critiche aspettava il suo turno.

Approccio integrato

In VTB, abbiamo implementato un sistema di monitoraggio fornito da MicroFocus. Da lì abbiamo prelevato i dati per le previsioni, il sistema di archiviazione e il sistema di generazione dei report. In sostanza, il monitoraggio esisteva già, restava solo da aggiungere le metriche, il modulo di previsione e creare nuovi report. Questo progetto è supportato da un appaltatore esterno, «Technoserv», quindi il lavoro principale per l'implementazione è ricaduto sui suoi specialisti, ma il modello l'abbiamo costruito autonomamente. Il sistema di previsione è stato realizzato utilizzando Prophet — questo prodotto open source è stato sviluppato da Facebook. È facile da usare e si integra senza sforzo con gli strumenti di monitoraggio che abbiamo installato e con Vertica. In parole povere, il sistema analizza il grafico del carico e, sulla base delle serie di Fourier, fa la sua estrapolazione. C'è anche la possibilità di aggiungere alcuni coefficienti per giorni, presi dal nostro modello. Le metriche vengono raccolte senza l'intervento umano, una volta alla settimana la previsione viene automaticamente ricalcolata e i nuovi report vengono inviati ai destinatari. 

Questo approccio evidenzia le principali ciclicità, come annuali, mensili, trimestrali e settimanali. Il pagamento degli stipendi e degli anticipi, i periodi di ferie, le festività e le vendite influenzano il numero di interazioni con i sistemi. Si è scoperto, ad esempio, che alcuni cicli si sovrappongono e che il carico principale (il 75%) sui sistemi proviene dal Distretto Federale Centrale. I soggetti giuridici e fisici si comportano in modo diverso. Se il carico da parte dei "fisici" è relativamente distribuito uniformemente durante la settimana (si tratta di molte piccole transazioni), per le aziende il 99,9% avviene durante l'orario lavorativo, con transazioni che possono essere brevi, mentre altre possono richiedere diversi minuti o addirittura ore per essere elaborate.

Monitoraggio + stress test = previsioni e assenza di guasti

Sulla base dei dati raccolti vengono identificati trend a lungo termine. Il nuovo sistema ha rivelato che le persone si stanno spostando in massa verso il banking online. Questo è noto a tutti, ma non ci aspettavamo un tale aumento e inizialmente non ci credevamo: il numero di richieste agli uffici bancari sta diminuendo rapidamente, mentre allo stesso modo cresce il numero delle transazioni a distanza. Di conseguenza, anche il carico sui sistemi aumenta e continuerà a crescere. Attualmente prevediamo il carico fino a febbraio 2020. Nei giorni normali riusciamo a fare previsioni con un margine di errore del 3%, mentre per i giorni di punta il margine è del 10%. È un buon risultato.

Problemi inaspettati

Senza difficoltà, come al solito, non è andata. Il meccanismo di estrapolazione che utilizza le serie di Fourier non gestisce bene lo zero: sappiamo che nei weekend le entità giuridiche generano poche transazioni, ma il modulo di previsione fornisce valori ben distanti dallo zero. Si sarebbero potuti correggere forzatamente, ma i ripari non sono il nostro metodo. Inoltre, abbiamo dovuto affrontare il problema della raccolta dei dati dalle fonti senza provocare dolori. La raccolta regolare delle informazioni richiede risorse computazionali significative, quindi abbiamo costruito cache veloci utilizzando la replica, ottenendo già i dati aziendali dalle repliche. L'assenza di un carico aggiuntivo sui sistemi master in tali casi è un requisito fondamentale.

Nuove sfide

La sfida posta di prevedere i picchi è stata affrontata: da maggio di quest'anno non ci sono stati relativi guasti per sovraccarico in banca, e il nuovo sistema di previsione ha avuto un ruolo fondamentale in questo. Sì, è risultato insufficiente, e ora la banca vuole capire quanto siano pericolosi per essa i picchi. Abbiamo bisogno di previsioni utilizzando metriche dai test di carico, e già per circa il 30% dei sistemi critici questo è operativo, mentre gli altri sono in fase di ottenimento delle previsioni. Nella prossima fase intendiamo prevedere il carico sui sistemi non in termini di transazioni aziendali, ma in termini di infrastruttura IT, cioè scendiamo a un livello inferiore. Inoltre, dobbiamo automatizzare completamente la raccolta delle metriche e la costruzione delle previsioni sulla loro base, evitando così l'esportazione manuale. Non c'è niente di eccezionale in questo: stiamo semplicemente incrociando il monitoraggio e i test di carico secondo le migliori pratiche globali.

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster