Questo elenco di controllo per il lancio fornisce un elenco di considerazioni da fare prima di lanciare un'applicazione di produzione su Spanner. Non è pensato per essere esaustivo, ma serve a evidenziare le considerazioni chiave per ridurre al minimo i rischi, ottimizzare il rendimento e garantire l'allineamento con gli obiettivi aziendali e operativi, offrendo un approccio sistematico per fornire un'implementazione di Spanner fluida e affidabile.
Questo elenco di controllo è suddiviso nelle seguenti sezioni:
- Progettazione, sviluppo, test e ottimizzazione
- Migrazione (facoltativo)
- Deployment
- Ottimizzazione delle query e gestione delle statistiche
- Ripristino di emergenza
- Sicurezza
- Logging e monitoraggio
- Libreria client
- Assistenza
- Gestione dei costi
Progettazione, sviluppo, test e ottimizzazione
L'ottimizzazione della progettazione dello schema, delle transazioni e delle query è essenziale per utilizzare l'architettura distribuita di Spanner per ottenere prestazioni e scalabilità elevate. Test rigorosi su larga scala e end-to-end garantiscono che il sistema possa gestire carichi di lavoro reali, picchi di carico e operazioni simultanee, riducendo al minimo i rischi di colli di bottiglia o errori in produzione.
Casella di controllo | Attività |
---|---|
❑ |
Progetta lo schema tenendo presente la scalabilità e l'architettura distribuita di Spanner. Segui le best practice, ad esempio
seleziona chiavi primarie e indici appropriati per evitare hotspot e
valuta ottimizzazioni come l'interleaving delle tabelle per i dati correlati. Esamina le
best practice per la progettazione dello schema
per assicurarti che lo schema supporti sia prestazioni elevate che scalabilità
nei carichi di lavoro previsti.
|
❑ |
Ottimizza le transazioni e le query per ridurre al minimo il blocco e massimizzare le prestazioni. Utilizza le modalità di transazione di Spanner, ad esempio
istruzioni DML partizionate, di lettura-scrittura con blocco e di sola lettura con elevata coerenza, per bilanciare coerenza, velocità effettiva e latenza. Riduci al minimo
gli ambiti di blocco utilizzando
transazioni di sola lettura
per le query, batch
per il massimo throughput DML o
istruzioni DML partizionate per
aggiornamenti ed eliminazioni su larga scala. Quando esegui la migrazione da sistemi con
livelli di isolamento diversi (ad esempio PostgreSQL o MySQL),
utilizza le transazioni per evitare colli di bottiglia delle prestazioni. Per maggiori informazioni,
vedi Transazioni.
|
❑ |
Esegui test di carico rigorosi su larga scala per convalidare la progettazione dello schema,
il comportamento delle transazioni e il rendimento delle query. Simula scenari di picco e
ad alta concorrenza che imitano i carichi delle applicazioni reali,
inclusi diversi schemi di transazione e query. Valuta
latenza e velocità effettiva in queste condizioni per verificare che la
progettazione del database e la topologia dell'istanza soddisfino i requisiti di prestazioni.
Utilizza il test di carico in modo iterativo durante lo sviluppo per ottimizzare e
migliorare l'implementazione.
|
❑ |
Estendi il test di carico a tutti i servizi che interagiscono, non solo
alle applicazioni isolate. Simula percorsi utente completi
insieme a processi paralleli, come caricamenti batch o attività
amministrative che accedono al database. Esegui test sulla configurazione dell'istanza Spanner di produzione, assicurandoti che i driver e i servizi di test di carico siano allineati geograficamente con la topologia di deployment di produzione prevista. Questo approccio olistico identifica
potenziali conflitti in anticipo e garantisce prestazioni fluide del database
durante le operazioni reali.
|
❑ |
Per garantire prestazioni prevedibili delle query, utilizza la versione dello strumento di ottimizzazione su cui è stato testato il carico di lavoro. Per impostazione predefinita,
i database Spanner utilizzano l'ultima versione dello strumento di ottimizzazione delle query.
Valuta regolarmente le nuove versioni dell'ottimizzatore
in un ambiente controllato e aggiorna la versione predefinita solo dopo
aver confermato la compatibilità e i miglioramenti delle prestazioni. Per ulteriori
informazioni, consulta
Panoramica dello Strumento di ottimizzazione delle query.
|
❑ |
Assicurati che le statistiche dell'ottimizzatore di query
siano aggiornate per supportare piani di esecuzione delle query efficienti.
Sebbene le statistiche vengano aggiornate automaticamente, valuta la possibilità di
creare manualmente un nuovo pacchetto di statistiche
in scenari quali modifiche dei dati su larga scala (ad esempio inserimenti, aggiornamenti o eliminazioni collettivi), aggiunta di nuovi indici o modifiche dello schema.
Mantenere aggiornate le statistiche dello strumento di ottimizzazione delle query è fondamentale per
mantenere prestazioni ottimali delle query.
|
Migrazione (facoltativa)
La migrazione del database è un processo completo che richiede un'analisi approfondita delle specifiche di ogni singolo percorso di migrazione. Nella tua strategia di migrazione, tieni presente quanto segue:
Casella di controllo | Attività |
---|---|
❑ |
Sviluppa una procedura operativa standard (SOP) dettagliata per il
cutover della migrazione. Sono inclusi i passaggi per l'implementazione dell'applicazione,
il cambio di database e l'automazione per ridurre al minimo l'intervento manuale.
Identifica e comunica ai vari stakeholder le potenziali finestre di inattività con largo anticipo. Implementa meccanismi di monitoraggio e avviso robusti per monitorare
il processo di migrazione in tempo reale e rilevare tempestivamente eventuali anomalie.
Assicurati che il processo di trasferimento includa controlli di convalida per confermare l'integrità dei dati e le funzionalità dell'applicazione dopo la migrazione.
|
❑ |
Prepara un piano di fallback dettagliato per ripristinare il sistema di origine in
caso di problemi critici durante la migrazione. Testa le procedure di fallback
in un ambiente di staging per assicurarti che siano affidabili
e che possano essere eseguite con tempi di inattività minimi. Definisci chiaramente le condizioni
che attiverebbero un fallback e assicurati che il team sia addestrato a eseguire
questo piano in modo rapido ed efficiente.
|
Deployment
Una pianificazione del deployment adeguata garantisce che le configurazioni di Spanner soddisfino i requisiti di disponibilità, latenza e scalabilità del carico di lavoro, tenendo conto di considerazioni geografiche e operative. L'allineamento del dimensionamento, della gestione delle risorse, degli scenari di failover e dell'automazione riduce al minimo i rischi, garantisce prestazioni ottimali ed evita vincoli o interruzioni delle risorse durante le operazioni critiche.
Casella di controllo | Attività |
---|---|
❑ |
Assicurati che la configurazione dell'istanza di Spanner
(regionale, a due regioni o multiregionale) sia in linea con i requisiti di disponibilità e latenza del workload dell'applicazione, tenendo conto anche di considerazioni geografiche. Calcola la capacità di calcolo di destinazione in base alle dimensioni di archiviazione previste, ai pattern di traffico e ai limiti di utilizzo consigliati, garantendo una capacità sufficiente per interruzioni zonali o regionali. Pianifica i picchi di traffico attivando la scalabilità automatica.
Puoi impostare un limite superiore per la capacità di calcolo per stabilire salvaguardie
per i costi. Per saperne di più, consulta
Capacità di calcolo, nodi e unità di elaborazione.
|
❑ |
Se utilizzi una configurazione di istanza a due regioni o multiregionale,
scegli una regione leader che riduca al minimo la latenza per le scritture delle applicazioni
dai servizi di cui è stato eseguito il deployment nelle località più sensibili alla latenza.
Testa le implicazioni di diverse regioni leader sulla latenza dell'operazione
e apportare modifiche per ottimizzare le prestazioni dell'applicazione. Pianifica scenari di failover assicurandoti che la topologia dell'applicazione sia in grado di adattarsi alle modifiche della regione leader durante le interruzioni regionali. Per maggiori informazioni, vedi
Modificare l'regione leader di un database.
|
❑ |
Configura tag ed etichette in modo appropriato per la chiarezza operativa e
il monitoraggio delle risorse Google Cloud. Utilizza i tag per raggruppare le istanze per
ambiente o tipo di carico di lavoro. Utilizza le etichette per i metadati che facilitano l'analisi dei costi e la gestione delle autorizzazioni. Per ulteriori informazioni, consulta
Controllare l'accesso e organizzare le istanze con i tag.
|
❑ |
Valuta se è necessario il preriscaldamento di Spanner,
soprattutto per i servizi che prevedono un traffico improvviso e elevato al momento del lancio.
Il test della latenza in condizioni di carichi iniziali elevati potrebbe rivelare la necessità di
un preriscaldamento pre-lancio per garantire prestazioni ottimali. Se è necessario il riscaldamento, genera un carico artificiale. Per maggiori informazioni, vedi
Riscaldare il database prima del lancio dell'applicazione.
|
❑ |
Esamina i limiti e le quote di Spanner prima del deployment.
Se necessario, richiedi aumenti delle quote nella console Google Cloud per evitare
vincoli durante i periodi di picco. Tieni presente i limiti rigidi (ad esempio,
il numero massimo di tabelle per database) per evitare problemi dopo il deployment. Per ulteriori
informazioni, consulta
Quote e limiti.
|
❑ |
Utilizza strumenti di automazione come Terraform per eseguire il provisioning e gestire le istanze Spanner, assicurandoti che le configurazioni siano efficienti e a prova di errore. Per la gestione dello schema, valuta la possibilità di utilizzare strumenti come
Liquibase
per evitare eliminazioni accidentali dello schema durante gli aggiornamenti. Per saperne di più,
consulta la sezione Utilizzare Terraform con Spanner.
|
Disaster recovery
Definire una solida strategia di disaster recovery (RE) è essenziale per proteggere i dati, ridurre al minimo i tempi di inattività e garantire la continuità aziendale in caso di errori imprevisti. Il test regolare delle procedure di ripristino e l'automazione dei backup contribuiscono a garantire la preparazione operativa, la conformità agli obiettivi di ripristino e una protezione dei dati affidabile e personalizzata in base alle esigenze dell'organizzazione.
Casella di controllo | Attività |
---|---|
❑ |
Definisci una strategia di ripristino di emergenza completa per
Spanner che includa protezione dei dati, obiettivi di ripristino
e scenari di errore. Stabilisci obiettivi di tempo di recupero (RTO) e obiettivi di punto di recupero (RPO) chiari e in linea con i requisiti di continuità aziendale. Specifica la frequenza di backup, le policy di conservazione
e utilizza il recupero point-in-time (PITR)
per ridurre al minimo la perdita di dati in caso di errori. Consulta la
Panoramica del disaster recovery
per identificare gli strumenti e le tecniche giusti per garantire la conformità
in termini di disponibilità, affidabilità e sicurezza per la tua applicazione. Per saperne di più, consulta il white paper Soluzioni di protezione e recupero dei dati in Spanner.
|
❑ |
Crea una documentazione dettagliata per le procedure di backup e ripristino,
incluse guide passo passo per vari scenari di recupero.
Esegui regolarmente test di queste procedure per garantire la preparazione operativa e
convalidare i requisiti RTO e RPO. I test devono simulare condizioni e scenari di errore reali per identificare le lacune e migliorare il processo di ripristino. Per ulteriori informazioni, consulta la panoramica del ripristino.
|
❑ |
Implementa pianificazioni di backup automatiche per garantire una protezione dei dati coerente e
affidabile. Configura le impostazioni di frequenza e conservazione in modo che
corrispondano alle esigenze aziendali e agli obblighi normativi. Utilizza
le funzionalità di pianificazione dei backup di Spanner per automatizzare la
creazione, la gestione e il monitoraggio dei backup. Per saperne di più,
vedi Creare e gestire pianificazioni di backup.
|
❑ |
Allinea le procedure di failover alla
topologia di configurazione delle istanze
della tua applicazione per ridurre al minimo l'impatto della latenza in caso di interruzione. Testa gli scenari di
recupero di emergenza, assicurandoti che l'applicazione possa funzionare in modo efficiente
quando la regione leader viene spostata in una regione di failover. Per ulteriori
informazioni, vedi Modificare l'regione leader di un database.
|
Strumento di ottimizzazione delle query e gestione delle statistiche
La gestione delle versioni e delle statistiche dello strumento di ottimizzazione delle query è importante per mantenere un rendimento delle query prevedibile ed efficiente. L'utilizzo di versioni testate e il mantenimento delle statistiche aggiornate garantiscono la stabilità, impediscono modifiche impreviste delle prestazioni e ottimizzano i piani di esecuzione delle query, soprattutto durante modifiche significative dei dati o dello schema.
Casella di controllo | Attività |
---|---|
❑ |
Per impostazione predefinita, i database Spanner utilizzano l'ultima versione dello strumento di ottimizzazione delle query. Per garantire prestazioni prevedibili delle query, utilizza la
versione dello strumento di ottimizzazione su cui è stato testato il carico di lavoro. Valuta regolarmente le nuove versioni dell'ottimizzatore in un ambiente controllato e aggiorna la versione predefinita solo dopo aver confermato la compatibilità e i miglioramenti delle prestazioni. Per maggiori
informazioni, consulta la
panoramica dello Strumento di ottimizzazione delle query.
|
❑ |
Assicurati che le statistiche dell'ottimizzatore di query
siano aggiornate per supportare piani di esecuzione delle query efficienti.
Sebbene le statistiche vengano aggiornate automaticamente, valuta la possibilità di
creare manualmente un nuovo pacchetto di statistiche
in scenari quali modifiche dei dati su larga scala (ad esempio inserimenti, aggiornamenti o eliminazioni collettivi), aggiunta di nuovi indici o modifiche dello schema.
Mantenere aggiornate le statistiche dello strumento di ottimizzazione delle query è fondamentale per
mantenere prestazioni ottimali delle query.
|
❑ |
In alcuni scenari, ad esempio dopo eliminazioni collettive o quando la generazione di nuove
statistiche potrebbe influire in modo imprevedibile sul rendimento delle query,
è consigliabile bloccare un pacchetto di statistiche specifico. Ciò garantisce
un rendimento coerente delle query finché non è possibile generare e
testare un nuovo pacchetto. Controlla regolarmente la necessità di bloccare le statistiche e sbloccarle una volta
che i pacchetti aggiornati sono stati convalidati. Per maggiori informazioni, consulta la sezione
Pacchetti di statistiche dello Strumento di ottimizzazione delle query.
|
Sicurezza
L'implementazione di misure di controllo dell'accesso è essenziale per proteggere i dati sensibili e impedire l'accesso non autorizzato in Spanner. Applicando l'accesso con privilegi minimi, il controllo dell'controllo dell'accesso granulare (FGAC) e la protezione dall'eliminazione del database, puoi ridurre al minimo i rischi, garantire la conformità e proteggere le risorse critiche da azioni accidentali o dannose.
Casella di controllo | Attività |
---|---|
❑ |
Esamina e implementa i criteri Identity and Access Management (IAM) seguendo il principio del privilegio minimo per tutti gli utenti e gli account di servizio che accedono al tuo database. Assegna solo le autorizzazioni
necessarie per eseguire attività specifiche e controlla regolarmente
le autorizzazioni di controllo dell'accesso#39;accesso per garantire il rispetto di questo modello. Utilizza
service account con privilegi minimi per i processi automatizzati per
ridurre il rischio di accessi non autorizzati. Per ulteriori informazioni, consulta la
panoramica di IAM.
|
❑ |
Se l'applicazione richiede l'accesso con restrizioni a righe, colonne o celle specifiche all'interno di una tabella, implementa controllo dell'accesso granulare (FGAC). Progetta e applica criteri di accesso condizionale in base agli attributi
o ai valori dei dati dell'utente per applicare regole di accesso granulari. Rivedi e aggiorna regolarmente queste norme per allinearle ai requisiti di sicurezza e conformità in evoluzione. Per saperne di più, consulta la
Panoramica del controllo dell'accesso granulare.
|
❑ |
Implementa pianificazioni di backup automatiche per garantire una protezione dei dati coerente e
affidabile. Configura le impostazioni di frequenza e conservazione in modo che
corrispondano alle esigenze aziendali e agli obblighi normativi. Utilizza
le funzionalità di pianificazione dei backup di Spanner per automatizzare la
creazione, la gestione e il monitoraggio dei backup. Per saperne di più,
vedi Creare e gestire pianificazioni di backup.
|
❑ |
Abilita la protezione da eliminazione del database per impedire eliminazioni accidentali o
non autorizzate. Combina questa impostazione con controlli IAM rigorosi per limitare i privilegi di eliminazione a un insieme piccolo e attendibile di utenti o service account. Inoltre, configura strumenti di automazione dell'infrastruttura come Terraform per includere salvaguardie contro l'eliminazione involontaria dei tuoi database. Questo approccio a più livelli riduce al minimo i rischi per
gli asset di dati critici. Per saperne di più, consulta la sezione
Impedire l'eliminazione accidentale del database.
|
Logging e monitoraggio
Un logging e un monitoraggio efficaci sono fondamentali per mantenere la visibilità sulle operazioni del database, rilevare anomalie e garantire l'integrità del sistema. Utilizzando log di controllo, tracciamento distribuito, dashboard e avvisi proattivi, puoi identificare e risolvere rapidamente i problemi, ottimizzare le prestazioni e soddisfare i requisiti di conformità.
Casella di controllo | Attività |
---|---|
❑ |
Attiva il logging di controllo per acquisire informazioni dettagliate sulle attività del database. Configura i livelli degli audit log in modo appropriato in base ai requisiti
operativi e di conformità per monitorare i pattern di accesso e
rilevare le anomalie in modo efficace. Tieni presente che i log di controllo potrebbero diventare di grandi dimensioni, soprattutto per le richieste DATA_READ e DATA_WRITE , poiché tutte le istruzioni SQL e DML vengono registrate per queste rispettive richieste. Per maggiori informazioni, vedi
Log di controllo di Spanner.
Il routing di questi log a un bucket di log definito dall'utente ti consente di ottimizzare i costi di conservazione dei log (i primi 30 giorni non vengono addebitati) e di controllare in modo granulare l'accesso ai log utilizzando le visualizzazioni di log. |
❑ |
Raccogli metriche lato client strumentando la logica dell'applicazione
con OpenTelemetry per distribuire la tracciabilità e l'osservabilità. Configura
l'instrumentazione OpenTelemetry per acquisire tracce e metriche da
Spanner, garantendo la visibilità end-to-end delle prestazioni
dell'applicazione e delle interazioni con il database. Per saperne di più, consulta
Acquisire metriche lato client personalizzate utilizzando OpenTelemetry.
|
❑ |
Crea e configura le metriche di monitoraggio per visualizzare le prestazioni delle query, la latenza, l'utilizzo della CPU e l'utilizzo dello spazio di archiviazione.
Utilizza queste metriche per il monitoraggio in tempo reale e l'analisi storica delle
prestazioni del database. Per ulteriori informazioni, consulta
Monitorare le istanze con Cloud Monitoring.
|
❑ |
Definisci avvisi di monitoraggio basati su soglie per le metriche critiche per
rilevare e risolvere i problemi in modo proattivo. Configura gli avvisi per
condizioni come latenza elevata delle query, bassa disponibilità di spazio di archiviazione o
picchi imprevisti di traffico. Integra questi avvisi con gli strumenti di risposta agli incidenti per un'azione tempestiva. Per saperne di più, consulta
Crea avvisi per le metriche Spanner.
|
Libreria client
La configurazione del tagging delle operazioni, dei pool di sessioni e dei criteri di ripetizione è fondamentale per ottimizzare le prestazioni, eseguire il debug dei problemi e mantenere la resilienza in Spanner. Queste misure migliorano l'osservabilità, riducono la latenza e garantiscono una gestione efficiente delle richieste di carico di lavoro e degli errori temporanei, allineando il comportamento del sistema ai requisiti dell'applicazione.
Casella di controllo | Attività |
---|---|
❑ |
Configura la libreria client in modo che utilizzi tag di transazione e
richiesta di query significativi. Puoi utilizzare i tag di richieste e transazioni per
comprendere meglio le query, le letture e le transazioni.
Come best practice, utilizza metadati contestuali come componente
dell'applicazione, tipo di richiesta o contesto utente nei tag per consentire
un debug e un'introspezione avanzati. Assicurati che i tag siano visibili nelle statistiche e nei log delle query per facilitare l'analisi delle prestazioni e la risoluzione dei problemi. Per ulteriori informazioni, vedi
Risoluzione dei problemi relativi ai tag di richiesta e di transazione.
|
❑ |
Ottimizza la gestione delle sessioni attivando il pooling delle sessioni nella libreria client. Configura le impostazioni del pool, ad esempio il numero minimo e massimo di sessioni, in modo che corrispondano alle esigenze del workload riducendo al minimo la latenza. Monitora regolarmente
l'utilizzo delle sessioni per perfezionare questi parametri e assicurarti che
il pool di sessioni fornisca vantaggi in termini di rendimento coerenti. Per ulteriori
informazioni, consulta Sessioni.
|
❑ |
In rari scenari, i parametri predefiniti della libreria client per i tentativi,
inclusi i tentativi massimi e gli intervalli di backoff esponenziale, devono essere
configurati per bilanciare la resilienza con il rendimento. Testa attentamente queste norme per assicurarti che siano in linea con le esigenze dell'applicazione.
Per ulteriori informazioni, consulta
Configurare timeout e tentativi personalizzati.
|
Assistenza
Per ridurre al minimo i tempi di inattività e l'impatto, definisci ruoli e responsabilità chiari per gli incidenti per garantire risposte rapide e coordinate ai problemi relativi a Spanner. Per ulteriori informazioni, vedi Richiedere assistenza.
Casella di controllo | Attività |
---|---|
❑ |
Stabilisci un framework chiaro di risposta agli incidenti, definendo ruoli e
responsabilità per tutti i membri del team coinvolti nella gestione
degli incidenti correlati a Spanner. Assegna ruoli di gestione degli incidenti, ad esempio Incident Commander, responsabile delle comunicazioni ed esperti in materia (SME), per garantire un coordinamento e una comunicazione efficienti durante gli incidenti. Sviluppa e documenta le procedure per identificare, riassegnare,
mitigare e risolvere i problemi. Segui le best practice descritte nella
guida pratica SRE di Google sulla risposta agli incidenti
e nella sezione Gestione degli incidenti.
Condurre regolarmente simulazioni e addestramenti per la risposta agli incidenti per garantire
la preparazione e migliorare la capacità del team di gestire scenari
ad alta pressione in modo efficace.
|
Gestione dei costi
L'implementazione di strategie di gestione dei costi come lo scalabilità automatica e i backup incrementali garantiscono un utilizzo efficiente delle risorse e un risparmio significativo dei costi. L'allineamento del provisioning delle risorse alle esigenze del carico di lavoro e l'ottimizzazione degli ambienti non di produzione riducono ulteriormente le spese, mantenendo al contempo prestazioni e flessibilità.
Casella di controllo | Attività |
---|---|
❑ |
Valuta e acquista CUD per Spanner per ridurre i costi
sui carichi di lavoro prevedibili. Questi impegni potrebbero consentire
risparmi significativi rispetto ai prezzi on demand. Analizza i pattern di utilizzo
storici per determinare gli impegni CUD ottimali. Per ulteriori
informazioni, consulta le pagine relative agli sconti per impegno di utilizzo
e ai prezzi di Spanner.
|
❑ |
Monitora l'utilizzo della capacità di calcolo e regola le risorse di cui è stato eseguito il provisioning per mantenere i livelli di utilizzo della CPU consigliati. Il provisioning eccessivo delle risorse di calcolo potrebbe comportare costi non necessari, mentre il provisioning insufficiente potrebbe influire sulle prestazioni. Segui le
linee guida per l'utilizzo massimo della CPU di Spanner consigliate per garantire un allineamento delle risorse conveniente.
|
❑ |
Abilita la scalabilità automatica per regolare dinamicamente la capacità di calcolo in base alle esigenze del carico di lavoro. In questo modo si garantisce un rendimento ottimale durante i picchi di carico
riducendo i costi durante i periodi di bassa attività. Configura criteri di scalabilità con limiti superiore e inferiore per controllare i costi ed evitare una scalabilità eccessiva. Per ulteriori informazioni, consulta la
panoramica della scalabilità automatica.
|
❑ |
Utilizza i backup incrementali per ridurre i costi di archiviazione dei backup.
I backup incrementali memorizzano solo le modifiche ai dati dall'ultimo backup. Ciò
riduce notevolmente i requisiti di archiviazione rispetto ai backup completi.
Incorpora i backup incrementali nella tua strategia di backup. Per ulteriori
informazioni, consulta
Backup incrementali.
|
❑ |
Ottimizza i costi per gli ambienti non di produzione selezionando la configurazione dell'istanza più ottimale e deprovisioning delle risorse quando gli ambienti non sono in uso. Ad esempio, riduci le dimensioni degli ambienti non critici dopo l'orario di lavoro o automatizza la scalabilità delle risorse per scenari di sviluppo e test. Questo approccio riduce al minimo i costi mantenendo
la flessibilità operativa.
|