Una guida alla deriva di configurazione e come prevenirla

Pubblicato: 2022-08-26

La deriva della configurazione è una preoccupazione importante per tutti gli sviluppatori IAAC là fuori. Questo post imparerà a conoscere la gestione della deriva della configurazione, la sua importanza, le cause e le potenziali soluzioni.

Che cos'è la deriva di configurazione?

I proprietari delle applicazioni devono modificare le loro app e l'infrastruttura sottostante nel tempo per migliorare continuamente l'esperienza del cliente. Questi clienti possono essere interni o esterni all'azienda.

Cos'è la deriva di configurazione

La configurazione delle app e dell'infrastruttura cambia a seguito di tali aggiornamenti e modifiche. Queste modifiche potrebbero essere utili o degradare la condizione di indurimento dei sistemi. La deriva di configurazione è il termine per questo.

Come funziona la deriva di configurazione

Il potenziale di deriva della configurazione aumenta con la complessità dei sistemi di produzione e distribuzione del software. Il codice viene generalmente trasferito dalla workstation di uno sviluppatore a un ambiente di sviluppo condiviso, agli ambienti di test e QA e, infine, agli ambienti di staging e produzione.

Come funziona la deriva di configurazione

L'impatto potenziale aumenta con la distanza in cui si verifica la deriva lungo la condotta. Anche piccole variazioni tra una versione del pacchetto installata sul laptop di uno sviluppatore e la versione installata su un server di prova possono ritardare il debug dei problemi. In genere, solo la messa in scena e la produzione dovrebbero essere repliche l'una dell'altra. La tensione è intensa perché molte aziende implementano nuovo codice numerose volte al giorno.

Cause comuni di deriva di configurazione

Mancanza di comunicazione

A volte i team a monte non riescono a comunicare con i partner a valle in merito alle modifiche da loro apportate, il che, di conseguenza, interrompe l'intero sistema a valle.

Correzioni rapide

Gli hotfix sono modifiche al codice apportate per risolvere un problema critico che non può attendere il successivo aggiornamento pianificato dell'applicazione. A volte gli ingegneri che lavorano per risolvere il problema non apportano modifiche o non documentano la stessa correzione in altri ambienti in cantiere, il che, di conseguenza, porta alla deriva. Spesso, la reintroduzione del problema originale risolverà questa deriva.

Aggiornamenti critici del pacchetto

Aggiornamenti dei pacchetti critici

Gli aggiornamenti dei pacchetti critici sono in qualche modo simili agli hotfix. Entrambi vengono eseguiti a un ritmo veloce. La differenza principale è che gli aggiornamenti dei pacchetti critici vengono applicati nella speranza di evitare incidenti futuri. Pertanto, tali aggiornamenti possono causare la deriva allo stesso modo degli hotfix.

Mancanza di automazione

L'automazione non eliminerà del tutto le possibilità di deriva della configurazione. Ridurrà solo le sue possibilità.

Cambiamenti di convenienza

A volte le modifiche apportate dagli sviluppatori sono temporanee. Ad esempio, la deriva si verifica se uno sviluppatore installa un nuovo pacchetto su un server di prova per testare alcune funzionalità e dimentica di ripristinarlo allo stato originale.

Perché è importante la gestione della configurazione?

Uno dei motivi per cui la deriva della configurazione può essere così dannosa è che se nessuno la cerca continuamente, la deriva può non essere scoperta poiché mina gradualmente la base della tua infrastruttura, proprio come una piccola perdita in una casa dietro un muro.

Quando viene rilevata la deriva della configurazione, trovare il motivo alla base della deriva della configurazione che ha causato tutto ciò richiede tempo, che è una risorsa preziosa in caso di emergenza.

Perché è importante la gestione della configurazione

Nello sviluppo del software, la deriva è una causa significativa di cicli di rilascio lenti. Può causare fatica non necessaria e ostacolare la produttività degli sviluppatori.

Costi inferiori

  Puoi ridurre l'importo complessivo necessario identificando le duplicazioni o l'overprovisioning quando hai un'immagine dettagliata della tua infrastruttura IT.

Maggiore produttività

  I cluster con configurazioni stabili e ben note consentono la gestione dei batch e la costruzione dell'infrastruttura. Inoltre, il requisito per la gestione manuale delle singole impostazioni viene ridotto limitando i server univoci (o fiocco di neve).

Debug più veloce

Configurazioni coerenti consentono ai team di debug di escludere errori di configurazione. I team possono concentrarsi su altre potenziali cause, risolvendo i ticket più rapidamente perché non dovranno cercare discrepanze di configurazione tra server, cluster di server o ambienti.

Problemi causati dalla deriva di configurazione

Problemi causati dalla deriva della configurazione

Problemi di sicurezza

