Мониторинг + тестирање оптерећења = предвиђање и без кварова

ИТ одељење ВТБ-а неколико пута се морало суочити са ванредним ситуацијама у раду система, када се оптерећење на њима вишеструко повећало. Због тога је постојала потреба да се развије и тестира модел који би предвидео вршно оптерећење критичних система. Да би то урадили, ИТ стручњаци банке поставили су мониторинг, анализирали податке и научили да аутоматизују прогнозе. У кратком чланку ћемо вам рећи који су алати помогли да се предвиди оптерећење и да ли су помогли у оптимизацији рада.

Мониторинг + тестирање оптерећења = предвиђање и без кварова

Проблеми са услугама високог оптерећења јављају се у скоро свим индустријама, али за финансијски сектор су критични. У часу Кс све борбене јединице морају бити спремне, па је зато било потребно унапред знати шта се може догодити, па чак и одредити дан када ће терет скочити и који ће системи на њега наићи. Кварове треба решавати и спречити, па се о потреби имплементације система предиктивне аналитике није ни разговарало. Било је неопходно модернизовати системе засноване на подацима мониторинга.

Аналитика на коленима

Пројекат обрачуна плата је један од најосетљивијих у случају неуспеха. То је најразумљивије за прогнозирање, па смо одлучили да почнемо од њега. Због високе повезаности, други подсистеми, укључујући услуге даљинског банкарства (РБС), могу имати проблема у временима највећег оптерећења. На пример, клијенти који су били одушевљени СМС-ом о пријему новца почели су да га активно користе. Оптерећење би могло скочити за више од реда величине. 

Први модел прогнозе креиран је ручно. Узели смо уплоаде за прошлу годину и израчунали у које дане се очекују максимални врхови: на пример, 1., 15. и 25., као и последњих дана у месецу. Овај модел је захтевао значајне трошкове рада и није дао тачну прогнозу. Ипак, идентификовао је уска грла где је било потребно додати хардвер и омогућио оптимизацију процеса преноса новца договарањем са сидреним клијентима: како се плате не би давале у једном гутљају, трансакције из различитих региона су распоређене током времена. Сада их обрађујемо у деловима које ИТ инфраструктура банке може без грешке да „жваће“.

Добивши први позитиван резултат, прешли смо на аутоматизацију предвиђања, а чекало је на ред још десетак критичних области.

Интегрисани приступ

ВТБ је имплементирао систем за праћење компаније МицроФоцус. Одатле смо преузели прикупљање података за предвиђање, систем складиштења и систем извештавања. У ствари, праћење је већ било на месту, остало је само да се додају метрика, модул за предвиђање и креирају нови извештаји. Ову одлуку подржава екстерни извођач радова Тецхносерв, тако да је главни посао на реализацији пројекта пао на његове стручњаке, али смо модел направили сами. Систем предвиђања је направљен на основу Пропхет-а, отвореног кода који је развио Фацебоок. Једноставан је за коришћење и лако се интегрише са нашим инсталираним интегрисаним алатима за праћење и Вертицом. Грубо говорећи, систем анализира граф оптерећења и екстраполира га на основу Фуријеовог реда. Такође је могуће додати одређене коефицијенте по дану, преузете из нашег модела. Метрике се узимају без људске интервенције, прогноза се аутоматски прерачунава једном недељно, а нови извештаји се шаљу примаоцима. 

Овај приступ идентификује главне цикличности, на пример, годишње, месечно, квартално и недељно. Исплате плата и аванса, периоди одмора, празници и распродаје - све ово утиче на број позива у системе. Испоставило се, на пример, да се неки циклуси међусобно преклапају, а главно оптерећење система (75%) долази из Централног федералног округа. Различито се понашају правна и физичка лица. Ако је оптерећење од „физичара“ релативно равномерно распоређено на дане у недељи (ово је много малих трансакција), онда се за компаније 99,9% троши на радно време, а трансакције могу бити кратке, или се могу обрадити у року од неколико минута или чак сати.

Мониторинг + тестирање оптерећења = предвиђање и без кварова

На основу добијених података утврђују се дугорочни трендови. Нови систем је открио да људи масовно прелазе на услуге даљинског банкарства. То сви знају, али нисмо очекивали такав обим и у почетку нисмо веровали у то: број позива у пословнице банака се изузетно брзо смањује, а број даљинских трансакција расте за потпуно исти износ. Сходно томе, оптерећење система такође расте и наставиће да расте. Сада предвиђамо оптерећење до фебруара 2020. Нормални дани се могу предвидети са грешком од 3%, а вршни дани са грешком од 10%. Ово је добар резултат.

Замке

Као и обично, ово није прошло без потешкоћа. Механизам екстраполације који користи Фуријеов ред не прелази добро нулу - знамо да правна лица генеришу мало трансакција викендом, али модул предвиђања производи вредности које су далеко од нуле. Могло се насилно исправити, али штаке нису наш метод. Поред тога, морали смо да решимо проблем безболног преузимања података из изворних система. Редовно прикупљање информација захтева озбиљне рачунарске ресурсе, тако да смо направили брзе кеш меморије користећи репликацију и примамо пословне податке из реплика. Одсуство додатног оптерећења на главним системима у таквим случајевима је услов за блокирање.

Нови изазови

Једноставан задатак предвиђања пикова је решен: од маја ове године у банци није било кварова због преоптерећења, а нови систем предвиђања је у томе одиграо важну улогу. Да, испоставило се да није довољно, а сада банка жели да схвати колико су врхови опасни за њу. Потребна су нам предвиђања користећи метрику из тестирања оптерећења, а за око 30% критичних система ово већ функционише, остали су у процесу добијања предвиђања. У следећој фази ћемо предвидети оптерећење система не у пословним трансакцијама, већ у погледу ИТ инфраструктуре, односно спустићемо се један слој. Поред тога, потребно је да у потпуности аутоматизујемо прикупљање метрика и на основу њих израду прогноза, како се не бисмо бавили преузимањима. Нема ничег фенси у томе – ми само укрштамо праћење и тестирање оптерећења у складу са најбољим светским праксама.

Извор: ввв.хабр.цом

Додај коментар