Ce document de la Google Cloud perspective Services financiers (SF) du framework d'architecture bien conçu présente les principes et les recommandations pour créer, déployer et exploiter des charges de travail SF robustes dans Google Cloud. Ces recommandations vous aident à configurer des éléments de base tels que l'observabilité, l'automatisation et l'évolutivité. Les recommandations de ce document sont conformes au pilier de l'excellence opérationnelle du Well-Architected Framework.
L'excellence opérationnelle est essentielle pour les charges de travail SF en Google Cloud raison de leur nature hautement réglementée et sensible. Elle garantit que les solutions cloud peuvent s'adapter aux besoins en constante évolution et répondre à vos exigences en termes de valeur, de performances, de sécurité et de fiabilité. Les échecs dans ces domaines peuvent entraîner des pertes financières importantes, des sanctions réglementaires et des atteintes à la réputation.
L'excellence opérationnelle offre les avantages suivants pour les charges de travail SF :
- Maintenir la confiance et la réputation : les établissements financiers dépendent fortement de la confiance de leurs clients. Les perturbations opérationnelles ou les failles de sécurité peuvent sérieusement éroder cette confiance et entraîner une attrition des clients. L'excellence opérationnelle permet de minimiser ces risques.
Répondre à des exigences de conformité réglementaire strictes : les services financiers sont soumis à de nombreuses réglementations complexes, telles que les suivantes :
- Règlement général sur la protection des données (RGPD) de l'UE
- Réglementation DORA de l'UE (Règlement sur la résilience opérationnelle numérique)
- Loi sur la protection des données personnelles du consommateur en Californie (CCPA)
- Réglementations spécifiques au secteur
Des processus opérationnels robustes, une surveillance et une gestion des incidents sont essentiels pour démontrer la conformité aux réglementations et éviter les sanctions.
Assurer la continuité et la résilience de l'activité : les marchés et les services financiers fonctionnent souvent en continu. Par conséquent, la haute disponibilité et la reprise après sinistre efficace sont primordiales. Les principes d'excellence opérationnelle guident la conception et la mise en œuvre de systèmes résilients. Le pilier de la fiabilité fournit plus de conseils dans ce domaine.
Protéger les données sensibles : les établissements financiers traitent de grandes quantités de données financières et client hautement sensibles. Des contrôles opérationnels stricts, une surveillance de la sécurité et une réponse rapide aux incidents sont essentiels pour éviter les violations de données et préserver la confidentialité. Le pilier de la sécurité fournit plus de conseils dans ce domaine.
Optimiser les performances des applications critiques : de nombreuses applications financières, telles que les plates-formes de trading et l'analyse en temps réel, exigent des performances élevées et une faible latence. Pour répondre à ces exigences de performances, vous avez besoin d'une conception de calcul, de mise en réseau et de stockage hautement optimisée. Le pilier de l'optimisation des performances fournit plus de conseils dans ce domaine.
Gérer efficacement les coûts : en plus de la sécurité et de la fiabilité, les établissements financiers se soucient également de la rentabilité. L'excellence opérationnelle inclut des pratiques permettant d'optimiser l'utilisation des ressources et de gérer les dépenses cloud. Le pilier de l'optimisation des coûts fournit plus de conseils dans ce domaine.
Les recommandations d'excellence opérationnelle de ce document sont associées aux principes fondamentaux suivants :
- Définir des contrats de niveau de service et les objectifs et indicateurs de niveau de service correspondants
- Définir et tester les processus de gestion des incidents
- Innover et s'améliorer en continu
Définir des contrats de niveau de service et les objectifs et indicateurs de niveau de service correspondants
Dans de nombreuses organisations SF, la disponibilité des applications est généralement classée en fonction des métriques d'objectif de temps de récupération (RTO) et d'objectif de reprise après sinistre (RPO) métriques. Pour les applications critiques pour l'entreprise qui desservent des clients externes, un contrat de niveau de service peut également être défini.
Les contrats de niveau de service ont besoin d'un framework de métriques qui représente le comportement du système du point de vue de la satisfaction des utilisateurs. Les pratiques d'ingénierie de la fiabilité des sites (SRE) permettent d'atteindre le niveau de fiabilité du système souhaité. La création d'un framework de métriques implique la définition et la surveillance d'indicateurs numériques clés pour comprendre l'état du système du point de vue de l'utilisateur. Par exemple, les métriques telles que la latence et les taux d'erreur quantifient les performances d'un service. Ces métriques sont appelées indicateurs de niveau de service (SLI). Il est essentiel de développer des indicateurs de niveau de service efficaces, car ils fournissent les données brutes nécessaires pour évaluer objectivement la fiabilité.
Pour définir des contrats de niveau de service, des indicateurs de niveau de service et des objectifs de niveau de service pertinents, tenez compte des recommandations suivantes :
- Développez et définissez des indicateurs de niveau de service pour chaque service critique. Définissez des valeurs cibles qui définissent les niveaux de performances acceptables.
- Développez et définissez les objectifs de niveau de service qui correspondent aux indicateurs de niveau de service. Par exemple, un objectif de niveau de service peut indiquer que 99,9% des requêtes doivent avoir une latence inférieure à 200 millisecondes.
- Identifiez les actions correctives internes à entreprendre si un service ne respecte pas les objectifs de niveau de service. Par exemple, pour améliorer la résilience de la plate-forme, vous devrez peut-être concentrer les ressources de développement sur la résolution des problèmes.
- Validez l'exigence de contrat de niveau de service pour chaque service et reconnaissez le contrat de niveau de service comme le contrat formel avec les utilisateurs du service.
Exemples de niveaux de service
Le tableau suivant fournit des exemples d'indicateurs de niveau de service, d'objectifs de niveau de service et de contrats de niveau de service pour une plate-forme de paiement :
| Métrique commerciale | SLI | SLO | Contrat de niveau de service |
|---|---|---|---|
| Réussite des transactions de paiement | Mesure quantitative du pourcentage de toutes les transactions de paiement initiées qui sont traitées et confirmées. Exemple : (nombre de transactions réussies ÷ nombre total de transactions valides) × 100, mesuré sur une fenêtre glissante de 5 minutes. |
Cible interne visant à maintenir un pourcentage élevé de transactions de paiement réussies sur une période spécifique. Exemple : Maintenir un taux de réussite des transactions de paiement de 99,98% sur une fenêtre glissante de 30 jours, à l'exclusion des requêtes non valides et de la maintenance planifiée. |
Garantie contractuelle du taux de réussite et de la vitesse de traitement des transactions de paiement. Exemple : Le fournisseur de services garantit que 99,0 % des transactions de paiement initiées par le client seront traitées et confirmées dans un délai d'une seconde. |
| Latence du traitement des paiements | Temps moyen nécessaire au traitement d'une transaction de paiement, de l'initiation par le client à la confirmation finale. Exemple : Temps de réponse moyen en millisecondes pour la confirmation de la transaction, mesuré sur une fenêtre glissante de 5 minutes. |
Cible interne pour la vitesse à laquelle les transactions de paiement sont traitées. Exemple : S'assurer que 99,5% des transactions de paiement sont traitées dans un délai de 400 millisecondes sur une fenêtre glissante de 30 jours. |
Engagement contractuel à résoudre les problèmes critiques de traitement des paiements dans un délai spécifié. Exemple : Pour les problèmes critiques de traitement des paiements (définis comme une indisponibilité affectant plus de 1% des transactions), le fournisseur de services s'engage à résoudre le problème dans un délai de deux heures à compter du moment où il est signalé ou détecté. |
| Disponibilité de la plate-forme | Pourcentage de temps pendant lequel l'API de traitement des paiements principale et l'interface utilisateur sont opérationnelles et accessibles aux clients. Exemple : (temps de fonctionnement total – temps d'arrêt) ÷ temps de fonctionnement total × 100, mesuré par minute. |
Cible interne pour le temps de disponibilité de la plate-forme de paiement principale. Exemple : Atteindre une disponibilité de la plate-forme de 99,995% par mois calendaire, à l'exclusion des fenêtres de maintenance planifiées. |
Engagement formel et juridiquement contraignant envers les clients concernant le temps de disponibilité minimal de la plate-forme de paiement, y compris les conséquences en cas de non-respect. Exemple : La plate-forme maintiendra une disponibilité minimale de 99,9% par mois calendaire, à l'exclusion des fenêtres de maintenance planifiées. Si la disponibilité est inférieure au niveau minimal, le client recevra un crédit de service de 5% des frais de service mensuels pour chaque baisse de 0,1 %. |
Utilisez les données des indicateurs de niveau de service pour vérifier si les systèmes respectent les objectifs de niveau de service définis et pour vous assurer que les contrats de niveau de service sont respectés. En utilisant un ensemble d'indicateurs de niveau de service bien définis, les ingénieurs et les développeurs peuvent surveiller les applications SF aux niveaux suivants :
- Directement dans le service sur lequel les applications sont déployées, tel que GKE ou Cloud Run.
- À l'aide des journaux fournis par les composants d'infrastructure, tels que l'équilibreur de charge.
OpenTelemetry fournit une norme Open Source et un ensemble de technologies permettant de capturer tous les types de télémétrie, y compris les métriques, les traces et les journaux. Google Cloud Managed Service for Prometheus fournit un backend entièrement géré et hautement évolutif pour les métriques et le fonctionnement de Prometheus à grande échelle.
Pour en savoir plus sur les indicateurs de niveau de service, les objectifs de niveau de service et les marges d'erreur, consultez le manuel SRE.
Pour développer des tableaux de bord et des mécanismes d'alerte et de surveillance efficaces, utilisez Google Cloud Observability outils avec Google Cloud Monitoring. Pour en savoir plus sur les fonctionnalités de surveillance et de détection spécifiques à la sécurité, consultez le pilier de la sécurité.
Définir et tester les processus de gestion des incidents
Des processus de gestion des incidents bien définis et régulièrement testés contribuent directement à la valeur, aux performances, à la sécurité et à la fiabilité des charges de travail SF dans Google Cloud. Ces processus aident les établissements financiers à répondre à leurs exigences réglementaires strictes, à protéger les données sensibles, à maintenir la continuité de l'activité et à préserver la confiance des clients.
Les tests réguliers des processus de gestion des incidents offrent les avantages suivants :
- Maintenir les performances en cas de pics de charge : les tests réguliers des performances et de la charge aident les établissements financiers à s'assurer que leurs applications et leur infrastructure cloud peuvent gérer les volumes de transactions de pointe, la volatilité du marché et d'autres scénarios à forte demande sans dégradation des performances. Cette fonctionnalité est essentielle pour maintenir une expérience utilisateur fluide et répondre aux exigences des marchés financiers.
- Identifier les goulots d'étranglement et les limites potentiels : les tests de résistance poussent les systèmes à leurs limites et permettent aux établissements financiers d' identifier les goulots d'étranglement et les limites de performances potentiels avant qu'ils n' affectent les opérations critiques. Cette approche proactive permet aux établissements financiers d'ajuster leur infrastructure et leurs applications pour des performances et une évolutivité optimales.
- Valider la fiabilité et la résilience : des tests réguliers, y compris l'ingénierie du chaos ou les défaillances simulées, permettent de valider la fiabilité et la résilience des systèmes financiers. Ces tests garantissent que les systèmes peuvent se remettre correctement des défaillances et maintenir une haute disponibilité, ce qui est essentiel pour la continuité de l'activité.
- Effectuer une planification de la capacité efficace : les tests de performances fournissent des données précieuses sur l’utilisation des ressources dans différentes conditions de charge, ce qui est essentiel pour une planification de la capacité précise. Les établissements financiers peuvent utiliser ces données pour anticiper de manière proactive les besoins futurs en capacité et éviter les problèmes de performances dus à des contraintes de ressources.
- Déployer de nouvelles fonctionnalités et des modifications de code : l'intégration de tests automatisés dans les pipelines CI/CD permet de s'assurer que les modifications et les nouveaux déploiements sont entièrement validés avant d'être mis en production. Cette approche réduit considérablement le risque d'erreurs et de régressions pouvant entraîner des perturbations opérationnelles.
- Répondre aux exigences réglementaires en matière de stabilité du système : les réglementations financières exigent souvent que les établissements disposent de pratiques de test robustes pour garantir la stabilité et la fiabilité de leurs systèmes critiques. Des tests réguliers permettent de démontrer la conformité à ces exigences.
Pour définir et tester vos processus de gestion des incidents, tenez compte des recommandations suivantes.
Établir des procédures claires de réponse aux incidents
Un ensemble bien établi de procédures de réponse aux incidents comprend les éléments suivants :
- Rôles et responsabilités définis pour les responsables des incidents, les enquêteurs, les communicateurs et les experts techniques afin de garantir une réponse efficace et coordonnée.
- Protocoles de communication et chemins d'escalade définis pour s'assurer que les informations sont partagées rapidement et efficacement lors des incidents.
- Procédures documentées dans un manuel d'exécution ou un manuel de procédures qui décrit les étapes de communication, de triage, d'enquête et de résolution.
- Formation et préparation régulières qui permettent aux équipes d'acquérir les connaissances et les compétences nécessaires pour répondre efficacement.
Mettre en œuvre régulièrement des tests de performances et de charge
Des tests réguliers des performances et de la charge permettent de s'assurer que les applications et l'infrastructure cloud peuvent gérer les pics de charge et maintenir des performances optimales. Les tests de charge simulent des modèles de trafic réalistes. Les tests de résistance poussent le système à ses limites pour identifier les goulots d'étranglement et les limites de performances potentiels. Vous pouvez utiliser des produits tels que Cloud Load Balancing et des services de test de charge pour simuler le trafic réel. En fonction des résultats des tests, vous pouvez ajuster votre infrastructure cloud et vos applications pour des performances et une évolutivité optimales. Par exemple, vous pouvez ajuster l'allocation des ressources ou affiner les configurations des applications.
Automatiser les tests dans les pipelines CI/CD
L'intégration de tests automatisés dans vos pipelines CI/CD permet de garantir la qualité et la fiabilité des applications cloud en validant les modifications avant le déploiement. Cette approche réduit considérablement le risque d'erreurs et de régressions, et vous aide à créer un système logiciel plus stable et robuste. Vous pouvez intégrer différents types de tests dans vos pipelines CI/CD, y compris les tests unitaires, les tests d'intégration et les tests de bout en bout. Utilisez des produits tels que Cloud Build et Cloud Deploy pour créer et gérer vos pipelines CI/CD.
Innover et s'améliorer en continu
Pour les charges de travail de services financiers dans le cloud, la migration vers le cloud n'est que la première étape. L'amélioration et l'innovation continues sont essentielles pour les raisons suivantes :
- Accélérer l'innovation : tirez parti des nouvelles technologies telles que l'IA pour améliorer vos services.
- Réduire les coûts : éliminez les inefficacités et optimisez l'utilisation des ressources.
- Améliorer l'agilité : adaptez-vous rapidement aux évolutions du marché et de la réglementation.
- Améliorer la prise de décision : utilisez des produits d'analyse de données tels que BigQuery et Looker pour faire des choix éclairés.
Pour garantir l'amélioration et l'innovation continues, tenez compte des recommandations suivantes.
Organiser des rétrospectives régulières
Les rétrospectives sont essentielles pour améliorer en continu les procédures de réponse aux incidents et pour optimiser les stratégies de test en fonction des résultats des tests réguliers des performances et de la charge. Pour vous assurer que les rétrospectives sont efficaces, procédez comme suit :
- Donnez aux équipes la possibilité de réfléchir à leurs expériences, d'identifier ce qui s'est bien passé et de déterminer les points à améliorer.
- Organisez des rétrospectives après les étapes importantes du projet, les incidents majeurs ou les cycles de test importants. Les équipes peuvent tirer des leçons de leurs succès et de leurs échecs, et affiner en continu leurs processus et leurs pratiques.
- Utilisez une approche structurée telle que le modèle "start-stop-continue" pour vous assurer que les sessions rétrospectives sont productives et mènent à des mesures concrètes.
- Utilisez les rétrospectives pour identifier les domaines dans lesquels l'automatisation de la gestion des modifications peut être améliorée afin d'accroître la fiabilité et de réduire les risques.
Favoriser une culture de l'apprentissage
Une culture de l'apprentissage facilite l'exploration sécurisée de nouvelles technologies dans Google Cloud, telles que les fonctionnalités d'IA et de ML pour améliorer des services tels que la détection des fraudes et les conseils financiers personnalisés. Pour promouvoir une culture de l'apprentissage, procédez comme suit :
- Encouragez les équipes à expérimenter, à partager leurs connaissances et à apprendre en continu.
- Adoptez une culture de l'irréprochabilité, où les échecs sont considérés comme des opportunités de croissance et d'amélioration.
- Créez un environnement psychologiquement sûr qui permet aux équipes de prendre des risques et d'envisager des solutions innovantes. Les équipes tirent des leçons de leurs succès et de leurs échecs, ce qui conduit à une organisation plus résiliente et adaptable.
- Développez une culture qui facilite le partage des connaissances acquises grâce aux processus de gestion des incidents et aux exercices de test.
Se tenir informé des technologies cloud
L'apprentissage continu est essentiel pour comprendre et mettre en œuvre de nouvelles mesures de sécurité, tirer parti de l'analyse avancée des données pour obtenir de meilleures informations et adopter des solutions innovantes adaptées aux services financiers.
- Maximisez le potentiel des Google Cloud services en vous tenant informé des dernières avancées, fonctionnalités et bonnes pratiques.
- Lorsque de nouvelles Google Cloud fonctionnalités et de nouveaux services sont introduits, identifiez les opportunités d'automatiser davantage les processus, d'améliorer la sécurité et d'optimiser les performances et l'évolutivité de vos applications.
- Participez à des conférences, des webinaires et des sessions de formation pertinents pour élargir vos connaissances et comprendre les nouvelles fonctionnalités.
- Encouragez les membres de l'équipe à obtenir Google Cloud des certifications pour vous assurer que l'organisation dispose des compétences nécessaires pour réussir dans le cloud.