Le configurazioni non sicure sono una delle cause più frequenti di violazioni della sicurezza. La deriva della configurazione potrebbe rendere più probabili altri attacchi e violazioni della rete, anche se si inizia con una configurazione protetta.

Tempo di inattività

  Significativi tempi di inattività possono derivare da un errore di configurazione che consente a un utente malintenzionato di utilizzare un difetto DoS o compromettere un server cruciale. Non è tutto, però. Diciamo che modifichi la configurazione di un dispositivo di rete, influendo sulle prestazioni. Puoi sempre tornare alla tua "configurazione d'oro", giusto? Ci vorrà molto più tempo per ripristinare il servizio se quella configurazione è difettosa.

Non essere conforme

  Sono necessari severi controlli di sicurezza per la conformità a normative come ISO 27001, PCI-DSS e HIPAA. La deriva della configurazione potrebbe causare l'interruzione della conformità se non viene interrotta.

Prestazioni degradate

Una configurazione è solitamente nella sua condizione più ottimale quando si trova nello stato previsto. Modifiche ad hoc possono ostacolare i tentativi di ottimizzazione della rete causando colli di bottiglia e conflitti.

Tempo perso

La risoluzione dei problemi di una rete che non capisci bene o che non corrisponde alla documentazione di rete può richiedere molto tempo. Ciò significa che la deriva della configurazione potrebbe causare problemi di risoluzione dei problemi IT che potrebbero non esistere o sarebbero stati più facili da risolvere se la rete fosse stata nelle condizioni previste, oltre a generare tempi di inattività per gli utenti.

Errori comuni a cui prestare attenzione durante il monitoraggio della deriva di configurazione

Errori comuni a cui prestare attenzione durante il monitoraggio della deriva di configurazione

In un mondo perfetto, tutti i server dell'ambiente per gli sviluppatori (Dev/QA/Staging/Prod) avrebbero le stesse configurazioni. Sfortunatamente, non è così che funzionano le cose nel mondo "reale". Negli ambienti commerciali, i proprietari delle applicazioni modificano frequentemente l'infrastruttura quando vengono introdotte nuove funzionalità nel software.

Il monitoraggio della deriva della configurazione è fondamentale per garantire che gli ambienti software siano il più omogenei possibile. La configurazione della gestione riduce le spese, aumenta la produttività e i tempi di debug e migliora l'esperienza dell'utente.

Per avere il massimo successo possibile con il monitoraggio, le organizzazioni devono evitare errori anche quando utilizzano la gestione della configurazione e monitorano la deriva della configurazione.

Gli errori comuni sono elencati di seguito:

Non mantenere un CMDB

Mantenere aggiornato un database di gestione della configurazione (CMDB) è un elemento significativo della gestione della configurazione. Le informazioni sulle installazioni hardware e software di una rete possono essere esaminate in un unico luogo, fornito da un database di gestione della configurazione. I dati vengono raccolti per ogni asset o elemento di configurazione, fornendo visibilità e trasparenza sul posto di lavoro.

La mancata manutenzione di un CMDB espone le aziende al pericolo di non comprendere appieno come la configurazione di un elemento influisca su un altro elemento. Le organizzazioni rischiano di danneggiare la propria infrastruttura e sicurezza senza comprenderne le conseguenze.

I CMDB possono essere difficili da amministrare, in particolare con l'aumento del numero di risorse, ma un'organizzazione e una gestione efficaci del database sono fondamentali per tenere traccia con successo della deriva della configurazione e comprendere l'infrastruttura.

Non avere un piano su come monitorare la deriva di configurazione

Le organizzazioni hanno spesso infrastrutture enormi e complesse che devono essere sorvegliate. Determinare quali componenti devono essere maggiormente monitorati è fondamentale. In caso contrario, la gestione della configurazione potrebbe diventare rapidamente ingestibile e caotica.

Le organizzazioni devono specificare quali risorse sono essenziali per il monitoraggio aziendale e specifiche unità di business. Saranno osservati i sistemi più cruciali, che differiranno da unità a unità e da settore a settore.

Non monitoraggio automatico

Le organizzazioni possono monitorare la deriva della configurazione in diversi modi. Tuttavia, alcuni approcci sono più raffinati e di successo di altri.

Il monitoraggio manuale della deriva della configurazione è costoso e richiede tempo. Il monitoraggio manuale espone anche la possibilità di errore umano. Questa non è la tecnica migliore per monitorare la deriva della configurazione a meno che la tua azienda non abbia un'impronta infrastrutturale molto piccola.

Il monitoraggio automatico è il modo più sviluppato ed efficiente per mantenere le configurazioni nello stato desiderato. I sistemi di monitoraggio della configurazione dedicati possono rilevare la deriva istantaneamente e offrono frequentemente soluzioni, inclusa la correzione rapida. Ciò garantisce che l'infrastruttura dell'azienda venga riportata allo stato desiderato il più rapidamente possibile e con effetti minimi.

