Monitoring + stress tests = prévision et pas d'échecs

Le département informatique de VTB a dû faire face à plusieurs reprises à des situations d'urgence dans les systèmes, lorsque leur charge a augmenté à plusieurs reprises. Par conséquent, il est devenu nécessaire de développer et de tester un modèle qui prédirait la charge de pointe sur les systèmes critiques. Pour cela, les informaticiens de la banque ont mis en place un suivi, analysé les données et appris à automatiser les prévisions. Quels outils ont aidé à prévoir la charge et s'il était possible d'optimiser le travail avec leur aide, nous le dirons dans un court article.



Des problèmes de services très chargés se posent dans presque tous les secteurs, mais ils sont critiques pour le secteur financier. À l'heure X, toutes les unités de combat doivent être prêtes, et il était donc nécessaire de savoir à l'avance ce qui pourrait arriver et même de déterminer le jour où la charge saute, et quels systèmes la rencontreront. Les échecs doivent être combattus et évités, de sorte que la nécessité de mettre en œuvre un système d'analyse prédictive n'a même pas été discutée. Il était nécessaire de mettre à niveau les systèmes sur la base des données de surveillance.

Analytics sur le genou


Un projet de paie est l'un des plus sensibles en cas d'échec. C'est plus compréhensible pour les prévisions, nous avons donc décidé de commencer par cela. En raison de la connectivité élevée au moment des pics de charge, d'autres sous-systèmes, y compris les services bancaires à distance (RBS), pourraient rencontrer des problèmes. Par exemple, les clients, ravis par SMS de la réception d'argent, ont commencé à les utiliser activement. La charge pourrait bondir de plus d'un ordre de grandeur.

Le premier modèle de prévision a été créé manuellement. Nous avons pris le déchargement de l'année dernière et calculé sur quels jours les pics maximums sont attendus: par exemple les 1er, 15 et 25, ainsi que les derniers jours du mois. Ce modèle a nécessité un travail sérieux et n'a pas donné de prévisions précises. Néanmoins, elle a identifié des goulots d'étranglement où il était nécessaire d'ajouter du matériel, et a permis d'optimiser le processus de transfert d'argent en convenant avec les clients d'ancrage: afin de ne pas verser les salaires en une seule gorgée, les transactions de différentes régions étaient réparties dans le temps. Nous les traitons maintenant en plusieurs parties que l'infrastructure informatique de la banque est capable de mâcher sans faute.

Après avoir obtenu le premier résultat positif, nous sommes passés à l'automatisation des prévisions, une dizaine de sections critiques attendaient notre tour.

Approche intégrée


Chez VTB, ils ont présenté le système de surveillance MicroFocus. De là, nous avons pris la collecte de données de prévision, un système de stockage et un système de reporting. En fait, il y avait déjà du monitoring, il ne restait plus qu'à ajouter des métriques, un module de prédiction et créer de nouveaux rapports. Cette décision est prise en charge par un entrepreneur externe, Technoserv, de sorte que le travail principal sur le projet a été effectué par ses spécialistes, mais nous avons construit le modèle nous-mêmes. Le système de prévision a été créé sur la base de Prophet - ce produit open source a été développé sur Facebook. Il est facile à utiliser et à intégrer avec nos outils complets de surveillance et Vertica. En gros, le système analyse le programme de charge et, sur la base de la série de Fourier, l'extrapole. Il est également possible d'ajouter certains coefficients par jours, tirés de notre modèle. Les mesures sont prises sans intervention humaine, une fois par semaine, les prévisions sont recalculées automatiquement, de nouveaux rapports sont envoyés aux destinataires.

Cette approche révèle les principaux cycles, par exemple, annuel, mensuel, trimestriel et hebdomadaire. Paiements de salaires et d'avances, périodes de vacances, congés et ventes - tout cela affecte le nombre d'appels vers les systèmes. Il s'est avéré, par exemple, que certains cycles se chevauchent et le District fédéral central donne la principale charge (75%) aux systèmes. Les entités juridiques et les individus se comportent différemment. Si la charge de travail des «physiciens» est répartie de manière relativement homogène sur les jours de la semaine (c'est beaucoup de petites transactions), alors les entreprises représentent 99,9% du temps de travail, de plus, les transactions peuvent être courtes et peuvent être traitées en quelques minutes voire quelques heures.



Sur la base des données obtenues, des tendances à long terme sont déterminées. Le nouveau système a révélé que les gens partent massivement pour le RB. Cela est connu de tous, mais nous ne nous attendions pas à une telle ampleur et nous n'y avons pas cru au début: le nombre d'appels aux bureaux de la banque diminue extrêmement rapidement et le nombre de transactions à distance augmente exactement du même montant. Par conséquent, la charge sur le système augmente également et continuera de croître. Nous prévoyons maintenant la charge jusqu'en février 2020. Les jours normaux peuvent être prédits avec une erreur de 3% et les jours de pointe avec une erreur de 10%. C'est un bon résultat.

Pièges


Comme d'habitude, il y a eu quelques difficultés. Le mécanisme d'extrapolation utilisant la série de Fourier passe mal par zéro - nous savons que le week-end, les entités juridiques génèrent peu de transactions, mais le module de prédiction produit des valeurs loin de zéro. Il a été possible de les corriger par la force, mais les béquilles ne sont pas notre méthode. En outre, il était nécessaire de résoudre le problème de la collecte indolore de données à partir des systèmes sources. La collecte régulière d'informations nécessite des ressources informatiques importantes, nous avons donc créé des caches rapides à l'aide de la réplication, nous obtenons déjà des données commerciales à partir des répliques. L'absence de charge supplémentaire sur les systèmes maîtres dans de tels cas est une condition de blocage.

De nouveaux défis


La tâche de prédiction des pics a été résolue: il n'y a eu aucune défaillance bancaire liée à la surcharge depuis mai de cette année, et le nouveau système de prévision a joué un rôle important à cet égard. Oui, cela ne suffisait pas, et maintenant la banque veut comprendre à quel point les pics sont dangereux pour elle. Nous avons besoin de prévisions à l'aide de mesures issues des tests de charge, et pour environ 30% des systèmes critiques, cela fonctionne déjà, les autres sont en train d'obtenir des prévisions. À l'étape suivante, nous allons prédire la charge sur les systèmes non pas dans les transactions commerciales, mais en termes d'infrastructure informatique, c'est-à-dire que nous descendrons une couche en dessous. De plus, nous devons automatiser entièrement la collecte de métriques et construire des prévisions en fonction de celles-ci, afin de ne pas engager de déchargement. Il n'y a rien d'exceptionnel à cela - nous effectuons simplement des contrôles croisés et des tests de résistance conformément aux meilleures pratiques mondiales.

Source: https://habr.com/ru/post/fr472062/


All Articles