Questo documento del Google Cloud Well-Architected Framework: prospettiva dei servizi finanziari (FS) fornisce una panoramica dei principi e dei consigli per creare, eseguire il deployment e gestire workload FS solidi in Google Cloud. Questi suggerimenti ti aiutano a configurare elementi fondamentali come osservabilità, automazione e scalabilità. I consigli contenuti in questo documento sono in linea con il pilastro dell'eccellenza operativa del Well-Architected Framework.
L'eccellenza operativa è fondamentale per i workload FS in Google Cloud a causa della natura altamente regolamentata e sensibile di questi workload. L'eccellenza operativa garantisce che le soluzioni cloud possano adattarsi alle esigenze in evoluzione e soddisfare i tuoi requisiti di valore, prestazioni, sicurezza e affidabilità. Gli errori in queste aree potrebbero comportare perdite finanziarie significative, sanzioni normative e danni alla reputazione.
L'eccellenza operativa offre i seguenti vantaggi per i workload FS:
- Mantenere la fiducia e la reputazione: gli istituti finanziari fanno molto affidamento sulla fiducia dei propri clienti. Le interruzioni operative o le violazioni della sicurezza possono erodere gravemente questa fiducia e causare l'abbandono dei clienti. L'eccellenza operativa aiuta a ridurre al minimo questi rischi.
Soddisfare i rigorosi requisiti di conformità legale: i servizi finanziari sono soggetti a numerose e complesse normative, tra cui:
- Regolamento generale sulla protezione dei dati (GDPR) dell'Unione Europea
- Digital Operational Resilience Act (DORA) dell'UE
- California Consumer Privacy Act (CCPA)
- Normative specifiche del settore
Processi operativi, monitoraggio e gestione degli incidenti solidi sono essenziali per dimostrare la conformità alle normative ed evitare sanzioni.
Garantire la continuità aziendale e la resilienza: i mercati e i servizi finanziari spesso operano in modo continuo. Pertanto, l'alta affidabilità e un ripristino di emergenza efficace sono fondamentali. I principi di eccellenza operativa guidano la progettazione e l'implementazione di sistemi resilienti. Il pilastro dell'affidabilità fornisce ulteriori indicazioni in questo ambito.
Proteggere i dati sensibili: gli istituti finanziari gestiscono grandi quantità di dati finanziari e dei clienti altamente sensibili. Controlli operativi efficaci, monitoraggio della sicurezza e risposta rapida agli incidenti sono fondamentali per prevenire le violazioni dei dati e mantenere la privacy. Il pilastro della sicurezza fornisce ulteriori indicazioni in questo ambito.
Ottimizza le prestazioni per le applicazioni critiche: molte applicazioni finanziarie, come le piattaforme di trading e l'analisi in tempo reale, richiedono prestazioni elevate e bassa latenza. Per soddisfare questi requisiti di prestazioni, devi progettare risorse di computing, networking e archiviazione altamente ottimizzate. Il pilastro Ottimizzazione delle prestazioni fornisce ulteriori indicazioni in quest'area.
Gestisci i costi in modo efficace: oltre alla sicurezza e all'affidabilità, gli istituti finanziari sono interessati anche all'efficienza dei costi. L'eccellenza operativa include pratiche per ottimizzare l'utilizzo delle risorse e gestire la spesa per il cloud. Il pilastro dell'ottimizzazione dei costi fornisce ulteriori indicazioni in quest'area.
I suggerimenti per l'eccellenza operativa contenuti in questo documento sono mappati ai seguenti principi fondamentali:
- Definisci gli SLA e gli SLO e SLI corrispondenti
- Definisci e testa i processi di gestione degli incidenti
- Miglioramento e innovazione continui
Definisci gli SLA e gli SLO e SLI corrispondenti
In molte organizzazioni di servizi finanziari, la disponibilità delle applicazioni è in genere classificata in base alle metriche Recovery Time Objective (RTO) e Recovery Point Objective (RPO). Per le applicazioni business-critical che servono clienti esterni, potrebbe essere definito anche un accordo sul livello del servizio (SLA).
Gli SLA richiedono un framework di metriche che rappresenti il comportamento del sistema dal punto di vista della soddisfazione degli utenti. Le pratiche di Site Reliability Engineering (SRE) offrono un modo per raggiungere il livello di affidabilità del sistema che desideri. La creazione di un framework di metriche prevede la definizione e il monitoraggio di indicatori numerici chiave per comprendere l'integrità del sistema dal punto di vista dell'utente. Ad esempio, metriche come la latenza e le percentuali di errori quantificano il rendimento di un servizio. Queste metriche sono chiamate indicatori del livello del servizio (SLI). Lo sviluppo di SLI efficaci è fondamentale, perché forniscono i dati non elaborati necessari per valutare oggettivamente l'affidabilità.
Per definire SLA, SLI e SLO significativi, tieni conto dei seguenti suggerimenti:
- Sviluppa e definisci gli SLI per ogni servizio critico. Imposta i valori target che definiscono i livelli di prestazioni accettabili.
- Sviluppa e definisci gli obiettivi del livello di servizio (SLO) corrispondenti agli SLI. Ad esempio, uno SLO potrebbe indicare che il 99,9% delle richieste deve avere una latenza inferiore a 200 millisecondi.
- Identifica le azioni correttive interne da intraprendere se un servizio non soddisfa gli SLO. Ad esempio, per migliorare la resilienza della piattaforma, potrebbe essere necessario concentrare le risorse di sviluppo sulla risoluzione dei problemi.
- Convalida il requisito dello SLA per ogni servizio e riconosci lo SLA come contratto formale con gli utenti del servizio.
Esempi di livelli di servizio
La tabella seguente fornisce esempi di SLI, SLO e SLA per una piattaforma di pagamento:
| Metrica aziendale | SLI | SLO | SLA (accordo sul livello del servizio) |
|---|---|---|---|
| Transazione di pagamento riuscita | Una misura quantitativa della percentuale di tutte le transazioni di pagamento avviate che vengono elaborate e confermate correttamente. Esempio: (numero di transazioni riuscite ÷ numero totale di transazioni valide) × 100, misurato in un periodo di 5 minuti. |
Un target interno per mantenere un'alta percentuale di transazioni di pagamento andate a buon fine in un periodo specifico. Esempio: mantieni un tasso di successo delle transazioni di pagamento del 99,98% in un periodo di 30 giorni, escluse le richieste non valide e la manutenzione pianificata. |
Una garanzia contrattuale per il tasso di successo e la velocità di elaborazione delle transazioni di pagamento. Esempio: il fornitore di servizi garantisce che il 99,0% delle transazioni di pagamento avviate dal cliente verrà elaborato e confermato correttamente entro un secondo. |
| Latenza di elaborazione dei pagamenti | Il tempo medio necessario per l'elaborazione di una transazione di pagamento dall'avvio da parte del cliente alla conferma finale. Esempio: tempo di risposta medio in millisecondi per la conferma della transazione, misurato in un periodo di 5 minuti. |
Un target interno per la velocità di elaborazione delle transazioni di pagamento. Esempio: assicurati che il 99,5% delle transazioni di pagamento venga elaborato entro 400 millisecondi in una finestra di 30 giorni consecutivi. |
Un impegno contrattuale a risolvere i problemi critici di elaborazione dei pagamenti entro un periodo di tempo specificato. Esempio: per problemi critici di elaborazione dei pagamenti (definiti come un'interruzione che interessa più dell'1% delle transazioni), il fornitore di servizi si impegna a risolvere il problema entro due ore dal momento in cui viene segnalato o rilevato. |
| Disponibilità delle piattaforme | La percentuale di tempo in cui l'API di elaborazione dei pagamenti principale e l'interfaccia utente sono operative e accessibili ai clienti. Esempio: (tempo operativo totale - tempo di inattività) ÷ tempo operativo totale x 100, misurato al minuto. |
Un target interno per l'uptime della piattaforma di pagamento principale. Esempio: raggiungere il 99,995% di disponibilità della piattaforma per mese di calendario, esclusi i periodi di manutenzione pianificati. |
Un impegno formale e legalmente vincolante nei confronti dei clienti in merito al tempo di attività minimo della piattaforma di pagamento, incluse le conseguenze in caso di mancato rispetto. Esempio: la piattaforma manterrà una disponibilità minima del 99,9% per mese di calendario, esclusi i periodi di manutenzione pianificati. Se la disponibilità scende al di sotto del livello minimo, il cliente riceverà un credito di servizio pari al 5% della commissione di servizio mensile per ogni calo dello 0,1%. |
Utilizza i dati SLI per monitorare se i sistemi rientrano negli SLO definiti e per assicurarti che gli SLA vengano rispettati. Utilizzando un insieme di SLI ben definiti, ingegneri e sviluppatori possono monitorare le applicazioni FS ai seguenti livelli:
- Direttamente all'interno del servizio in cui viene eseguito il deployment delle applicazioni, ad esempio Google Kubernetes Engine o Cloud Run.
- Utilizzando i log forniti dai componenti dell'infrastruttura, come il bilanciatore del carico.
OpenTelemetry fornisce uno standard open source e un set di tecnologie per acquisire tutti i tipi di telemetria, tra cui metriche, tracce e log. Google Cloud Managed Service per Prometheus fornisce un backend completamente gestito e altamente scalabile per le metriche e il funzionamento di Prometheus su larga scala.
Per ulteriori informazioni su SLI, SLO e budget di errore, consulta il manuale SRE.
Per sviluppare dashboard e meccanismi di monitoraggio e avviso efficaci, utilizza gli strumenti di Google Cloud Observability insieme a Cloud Monitoring. Per informazioni sulle funzionalità di monitoraggio e rilevamento specifiche per la sicurezza, consulta il pilastro della sicurezza.
Definisci e testa i processi di gestione degli incidenti
Processi di gestione degli incidenti ben definiti e testati regolarmente contribuiscono direttamente al valore, alle prestazioni, alla sicurezza e all'affidabilità dei workload FS in Google Cloud. Questi processi aiutano gli istituti finanziari a soddisfare i loro rigorosi requisiti normativi, proteggere i dati sensibili, mantenere la continuità aziendale e preservare la fiducia dei clienti.
I test regolari dei processi di gestione degli incidenti offrono i seguenti vantaggi:
- Mantenere le prestazioni in caso di picchi di carico: i test regolari delle prestazioni e del carico aiutano gli istituti finanziari a garantire che le loro applicazioni e infrastrutture basate su cloud possano gestire volumi di transazioni di picco, volatilità del mercato e altri scenari di domanda elevata senza compromettere le prestazioni. Questa funzionalità è fondamentale per mantenere un'esperienza utente fluida e soddisfare le esigenze dei mercati finanziari.
- Identificare potenziali colli di bottiglia e limitazioni: i test di stress spingono i sistemi ai loro limiti e consentono agli istituti finanziari di identificare potenziali colli di bottiglia e limitazioni delle prestazioni prima che influiscano sulle operazioni critiche. Questo approccio proattivo consente agli istituti finanziari di adattare la propria infrastruttura e le proprie applicazioni per ottenere prestazioni e scalabilità ottimali.
- Convalida l'affidabilità e la resilienza: i test regolari, tra cui il chaos engineering o gli errori simulati, aiutano a convalidare l'affidabilità e la resilienza dei sistemi finanziari. Questo test garantisce che i sistemi possano riprendersi correttamente dagli errori e mantenere un'alta affidabilità, essenziale per la continuità aziendale.
- Eseguire una pianificazione della capacità efficace: i test delle prestazioni forniscono dati preziosi sull'utilizzo delle risorse in diverse condizioni di carico, il che è fondamentale per una pianificazione della capacità accurata. Gli istituti finanziari possono utilizzare questi dati per anticipare in modo proattivo le esigenze di capacità future ed evitare problemi di prestazioni dovuti a vincoli delle risorse.
- Esegui il deployment di nuove funzionalità e modifiche al codice con successo: l'integrazione dei test automatizzati nelle pipeline CI/CD contribuisce a garantire che le modifiche e i nuovi deployment vengano convalidati accuratamente prima di essere rilasciati negli ambienti di produzione. Questo approccio riduce significativamente il rischio di errori e regressioni che potrebbero causare interruzioni operative.
- Soddisfare i requisiti normativi per la stabilità del sistema: le normative finanziarie spesso richiedono agli istituti di adottare pratiche di test efficaci per garantire la stabilità e l'affidabilità dei loro sistemi critici. Test regolari aiutano a dimostrare la conformità a questi requisiti.
Per definire e testare i processi di gestione degli incidenti, tieni conto dei seguenti suggerimenti.
Stabilisci procedure di risposta agli incidenti chiare
Un insieme consolidato di procedure di risposta agli incidenti prevede i seguenti elementi:
- Ruoli e responsabilità definiti per i responsabili degli incidenti, gli investigatori, i comunicatori e i tecnici esperti per garantire una risposta efficace e coordinata.
- Protocolli di comunicazione e percorsi di escalation definiti per garantire che le informazioni vengano condivise in modo tempestivo ed efficace durante gli incidenti.
- Procedure documentate in un runbook o playbook che descrive i passaggi per la comunicazione, il triage, l'indagine e la risoluzione.
- Formazione e preparazione regolari che forniscono ai team le conoscenze e le competenze necessarie per rispondere in modo efficace.
Implementa regolarmente test di prestazioni e di carico
Test di prestazioni e carico regolari aiutano a garantire che le applicazioni e l'infrastruttura basate su cloud possano gestire i carichi di picco e mantenere prestazioni ottimali. I test di carico simulano pattern di traffico realistici. I test di stress mettono alla prova il sistema fino ai suoi limiti per identificare potenziali colli di bottiglia e limitazioni delle prestazioni. Puoi utilizzare prodotti come Cloud Load Balancing e servizi di test di carico per simulare il traffico reale. In base ai risultati dei test, puoi modificare l'infrastruttura cloud e le applicazioni per ottenere prestazioni e scalabilità ottimali. Ad esempio, puoi modificare l'allocazione delle risorse o ottimizzare le configurazioni delle applicazioni.
Automatizza i test all'interno delle pipeline CI/CD
L'integrazione di test automatizzati nelle pipeline CI/CD contribuisce a garantire la qualità e l'affidabilità delle applicazioni cloud convalidando le modifiche prima del deployment. Questo approccio riduce significativamente il rischio di errori e regressioni e ti aiuta a creare un sistema software più stabile e solido. Puoi incorporare diversi tipi di test nelle tue pipeline CI/CD, tra cui test delle unità, test di integrazione e test end-to-end. Utilizza prodotti come Cloud Build e Cloud Deploy per creare e gestire le tue pipeline CI/CD.
Miglioramento e innovazione continui
Per i workload di servizi finanziari nel cloud, la migrazione al cloud è solo il primo passo. Il miglioramento e l'innovazione continui sono essenziali per i seguenti motivi:
- Accelerare l'innovazione: sfrutta le nuove tecnologie come l'AI per migliorare i tuoi servizi.
- Riduzione dei costi: elimina le inefficienze e ottimizza l'utilizzo delle risorse.
- Migliorare l'agilità: adattarsi rapidamente ai cambiamenti del mercato e delle normative.
- Migliorare il processo decisionale: utilizza prodotti di analisi dei dati come BigQuery e Looker per fare scelte consapevoli.
Per garantire un miglioramento e un'innovazione continui, prendi in considerazione i seguenti consigli.
Conduci retrospettive regolari
Le retrospettive sono fondamentali per migliorare continuamente le procedure di risposta agli incidenti e per ottimizzare le strategie di test in base ai risultati dei test regolari di prestazioni e carico. Per garantire l'efficacia delle retrospettive, segui questi passaggi:
- Offri ai team l'opportunità di riflettere sulle loro esperienze, identificare ciò che è andato bene e individuare le aree di miglioramento.
- Organizza retrospettive dopo i traguardi del progetto, gli incidenti principali o i cicli di test significativi. I team possono imparare sia dai successi che dai fallimenti e perfezionare continuamente i propri processi e le proprie pratiche.
- Utilizza un approccio strutturato come il modello start-stop-continue per garantire che le sessioni di retrospettiva siano produttive e portino a passaggi attuabili.
- Utilizza le retrospettive per identificare le aree in cui l'automazione della gestione delle modifiche può essere ulteriormente migliorata per aumentare l'affidabilità e ridurre i rischi.
Promuovi una cultura dell'apprendimento
Una cultura dell'apprendimento facilita l'esplorazione sicura di nuove tecnologie inGoogle Cloud, come le funzionalità di AI e ML per migliorare servizi come il rilevamento delle frodi e la consulenza finanziaria personalizzata. Per promuovere una cultura dell'apprendimento, procedi nel seguente modo:
- Incoraggia i team a sperimentare, condividere le conoscenze e imparare continuamente.
- Adotta una cultura senza colpe, in cui gli errori sono visti come opportunità di crescita e miglioramento.
- Crea un ambiente psicologicamente sicuro che consenta ai team di assumersi rischi e prendere in considerazione soluzioni innovative. I team imparano sia dai successi che dai fallimenti, il che porta a un'organizzazione più resiliente e adattabile.
- Sviluppa una cultura che faciliti la condivisione delle conoscenze acquisite dai processi di gestione degli incidenti e dalle esercitazioni di test.
Rimani al passo con le tecnologie cloud
L'apprendimento continuo è essenziale per comprendere e implementare nuove misure di sicurezza, sfruttare l'analisi dei dati avanzata per ottenere insight migliori e adottare soluzioni innovative pertinenti ai servizi finanziari.
- Sfrutta al massimo il potenziale dei servizi Google Cloud rimanendo al corrente degli ultimi progressi, delle funzionalità e delle best practice.
- Quando vengono introdotti nuovi servizi e funzionalità di Google Cloud , identifica le opportunità per automatizzare ulteriormente i processi, rafforzare la sicurezza e migliorare le prestazioni e la scalabilità delle tue applicazioni.
- Partecipa a conferenze, webinar e sessioni di formazione pertinenti per ampliare le tue conoscenze e comprendere le nuove funzionalità.
- Incoraggia i membri del team a ottenere certificazioniGoogle Cloud per garantire che l'organizzazione disponga delle competenze necessarie per avere successo nel cloud.