Come monitorare la deriva di configurazione:

Come monitorare la deriva di configurazione

Diventa ovvio perché il rilevamento della deriva di configurazione dovrebbe essere una delle principali preoccupazioni una volta che ti rendi conto del danno che potrebbe causare. Sapere cosa preservare e perché è stato presentato come un cambiamento che ha creato la deriva è il primo passo di quel processo.

Sapere cosa stai cercando

Puoi valutare la tua organizzazione identificando i componenti cruciali per l'organizzazione nel suo insieme e quelli cruciali per ciascuna business unit.

Questo varia in base all'unità e può essere espansivo in settori altamente regolamentati o concentrarsi esclusivamente su file/applicazioni critici per il sistema più ristretti. L'importanza del sistema determinerà la frequenza e la gravità dei sistemi di monitoraggio.

Imposta una linea di base

Ci saranno sempre differenze tra un ambiente di produzione e le fasi di test a causa delle varie impostazioni. La linea di base per verificare la deriva viene creata definendo quale dovrebbe essere ogni passaggio e i tipi di deviazioni consentite.

Le prime fasi di test potrebbero essere più adatte per una tolleranza di deriva più elevata rispetto a un'impostazione di test di accettazione dell'utente o una fase di produzione a deriva zero.

Monitora il tuo sistema

Il livello di monitoraggio richiesto varierà a seconda della maturità dell'organizzazione, dei suoi sistemi attuali, degli strumenti, del numero totale di configurazioni che devono essere controllate e del livello di controllo richiesto. A seconda dei requisiti e della conformità, il monitoraggio può variare per ciascuna unità all'interno di un'organizzazione.

Come prevenire la deriva di configurazione

Il monitoraggio deve garantire che l'infrastruttura sia mantenuta nella configurazione appropriata dopo che è stata definita una linea di base di configurazioni e lacune consentite. Senza una strategia di monitoraggio, la costruzione di piani di configurazione e documentazione fa perdere tempo.

È possibile utilizzare vari approcci per monitorare la deriva della configurazione e molte aziende combineranno metodologie e strumenti in base ai requisiti di maturità e conformità.

Video Youtube

Monitoraggio manuale costante

Le singole configurazioni della macchina possono essere riviste manualmente e confrontate con un file di configurazione noto. A causa dell'aspetto umano, questo processo è ancora soggetto a errori e costoso per quanto riguarda le ore dei dipendenti. Dovrei essere utilizzato solo su piccola scala per alcuni cluster di server particolari o per un'azienda con un'impronta infrastrutturale modesta.

Audit

Un team esamina manualmente le configurazioni del server nell'ambito dei controlli di configurazione, confrontandole con un modello specifico. Questi audit possono essere costosi poiché richiedono conoscenze specialistiche per determinare come dovrebbe essere costruito un sistema e quindi un'indagine approfondita su qualsiasi possibilità non documentata per decidere se deve essere preservato o meno.

Il team di audit effettua anche le modifiche necessarie ai documenti di configurazione che verranno applicati durante il prossimo audit. Gli audit vengono in genere mantenuti per i cluster di alto valore o con un elevato livello di conformità ed eseguiti regolarmente, generalmente più volte all'anno, a causa di considerazioni di tempo e costi.

Il controllo garantisce una configurazione del server coerente e ripetibile in base a una pianificazione predeterminata.

Tuttavia, fino al prossimo audit, le impostazioni andranno alla deriva e rimarranno sempre di più.

Monitoraggio automatizzato in tempo reale

Il monitoraggio automatizzato in tempo reale è il modo più sofisticato per mantenere le configurazioni nello stato desiderato. Per fare ciò, è necessario creare server o gruppi di server insieme a una descrizione di come devono essere configurati utilizzando strumenti di configurazione del server dedicati.

Questi programmi utilizzeranno un agente leggero per monitorare la configurazione di un server all'interno di quel gruppo e confrontarla con la sua definizione.

Questo processo automatizzato avverte istantaneamente della deriva e in genere fornisce diverse scelte per correggere la deriva del server.

Parole finali:

Elementi di configurazione (CI) incoerenti tra computer o dispositivi sono la causa principale della deriva della configurazione. La deriva della configurazione avviene naturalmente negli ambienti dei data center quando le modifiche software e hardware vengono eseguite al volo senza essere accuratamente documentate o tracciate.

Molti errori del sistema di disponibilità elevata e ripristino di emergenza sono attribuiti alla deriva della configurazione. Gli amministratori dovrebbero tenere registrazioni meticolose sugli indirizzi di rete dei dispositivi hardware, insieme alle versioni software installate su di essi e agli aggiornamenti che sono stati effettuati, per ridurre al minimo la deriva della configurazione.