Valuta i requisiti di affidabilità per i tuoi carichi di lavoro cloud

Last reviewed 2024-11-20 UTC

Il primo passo per creare un'infrastruttura affidabile per i tuoi carichi di lavoro cloud consiste nell'identificare i requisiti di affidabilità dei carichi di lavoro. Questa parte della guida all'affidabilità dell'infrastruttura Google Cloud fornisce linee guida per aiutarti a definire i requisiti di affidabilità dei carichi di lavoro che esegui in Google Cloud.

Determina i requisiti specifici del carico di lavoro

I requisiti di affidabilità di un'applicazione dipendono dalla natura del servizio fornito o dalla procedura eseguita. Ad esempio, un'applicazione che fornisce servizi ATM per una banca potrebbe richiedere una disponibilità di 5 nove. Un sito web che supporta una piattaforma di trading online potrebbe richiedere una disponibilità del 99,999999999% e un tempo di risposta rapido. Un processo batch che scrive le transazioni bancarie in un registro contabile alla fine di ogni giorno potrebbe avere un obiettivo di aggiornamento dei dati di otto ore.

All'interno di un'applicazione, i singoli componenti o le singole operazioni potrebbero avere requisiti di affidabilità diversi. Ad esempio, un'applicazione di elaborazione degli ordini potrebbe richiedere un'affidabilità maggiore per le operazioni che scrivono dati nel database degli ordini rispetto alle richieste di lettura.

Valutare i requisiti di affidabilità dei carichi di lavoro in modo granulare ti aiuta a concentrarti sulle spese e sugli sforzi per i carichi di lavoro fondamentali per la tua attività.

Identificare i periodi critici

Potrebbero esserci periodi in cui un'applicazione è più importante per l'attività rispetto ad altre volte. Questi periodi sono spesso quelli in cui l'applicazione ha il picco di caricamento. Identifica questi periodi, pianifica una capacità adeguata e testa l'applicazione in condizioni di picco di carico. Per evitare il rischio di interruzioni dell'applicazione durante i periodi di picco di carico, puoi utilizzare pratiche operative appropriate come il blocco del codice di produzione.

Di seguito sono riportati alcuni esempi di applicazioni che presentano picchi di caricamento stagionali:

  • Il modulo di inventario di un'applicazione di contabilità finanziaria viene in genere utilizzato più intensamente nei giorni in cui sono pianificati i controlli dell'inventario mensile, trimestrale o annuale.
  • Un sito web di e-commerce presenta picchi di carico significativi durante le stagioni di picco degli acquisti o gli eventi promozionali.
  • Un database che supporta il modulo di ammissione degli studenti di un'università avrebbe un volume elevato di operazioni di scrittura durante alcuni mesi di ogni anno.
  • Un servizio di dichiarazione dei redditi online avrebbe un carico elevato durante la stagione di dichiarazione dei redditi.
  • Una piattaforma di trading online potrebbe richiedere una disponibilità del 99, 9999% e tempi di risposta rapidi, ma solo durante l'orario di negoziazione (ad esempio dalle 8:00 alle 17:00 dal lunedì al venerdì).

Prendi in considerazione altri requisiti non funzionali

Oltre ai requisiti di affidabilità, le applicazioni aziendali possono avere altri importanti requisiti non funzionali per sicurezza, prestazioni, costi ed efficienza operativa. Quando valuti i requisiti di affidabilità di un'applicazione, tieni conto delle dipendenze e dei compromessi con questi altri requisiti.

Di seguito sono riportati esempi di requisiti che non riguardano l'affidabilità, ma possono comportare compromessi con i requisiti di affidabilità.

  • Ottimizzazione dei costi:per ottimizzare i costi IT, la tua organizzazione potrebbe imporre quote per determinate risorse cloud. Ad esempio, per ridurre il costo delle licenze software di terze parti, la tua organizzazione potrebbe impostare quote per il numero di core di calcolo di cui è possibile eseguire il provisioning. Possono essere previste quote simili per la quantità di dati che possono essere archiviati e per il volume del traffico di rete tra regioni. Valuta gli effetti di questi vincoli di costo sulle opzioni disponibili per la progettazione di un'infrastruttura affidabile.
  • Territorialità dei dati:per soddisfare i requisiti normativi, la tua applicazione potrebbe dover archiviare ed elaborare i dati in paesi specifici, anche se l'attività serve utenti a livello globale. Tieni conto di questi vincoli di residenza dei dati quando decidi le regioni e le zone in cui possono essere implementate le tue applicazioni.

Alcune decisioni di progettazione prese per soddisfare altri requisiti possono contribuire a migliorare l'affidabilità delle applicazioni. Di seguito sono riportati alcuni esempi:

  • Automazione del deployment: per gestire in modo efficiente i deployment cloud, puoi decidere di automatizzare il flusso di provisioning utilizzando Infrastructure as Code (IaC). Analogamente, puoi automatizzare il processo di compilazione e deployment dell'applicazione utilizzando una pipeline di integrazione e deployment continui (CI/CD). L'utilizzo di IaC e pipeline CI/CD può contribuire a migliorare non solo l'efficienza operativa, ma anche l'affidabilità dei carichi di lavoro.
  • Controlli di sicurezza: i controlli di sicurezza che implementi possono anche contribuire a migliorare la disponibilità dell'applicazione. Ad esempio, i criteri di sicurezza di Google Cloud Armor possono contribuire a garantire che l'applicazione rimanga disponibile durante gli attacchi denial of service (DoS).
  • Memorizzazione nella cache dei contenuti:per migliorare il rendimento di un'applicazione di pubblicazione di contenuti, puoi attivare la memorizzazione nella cache nell'ambito della configurazione del bilanciatore del carico. Con questo design, gli utenti non solo hanno un accesso più rapido ai contenuti, ma anche una maggiore disponibilità. Possono accedere ai contenuti memorizzati nella cache anche quando i server di origine non sono disponibili.

Rivalutare periodicamente i requisiti

Man mano che la tua attività si evolve e cresce, i requisiti delle tue applicazioni potrebbero cambiare. Rivaluta periodicamente i requisiti di affidabilità e assicurati che siano in linea con gli obiettivi e le priorità commerciali attuali della tua organizzazione.

Prendiamo in considerazione un'applicazione che offre un livello standard di disponibilità per tutti gli utenti. Potresti aver eseguito il deployment dell'applicazione in due zone all'interno di una regione con un bilanciatore del carico a livello di regione come frontend. Se la tua organizzazione prevede di lanciare un'opzione di servizio premium che offra una maggiore disponibilità, i requisiti di affidabilità dell'applicazione sono cambiati. Per soddisfare i nuovi requisiti di disponibilità, potrebbe essere necessario eseguire il deployment dell'applicazione in più regioni e utilizzare un bilanciatore del carico globale con Cloud CDN abilitato.

Un'altra opportunità per rivalutare i requisiti di disponibilità delle tue applicazioni si presenta dopo un'interruzione del servizio. Le interruzioni del servizio potrebbero mettere in evidenza aspettative non corrispondenti tra i diversi team della tua attività. Ad esempio, un team potrebbe considerare accettabile un'interruzione di 45 minuti una volta all'anno (ovvero una disponibilità annuale del 99, 99%). Un altro team potrebbe invece prevedere un tempo di inattività massimo di 4,3 minuti al mese (ovvero una disponibilità mensile del 99,99%). A seconda di come decidi di modificare o chiarire i requisiti di disponibilità, devi aggiustare la tua architettura per soddisfare i nuovi requisiti.