Pemantauan + pengujian beban = prediksi dan tidak ada kegagalan

Departemen TI VTB beberapa kali harus menghadapi situasi darurat dalam pengoperasian sistem, ketika beban pada sistem meningkat berkali-kali lipat. Oleh karena itu, terdapat kebutuhan untuk mengembangkan dan menguji model yang dapat memprediksi beban puncak pada sistem kritis. Untuk melakukan hal ini, spesialis TI bank mengatur pemantauan, menganalisis data, dan belajar mengotomatisasi perkiraan. Kami akan memberi tahu Anda dalam artikel singkat alat mana yang membantu memprediksi beban dan apakah alat tersebut membantu mengoptimalkan pekerjaan.

Pemantauan + pengujian beban = prediksi dan tidak ada kegagalan

Masalah dengan layanan dengan beban tinggi muncul di hampir semua industri, namun bagi sektor keuangan, masalah ini sangat penting. Pada jam X, semua unit tempur harus siap, oleh karena itu perlu diketahui terlebih dahulu apa yang mungkin terjadi bahkan menentukan hari kapan beban akan melonjak dan sistem mana yang akan menghadapinya. Kegagalan perlu ditangani dan dicegah, sehingga kebutuhan untuk menerapkan sistem analisis prediktif bahkan tidak dibahas. Penting untuk memodernisasi sistem berdasarkan data pemantauan.

Analisis berlutut

Proyek penggajian adalah salah satu yang paling sensitif jika terjadi kegagalan. Ini adalah perkiraan yang paling mudah dipahami, jadi kami memutuskan untuk memulainya. Karena konektivitas yang tinggi, subsistem lain, termasuk layanan perbankan jarak jauh (RBS), dapat mengalami masalah pada saat beban puncak. Misalnya, klien yang senang dengan SMS penerimaan uang mulai aktif menggunakannya. Bebannya bisa melonjak lebih dari satu urutan besarnya. 

Model perkiraan pertama dibuat secara manual. Kami mengambil unggahan selama setahun terakhir dan menghitung hari apa yang diperkirakan mencapai puncak maksimum: misalnya, tanggal 1, 15, dan 25, serta pada hari-hari terakhir dalam sebulan. Model ini memerlukan biaya tenaga kerja yang signifikan dan tidak memberikan perkiraan yang akurat. Namun demikian, hal ini mengidentifikasi hambatan di mana perlunya penambahan perangkat keras, dan memungkinkan untuk mengoptimalkan proses transfer uang dengan menyetujui klien utama: agar tidak memberikan gaji dalam satu tegukan, transaksi dari berbagai wilayah dipisahkan dari waktu ke waktu. Sekarang kami memprosesnya menjadi beberapa bagian yang dapat β€œdikunyah” oleh infrastruktur TI bank tanpa kegagalan.

Setelah menerima hasil positif pertama, kami beralih ke otomatisasi perkiraan. Selusin area kritis lainnya sedang menunggu giliran.

Pendekatan terintegrasi

VTB telah menerapkan sistem monitoring dari MicroFocus. Dari situ kami mengambil pengumpulan data untuk peramalan, sistem penyimpanan dan sistem pelaporan. Faktanya, pemantauan sudah ada, yang tersisa hanyalah menambahkan metrik, modul prediksi, dan membuat laporan baru. Keputusan ini didukung oleh kontraktor eksternal Technoserv, sehingga pekerjaan utama dalam implementasi proyek berada pada spesialisnya, tetapi kami membuat modelnya sendiri. Sistem peramalan dibuat berdasarkan Nabi, produk open source yang dikembangkan oleh Facebook. Mudah digunakan dan mudah diintegrasikan dengan alat pemantauan terintegrasi yang kami pasang dan Vertica. Secara kasar, sistem menganalisis grafik beban dan mengekstrapolasinya berdasarkan deret Fourier. Dimungkinkan juga untuk menambahkan koefisien tertentu setiap hari, yang diambil dari model kami. Metrik diambil tanpa campur tangan manusia, perkiraan dihitung ulang secara otomatis seminggu sekali, dan laporan baru dikirim ke penerima. 

