Surveillance + tests de charge = prédiction et pas de panne

Le service informatique de VTB a dû faire face à plusieurs reprises à des situations d'urgence dans le fonctionnement des systèmes, lorsque la charge sur ceux-ci a augmenté plusieurs fois. Il était donc nécessaire de développer et de tester un modèle capable de prédire la charge de pointe sur les systèmes critiques. Pour ce faire, les informaticiens de la banque ont mis en place une surveillance, analysé les données et appris à automatiser les prévisions. Nous vous dirons dans un court article quels outils ont permis de prédire la charge et s'ils ont permis d'optimiser le travail.

Surveillance + tests de charge = prédiction et pas de panne

Les problèmes liés aux services à forte charge surviennent dans presque tous les secteurs, mais pour le secteur financier, ils sont critiques. À l'heure X, toutes les unités de combat devaient être prêtes et il fallait donc savoir à l'avance ce qui pourrait arriver et même déterminer le jour où la charge sauterait et quels systèmes la rencontreraient. Les pannes doivent être traitées et évitées, c'est pourquoi la nécessité de mettre en œuvre un système d'analyse prédictive n'a même pas été évoquée. Il était nécessaire de moderniser les systèmes basés sur les données de surveillance.

L'analyse à genoux

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

Le premier modèle de prévision a été créé manuellement. Nous avons pris les remontées de l'année dernière et calculé quels jours les pics maximaux sont attendus : par exemple, le 1er, le 15 et le 25, ainsi que les derniers jours du mois. Ce modèle nécessitait des coûts de main-d'œuvre importants et ne fournissait pas de prévisions précises. Néanmoins, il a identifié les 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 se mettant d'accord avec les clients piliers : afin de ne pas donner les salaires d'un seul coup, les transactions des différentes régions ont été espacées dans le temps. Nous les traitons désormais en parties que l’infrastructure informatique de la banque peut « mâcher » sans panne.

Après avoir reçu le premier résultat positif, nous sommes passés à l'automatisation des prévisions. Une douzaine de domaines critiques supplémentaires attendaient leur tour.

Approche globale

VTB a mis en place un système de surveillance de MicroFocus. De là, nous avons pris la collecte de données pour les prévisions, un système de stockage et un système de reporting. En fait, le monitoring était déjà en place, il ne restait plus qu'à ajouter des métriques, un module de prédiction et créer de nouveaux rapports. Cette décision est soutenue par l'entrepreneur externe Technoserv, donc l'essentiel du travail de mise en œuvre du projet a été confié à ses spécialistes, mais nous avons construit le modèle nous-mêmes. Le système de prévision a été réalisé sur la base de Prophet, un produit open source développé par Facebook. Il est facile à utiliser et s'intègre facilement à nos outils de surveillance intégrés installés et à Vertica. En gros, le système analyse le graphique de charge et l'extrapole sur la base des séries de Fourier. Il est également possible d'ajouter certains coefficients par jour, tirés de notre modèle. Les mesures sont prises sans intervention humaine, les prévisions sont automatiquement recalculées une fois par semaine et de nouveaux rapports sont envoyés aux destinataires. 

Cette approche identifie les principales cyclicités, par exemple annuelles, mensuelles, trimestrielles et hebdomadaires. Paiements de salaires et d'avances, périodes de vacances, congés et ventes - tout cela affecte le nombre d'appels aux systèmes. Il s'est avéré, par exemple, que certains cycles se chevauchent et que la charge principale (75 %) sur les systèmes provient du District fédéral central. Les personnes morales et les personnes physiques se comportent différemment. Si la charge des « physiciens » est répartie relativement uniformément sur les jours de la semaine (il s'agit de beaucoup de petites transactions), alors pour les entreprises, 99,9 % sont consacrés aux heures de travail, et les transactions peuvent être courtes, ou peuvent être traitées en plusieurs minutes, voire heures.

Surveillance + tests de charge = prédiction et pas de panne

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 se tournent massivement vers les services bancaires à distance. Tout le monde le sait, mais nous ne nous attendions pas à une telle ampleur et n'y croyions pas au début : le nombre d'appels vers les agences bancaires diminue extrêmement rapidement, et le nombre de transactions à distance augmente exactement du même montant. En conséquence, la charge sur les systèmes augmente également et continuera de croître. Nous prévoyons désormais 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, cela ne s’est pas fait sans difficultés. Le mécanisme d'extrapolation utilisant les séries de Fourier ne passe pas bien par zéro - on sait que les personnes morales génèrent peu de transactions le week-end, mais le module de prédiction produit des valeurs loin de zéro. Il était possible de les corriger par la force, mais les béquilles ne sont pas notre méthode. De plus, nous avons dû résoudre le problème de la récupération sans douleur des données des systèmes sources. La collecte régulière d'informations nécessite d'importantes ressources informatiques, c'est pourquoi nous avons créé des caches rapides en utilisant la réplication et recevons les données commerciales des répliques. Dans de tels cas, l'absence de charge supplémentaire sur les systèmes maîtres constitue une exigence bloquante.

Nouveaux défis

La tâche simple de prévision des pics a été résolue : depuis mai de cette année, aucune défaillance de la banque due à une surcharge n'est survenue et le nouveau système de prévision a joué un rôle important à cet égard. Oui, cela s'est avéré insuffisant, et maintenant la banque veut comprendre à quel point les pics sont dangereux pour elle. Nous avons besoin de prédictions utilisant les métriques des tests de charge, et pour environ 30 % des systèmes critiques, cela fonctionne déjà, le reste est en train d'obtenir des prédictions. À 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 d'un niveau. De plus, nous devons automatiser entièrement la collecte de métriques et la construction de prévisions basées sur celles-ci, afin de ne pas avoir à gérer les téléchargements. Il n'y a rien d'extraordinaire à cela : nous croisons simplement la surveillance et les tests de charge conformément aux meilleures pratiques mondiales.

Source: habr.com

Ajouter un commentaire