Monitoraggio + test di carico = previsione e assenza di interruzioni

Il dipartimento IT di VTB ha dovuto affrontare più volte situazioni straordinarie nel funzionamento dei sistemi, quando il carico su di essi aumentava notevolmente. Da qui è emersa la necessità di sviluppare e testare un modello in grado di prevedere il carico di picco sui sistemi critici. Per fare ciò, gli specialisti IT della banca hanno impostato il 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 lavoro grazie a essi, lo racconteremo in un piccolo articolo.

Monitoraggio + test di carico = previsione e assenza di interruzioni

I problemi legati ai servizi ad alto carico si presentano praticamente in tutti i settori, ma per quello finanziario sono critici. Nell'ora X tutte le unità operative devono essere pronte, pertanto era necessario sapere in anticipo cosa potrebbe accadere e persino determinare il giorno in cui il carico aumenterà e quali sistemi lo affronteranno. Occorre combattere e prevenire i guasti, quindi la necessità di implementare un sistema di analisi predittiva non è stata nemmeno messa in discussione. Era necessario ammodernare i sistemi basandosi sui dati di monitoraggio.

Analisi improvvisata

Il progetto stipendi è uno dei più sensibili in caso di guasti. È anche il più comprensibile per le previsioni, quindi si è deciso di partire da esso. A causa dell'elevata interconnessione, nei momenti di carico di picco potrebbero verificarsi problemi anche in altri sottosistemi, compreso il servizio bancario a distanza (DBO). Ad esempio, i clienti, felici di ricevere SMS riguardanti l'arrivo di denaro, iniziavano a utilizzarlo attivamente. Il carico, a questo punto, poteva aumentare di oltre un ordine di grandezza. 

Il primo modello per la previsione è stato creato manualmente. Abbiamo preso un estratto dell'ultimo anno e calcolato in quali giorni sono attesi i picchi massimi: ad esempio, il 1°, il 15° e il 25° giorno, così come negli ultimi giorni del mese. Questo modello richiedeva un notevole dispendio di lavoro e non forniva previsioni precise. Tuttavia, ha rivelato i colli di bottiglia in cui era necessario aggiungere "hardware" e ha consentito di ottimizzare il processo di trasferimento di denaro, concordando con i clienti principali: per non erogare lo stipendio "tutto in una volta", le transazioni da diverse regioni sono state distribuite nel tempo. Ora le elaboriamo a blocchi, che l'infrastruttura IT della banca è in grado di elaborare senza guasti.

Ricevuto il primo risultato positivo, siamo passati all'automazione delle previsioni. Aspettava il suo turno anche un'altra dozzina di aree critiche.

Approccio complesso

In VTB è stato implementato il sistema di monitoraggio della società MicroFocus. Da lì abbiamo preso la raccolta dei dati per le previsioni, il sistema di archiviazione e il sistema di generazione dei report. Di fatto, il monitoraggio era già presente; dovevamo solo aggiungere le metriche, il modulo di previsione e creare nuovi report. Questo intervento è supportato da un appaltatore esterno, "Tehnoserv", quindi il lavoro principale di realizzazione del progetto è stato svolto dai suoi specialisti, ma il modello è stato costruito da noi. Il sistema di previsione è stato realizzato sulla base di Prophet, un prodotto open-source sviluppato da Facebook. È semplice da usare e si integra facilmente con i mezzi di monitoraggio complesso e Vertica che abbiamo in uso. In termini semplici, il sistema analizza il grafico di carico e, sulla base delle serie di Fourier, ne fa l'estrapolazione. È anche possibile aggiungere alcuni coefficienti per giorno, presi dal nostro modello. Le metriche vengono raccolte senza l'intervento umano, e ogni settimana la previsione viene ricalcolata automaticamente, mentre i nuovi report vengono inviati ai destinatari. 

Questo approccio evidenzia le principali ciclicità, ad esempio annuali, mensili, trimestrali e settimanali. Il pagamento di stipendi e anticipi, i periodi di ferie, le festività e i saldi — tutto ciò influisce sul numero di richieste ai sistemi. È emerso, per esempio, che alcuni cicli si sovrappongono, e il carico principale (75%) sui sistemi proviene dal Distretto federale centrale. Le persone giuridiche e fisiche si comportano in modo diverso. Se il carico delle "persone fisiche" è relativamente uniformemente distribuito durante la settimana (con molte piccole transazioni), per le aziende il 99,9% è concentrato negli orari di lavoro, e le transazioni possono essere brevi, mentre altre possono richiedere minuti e anche ore per essere elaborate.

Monitoraggio + test di carico = previsione e assenza di interruzioni

Sulla base dei dati ricevuti vengono definiti i trend a lungo termine. Il nuovo sistema ha rivelato che le persone stanno abbandonando massicciamente il DBO. Questo è di pubblico dominio, ma non ci aspettavamo una tale portata e inizialmente non ci credevamo: il numero di richieste presso gli uffici bancari sta diminuendo molto rapidamente, e allo stesso modo cresce il numero di transazioni a distanza. Di conseguenza, anche il carico sui sistemi cresce e continuerà a crescere. Attualmente prevediamo il carico fino a febbraio 2020. I giorni normali possono essere previsti con un margine d'errore del 3%, mentre i picchi con un margine d'errore del 10%. Questo è un buon risultato.

Inconvenienti

Non sono mancati gli inconvenienti, come al solito. Il meccanismo di estrapolazione utilizzando le serie di Fourier ha difficoltà a passare attraverso lo zero: sappiamo che nei fine settimana le persone giuridiche generano poche transazioni, ma il modello di previsione restituisce valori lontani da zero. Si sarebbe potuto correggerli forzatamente, ma le soluzioni alternative non fanno per noi. Inoltre, è stato necessario risolvere il problema della raccolta dei dati dalle fonti di sistema senza dolorose interruzioni. La raccolta regolare delle informazioni richiede notevoli risorse computazionali, quindi abbiamo costruito cache rapide utilizzando la replica, ricevendo i dati aziendali già dalle repliche. L'assenza di carico aggiuntivo sui sistemi master in questi casi è un requisito vincolante.

Nuove sfide

Il compito diretto di previsione dei picchi è stato risolto: non ci sono stati guasti legati al sovraccarico in banca dal maggio di quest'anno, e il nuovo sistema di previsione ha giocato un ruolo non trascurabile in questo. Sì, si è rivelato 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 per circa il 30% dei sistemi critici questo funziona già; 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è scenderemo a un livello inferiore. Inoltre, dobbiamo automatizzare completamente la raccolta delle metriche e la costruzione delle previsioni basate su di esse, in modo da non doverci occupare di esportazioni. Non c'è nulla di eccezionale in questo: stiamo semplicemente incrociando il monitoraggio e il test di carico secondo le migliori pratiche mondiali.

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