Pendekatan ini mengidentifikasi siklus utama, misalnya tahunan, bulanan, triwulanan, dan mingguan. Pembayaran gaji dan uang muka, periode liburan, liburan dan penjualan - semua ini mempengaruhi jumlah panggilan ke sistem. Misalnya, ternyata beberapa siklus saling tumpang tindih, dan beban utama (75%) pada sistem berasal dari Distrik Federal Pusat. Badan hukum dan individu berperilaku berbeda. Jika beban dari β€œfisikawan” relatif merata sepanjang hari dalam seminggu (ini adalah banyak transaksi kecil), maka bagi perusahaan 99,9% dihabiskan untuk jam kerja, dan transaksi bisa singkat, atau dapat diproses dalam beberapa jam. menit atau bahkan jam.

Pemantauan + pengujian beban = prediksi dan tidak ada kegagalan

Berdasarkan data yang diperoleh, tren jangka panjang ditentukan. Sistem baru ini menunjukkan bahwa masyarakat secara massal beralih ke layanan perbankan jarak jauh. Semua orang mengetahui hal ini, tetapi kami tidak mengharapkan skala seperti itu dan pada awalnya tidak mempercayainya: jumlah panggilan ke kantor bank menurun dengan sangat cepat, dan jumlah transaksi jarak jauh meningkat dengan jumlah yang persis sama. Oleh karena itu, beban pada sistem juga bertambah dan akan terus bertambah. Kami sekarang memperkirakan bebannya hingga Februari 2020. Hari normal dapat diprediksi dengan error sebesar 3%, dan hari puncak dengan error sebesar 10%. Ini adalah hasil yang bagus.

Jebakan

Seperti biasa, hal ini bukannya tanpa kesulitan. Mekanisme ekstrapolasi menggunakan deret Fourier tidak melewati nol dengan baik - kita tahu bahwa badan hukum menghasilkan sedikit transaksi di akhir pekan, tetapi modul prediksi menghasilkan nilai yang jauh dari nol. Dimungkinkan untuk memperbaikinya secara paksa, tetapi kruk bukanlah metode kami. Selain itu, kami harus memecahkan masalah pengambilan data dari sistem sumber tanpa kesulitan. Pengumpulan informasi secara teratur memerlukan sumber daya komputasi yang serius, jadi kami membuat cache yang cepat menggunakan replikasi dan menerima data bisnis dari replika. Tidak adanya beban tambahan pada sistem master dalam kasus seperti itu merupakan persyaratan pemblokiran.

Tantangan baru

Tugas sederhana dalam memprediksi puncak telah diselesaikan: tidak ada kegagalan terkait kelebihan beban di bank sejak Mei tahun ini, dan sistem perkiraan baru memainkan peran penting dalam hal ini. Ya, ternyata itu tidak cukup, dan sekarang bank ingin memahami betapa berbahayanya puncak tersebut bagi bank. Kita memerlukan prediksi menggunakan metrik dari pengujian beban, dan sekitar 30% sistem kritis sudah berfungsi, sisanya sedang dalam proses mendapatkan prediksi. Pada tahap selanjutnya, kita akan memprediksi beban pada sistem bukan pada transaksi bisnis, tetapi pada infrastruktur TI, yaitu kita akan turun satu lapisan. Selain itu, kita perlu sepenuhnya mengotomatiskan pengumpulan metrik dan membuat perkiraan berdasarkan metrik tersebut, agar tidak berurusan dengan pengunduhan. Tidak ada yang mewah dalam hal ini - kami hanya melakukan pemantauan dan pengujian beban sesuai dengan praktik terbaik global.

Sumber: www.habr.com

Tambah komentar