Monitoraggio + test di carico = previsione e nessun errore

Il dipartimento IT di VTB ha dovuto affrontare più volte situazioni di emergenza nel funzionamento dei sistemi, quando il carico su di essi è aumentato molte volte. Pertanto, era necessario sviluppare e testare un modello in grado di prevedere il carico di picco sui sistemi critici. A tale scopo, gli specialisti IT della banca hanno impostato il monitoraggio, analizzato i dati e imparato ad automatizzare le previsioni. Ti diremo in un breve articolo quali strumenti hanno aiutato a prevedere il carico e se hanno aiutato a ottimizzare il lavoro.

Monitoraggio + test di carico = previsione e nessun errore

I problemi legati ai servizi ad alto carico si verificano in quasi tutti i settori, ma per il settore finanziario sono critici. All'ora X tutte le unità combattenti dovevano essere pronte, quindi era necessario sapere in anticipo cosa sarebbe potuto succedere e anche determinare il giorno in cui il carico sarebbe saltato e quali sistemi lo avrebbero incontrato. I guasti devono essere affrontati e prevenuti, quindi la necessità di implementare un sistema di analisi predittiva non è stata nemmeno discussa. Era necessario modernizzare i sistemi basati sui dati di monitoraggio.

Analisi in ginocchio

Il progetto buste paga è uno dei più delicati in caso di fallimento. È il più comprensibile per le previsioni, quindi abbiamo deciso di iniziare con esso. A causa dell’elevata connettività, altri sottosistemi, compresi i servizi bancari a distanza (RBS), potrebbero riscontrare problemi nei periodi di picco di carico. Ad esempio, i clienti che erano entusiasti dell'SMS sulla ricezione del denaro hanno iniziato a utilizzarlo attivamente. Il carico potrebbe saltare di più di un ordine di grandezza. 

Il primo modello previsionale è stato creato manualmente. Abbiamo preso i caricamenti dell'ultimo anno e calcolato in quali giorni sono previsti i picchi massimi: ad esempio l'1, il 15 e il 25, nonché gli ultimi giorni del mese. Questo modello richiedeva costi di manodopera significativi e non forniva una previsione accurata. Tuttavia, ha individuato i colli di bottiglia dove era necessario aggiungere hardware, e ha permesso di ottimizzare il processo di trasferimento di denaro concordando con i clienti ancorati: per non dare gli stipendi in un sorso, le transazioni da diverse regioni sono state distanziate nel tempo. Ora li elaboriamo in parti che l’infrastruttura IT della banca può “masticare” senza fallire.

Dopo aver ricevuto il primo risultato positivo, siamo passati all'automazione delle previsioni: una dozzina di altre aree critiche aspettavano il loro turno.

Approccio integrato

VTB ha implementato un sistema di monitoraggio di MicroFocus. Da lì abbiamo preso la raccolta dei dati per le previsioni, un sistema di archiviazione e un sistema di reporting. In effetti, il monitoraggio era già in atto, non restava che aggiungere metriche, un modulo di previsione e creare nuovi report. Questa decisione è supportata dall'appaltatore esterno Technoserv, quindi il lavoro principale sull'attuazione del progetto è ricaduto sui suoi specialisti, ma abbiamo costruito noi stessi il modello. Il sistema di previsione è stato realizzato sulla base di Prophet, un prodotto open source sviluppato da Facebook. È facile da usare e si integra facilmente con i nostri strumenti di monitoraggio integrati installati e con Vertica. In parole povere, il sistema analizza il grafico del carico e lo estrapola sulla base delle serie di Fourier. È anche possibile aggiungere alcuni coefficienti giornalieri, presi dal nostro modello. Le metriche vengono rilevate senza intervento umano, la previsione viene ricalcolata automaticamente una volta alla settimana e nuovi report vengono inviati ai destinatari. 

Questo approccio identifica le principali ciclicità, ad esempio annuale, mensile, trimestrale e settimanale. Pagamenti di stipendi e anticipi, periodi di ferie, ferie e vendite: tutto ciò influisce sul numero di chiamate ai sistemi. Si è scoperto, ad esempio, che alcuni cicli si sovrappongono e che il carico principale (75%) sui sistemi proviene dal Distretto Federale Centrale. Le persone giuridiche e le persone fisiche si comportano diversamente. Se il carico dei "fisici" è distribuito in modo relativamente uniforme nei giorni della settimana (si tratta di molte piccole transazioni), per le aziende il 99,9% viene speso in orario di lavoro e le transazioni possono essere brevi o essere elaborate in diversi minuti o addirittura ore.

Monitoraggio + test di carico = previsione e nessun errore

Sulla base dei dati ottenuti, vengono determinate le tendenze a lungo termine. Il nuovo sistema ha rivelato che le persone si stanno spostando in massa verso i servizi bancari a distanza. Tutti lo sanno, ma non ci aspettavamo una tale portata e all'inizio non ci credevamo: il numero di chiamate agli uffici bancari sta diminuendo in modo estremamente rapido e il numero di transazioni remote cresce esattamente della stessa quantità. Di conseguenza, anche il carico sui sistemi cresce e continuerà a crescere. Ora prevediamo il carico fino a febbraio 2020. I giorni normali possono essere previsti con un errore del 3% e i giorni di punta con un errore del 10%. Questo è un buon risultato.

Insidie

Come al solito, ciò non è avvenuto senza difficoltà. Il meccanismo di estrapolazione che utilizza la serie di Fourier non supera bene lo zero: sappiamo che le persone giuridiche generano poche transazioni nei fine settimana, ma il modulo di previsione produce valori lontani dallo zero. È stato possibile correggerli con la forza, ma le stampelle non sono il nostro metodo. Inoltre, dovevamo risolvere il problema del recupero indolore dei dati dai sistemi di origine. La raccolta regolare di informazioni richiede notevoli risorse informatiche, quindi abbiamo creato cache veloci utilizzando la replica e riceviamo dati aziendali dalle repliche. In questi casi l'assenza di carico aggiuntivo sui sistemi master è un requisito bloccante.

Nuove sfide

Il compito semplice di prevedere i picchi è stato risolto: da maggio di quest'anno nella banca non si sono più verificati fallimenti dovuti a sovraccarico e il nuovo sistema di previsione ha svolto un ruolo importante in questo. Sì, si è rivelato insufficiente e ora la banca vuole capire quanto siano pericolosi per lei i picchi. Abbiamo bisogno di previsioni utilizzando le metriche dei test di carico e per circa il 30% dei sistemi critici questo sta già funzionando, il resto è in procinto di ottenere previsioni. Nella fase successiva, prevederemo il carico sui sistemi non nelle transazioni commerciali, ma in termini di infrastruttura IT, ad es. scenderemo di un livello. Inoltre, dobbiamo automatizzare completamente la raccolta dei parametri e la costruzione di previsioni basate su di essi, in modo da non dover gestire i download. Non c'è niente di speciale in questo: stiamo semplicemente incrociando il monitoraggio e i test di carico in linea con le migliori pratiche globali.

Fonte: habr.com

Aggiungi un commento