OPS05-BP03 Utilizzo di sistemi di gestione delle configurazioni - Principio dell'eccellenza operativa

OPS05-BP03 Utilizzo di sistemi di gestione delle configurazioni

L'utilizzo di sistemi di gestione delle configurazioni permette di effettuare modifiche alle stesse e tenerne traccia. Questi sistemi riducono gli errori causati dai processi manuali e il livello di impegno richiesto per la distribuzione delle modifiche.

Durante l'inizializzazione di una risorsa, la gestione delle configurazioni statiche consente di impostare valori che dovrebbero rimanere coerenti per tutta la vita utile della risorsa. Ne sono alcuni esempi l'azione di configurare un server web o applicativo su un'istanza oppure di definire la configurazione di un servizio AWS nella AWS Management Console o tramite la AWS CLI.

Al momento dell'inizializzazione, la gestione delle configurazioni dinamiche consente di impostare valori che possono cambiare nel corso della vita utile di una risorsa. Ad esempio è possibile impostare un interruttore funzionale in grado di attivare una funzionalità nel codice tramite una modifica della configurazione, oppure modificare il livello di dettaglio del log durante un incidente per acquisire un maggior numero di dati e cambiarlo in seguito per tornare al livello di dettaglio precedente, risparmiando così in numero di log e nei relativi costi.

In AWS, è possibile utilizzare AWS Config per monitorare in modo continuo le configurazioni delle risorse AWS tra i diversi account e regioni. Questa soluzione aiuta a tenere traccia della cronologia delle configurazioni, a capire che effetto avrebbe la modifica di una configurazione sulle altre risorse e a verificarle rispetto alle configurazioni previste o desiderate tramite Regole di AWS Config e pacchetti di conformità AWS Config.

Se sulle applicazioni in esecuzione su istanze Amazon EC2, AWS Lambda, container, funzioni serverless, applicazioni mobili o dispositivi IoT sono attive configurazioni dinamiche, è possibile utilizzare AWS AppConfig per configurarle, convalidarle, implementarle e monitorarle nei tuoi ambienti.

In AWS, puoi creare pipeline di integrazione continua/distribuzione continua (CI/CD) utilizzando servizi come gli Strumenti per sviluppatori in AWS (ad esempio: AWS CodeCommit, AWS CodeBuild, AWS CodePipeline, AWS CodeDeploye AWS CodeStar).

Risultato desiderato: Puoi configurare, convalidare e implementare come parte della tua pipeline di integrazione continua e di distribuzione continua (CI/CD). Esegui il monitoraggio per verificare che le configurazioni siano corrette. Ciò riduce al minimo l'impatto sugli utenti finali e sui clienti.

Anti-pattern comuni:

  • Aggiorni manualmente la configurazione del server Web all'interno del parco istanze e un certo numero di server non risponde a causa di errori di aggiornamento.

  • Aggiorni manualmente il parco istanze del server applicazioni nel corso di molte ore. L'incoerenza nella configurazione durante la modifica causa comportamenti imprevisti.

  • Qualcuno ha aggiornato i tuoi gruppi di sicurezza e i server Web non sono più accessibili. Senza sapere cosa è stato modificato, dedichi molto tempo a esaminare il problema prolungando il tempo necessario per il ripristino.

  • Avvii una configurazione di preproduzione in produzione tramite CI/CD senza una convalida. Esponi utenti e clienti a dati e servizi errati.

Vantaggi dell'adozione di questa best practice: L'adozione di sistemi di gestione della configurazione riduce il livello di impegno necessario per apportare e tenere traccia delle modifiche e la frequenza degli errori causati dalle procedure manuali. I sistemi di gestione della configurazione forniscono garanzie per quanto riguarda la governance, la conformità e i requisiti normativi.

Livello di rischio associato se questa best practice non fosse adottata: medio

Guida all'implementazione

I sistemi di gestione della configurazione vengono utilizzati per tenere traccia e implementare le modifiche nelle configurazioni delle applicazioni e degli ambienti. I sistemi di gestione della configurazione vengono utilizzati anche per ridurre gli errori causati dai processi manuali, rendere le modifiche alla configurazione ripetibili e verificabili e per ridurre il livello di impegno.

Passaggi dell'implementazione

  1. Identifica i proprietari della configurazione.

    1. Metti a conoscenza i proprietari delle configurazioni di qualsiasi esigenza di conformità, governance o normativa.

  2. Identifica gli elementi e i risultati della configurazione.

    1. Gli elementi di configurazione sono tutte le configurazioni ambientali e dell'applicazione interessate da un'implementazione all'interno della pipeline CI/CD.

    2. I risultati finali includono criteri di successo, convalide e aspetti da monitorare.

  3. Seleziona gli strumenti per la gestione della configurazione in base ai requisiti aziendali e alla pipeline di distribuzione.

  4. Per modifiche significative alla configurazione, prendi in considerazione le implementazioni ponderate, ad esempio le implementazioni canary, per ridurre al minimo l'impatto di configurazioni errate.

  5. Integra la gestione della configurazione nella tua pipeline CI/CD.

  6. Convalida tutte le modifiche inserite.

Risorse

Best practice correlate:

Documenti correlati:

Video correlati: