Condividi tramite


Compromessi per l'affidabilità

Un carico di lavoro affidabile soddisfa costantemente gli obiettivi di affidabilità definiti. Dovrebbe raggiungere obiettivi di resilienza stabiliti, in teoria aggirare gli eventi che influiscono sull'affidabilità. In modo realistico, tuttavia, un carico di lavoro deve tollerare e controllare l'impatto di tali eventi e gestire le operazioni a un livello predeterminato durante il malfunzionamento attivo. Anche durante un'emergenza, un carico di lavoro affidabile deve ripristinare uno stato specifico entro un determinato periodo di tempo, entrambi concordati tra gli stakeholder. Un piano di risposta agli eventi imprevisti che consente di ottenere il rilevamento e il ripristino rapidi è fondamentale.

Durante la fase di progettazione di un carico di lavoro, è necessario considerare il modo in cui le decisioni basate sui principi di progettazione dell'affidabilità e le raccomandazioni nell'elenco di controllo di revisione della progettazione per l'affidabilità potrebbero influenzare gli obiettivi e le ottimizzazioni di altri pilastri. Alcune decisioni potrebbero trarre vantaggio da alcuni pilastri, ma costituiscono un compromesso per altri. Questo articolo descrive i compromessi di esempio che un team del carico di lavoro potrebbe riscontrare durante la progettazione dell'architettura e delle operazioni del carico di lavoro per l'affidabilità.

Compromessi di affidabilità con la sicurezza

Compromesso: maggiore area di superficie del carico di lavoro. Il pilastro Sicurezza assegna priorità a un'area di superficie ridotta e contenuta per ridurre al minimo i vettori di attacco e ridurre la gestione dei controlli di sicurezza.

  • L'affidabilità viene spesso ottenuta tramite la replica. La replica può verificarsi a livello di componente, a livello di dati o anche a livello geografico. Le repliche, per progettazione, aumentano la superficie di attacco di un carico di lavoro. Dal punto di vista della sicurezza, è preferibile una superficie di attacco ridotta e contenuta per ridurre al minimo i potenziali vettori di attacco e semplificare la gestione dei controlli di sicurezza.

  • Analogamente, le soluzioni di ripristino di emergenza, come i backup, aumentano la superficie di attacco di un carico di lavoro. Tuttavia, spesso sono isolati dal runtime del carico di lavoro. Queste soluzioni richiedono l'implementazione di controlli di sicurezza aggiuntivi, che potrebbero essere specifici dell'approccio di ripristino di emergenza.

  • Ai fini degli obiettivi di affidabilità, potrebbero essere necessari componenti aggiuntivi per l'architettura, aumentando la superficie di attacco. Ad esempio, un bus di messaggi potrebbe essere aggiunto per rendere resilienti le richieste tramite il disaccoppiamento. Questa maggiore complessità aumenta la superficie del carico di lavoro aggiungendo nuovi componenti che devono essere protetti, possibilmente in modi non già usati nel sistema. In genere, questi componenti sono accompagnati da codice e librerie aggiuntive per supportare il loro uso o modelli di affidabilità generali, che aumentano anche la superficie di attacco dell'applicazione.

Compromesso: bypass del controllo di sicurezza. Il pilastro Sicurezza consiglia che tutti i controlli rimangano attivi nei sistemi normali e stressati.

  • Quando un carico di lavoro riscontra un evento di affidabilità risolto in risposta agli eventi imprevisti attivi, l'urgenza potrebbe creare pressione per i team del carico di lavoro per ignorare i controlli di sicurezza ottimizzati per l'accesso di routine.

  • Le attività di risoluzione dei problemi possono causare la disabilitazione temporanea dei protocolli di sicurezza da parte del team, lasciando un sistema già stressato potenzialmente esposto a rischi aggiuntivi per la sicurezza. C'è anche il rischio che i protocolli di sicurezza non vengano ristabiliti tempestivamente.

  • Implementazioni granulari dei controlli di sicurezza, ad esempio assegnazioni personalizzate di controllo degli accessi in base al ruolo o regole del firewall strette, introducono complessità e sensibilità della configurazione, aumentando la probabilità di errori di configurazione. La mitigazione di questo potenziale impatto sull'affidabilità tramite regole generali comporta l'erosione di tutti e tre i principi dell'architettura Zero Trust.

Compromesso: versioni precedenti del software. Il pilastro Sicurezza incoraggia un approccio "aggiornato, rimanere aggiornato" alle patch di sicurezza del fornitore.

  • L'applicazione di patch di sicurezza o aggiornamenti software può potenzialmente interrompere il componente di destinazione, causando indisponibilità durante la modifica del software. Ritardare o evitare l'applicazione di patch potrebbe evitare i potenziali rischi di affidabilità, ma lascia il sistema non protetto dalle minacce in continua evoluzione.

  • La considerazione precedente si applica anche al codice del carico di lavoro. Ad esempio, si applica al codice dell'applicazione che usa librerie e contenitori precedenti che usano immagini di base precedenti. Se l'aggiornamento e la distribuzione del codice dell'applicazione vengono considerati come un rischio di affidabilità senza problemi, l'applicazione viene esposta a rischi di sicurezza aggiuntivi nel tempo.

Compromessi di affidabilità con l'ottimizzazione dei costi

Compromesso: maggiore ridondanza o spreco di implementazione. Un carico di lavoro ottimizzato per i costi riduce al minimo le risorse sottoutilizzate ed evita l'over provisioning delle risorse.

  • La replica è una strategia chiave per l'affidabilità. In particolare, la strategia consiste nel disporre di una replica sufficiente per gestire un determinato numero di errori simultanei dei nodi. La tolleranza per più errori di nodo simultanei richiede un numero di repliche più elevato, con conseguente aumento dei costi.

  • Il provisioning eccessivo è un'altra tecnica per assorbire il carico imprevisto in un sistema, ad esempio durante un evento di failover, che potrebbe altrimenti causare un problema di affidabilità. Qualsiasi capacità in eccesso non utilizzata è considerata sprecato.

  • Se un carico di lavoro usa una soluzione di ripristino di emergenza che soddisfa eccessivamente gli obiettivi del punto di ripristino e del tempo del carico di lavoro, l'eccesso comporta costi più elevati a causa di sprechi.

  • Le distribuzioni dei carichi di lavoro sono una potenziale fonte di impatto sull'affidabilità e questo impatto è spesso mitigato dalla ridondanza in fase di distribuzione tramite una strategia di distribuzione come blu/verde. Questa duplicazione temporanea delle risorse durante la distribuzione sicura aumenta in genere il costo complessivo del carico di lavoro durante tali periodi. I costi aumentano con frequenza delle distribuzioni.

Compromesso: maggiore investimento nelle operazioni non allineate ai requisiti funzionali. Un approccio all'ottimizzazione dei costi consiste nella valutazione del valore fornito da qualsiasi soluzione distribuita.

  • Per ottenere l'affidabilità, un sistema richiede l'osservabilità. I sistemi di monitoraggio richiedono il trasferimento e la raccolta dei dati di osservabilità. Man mano che le funzionalità di monitoraggio aumentano, la frequenza e il volume dei dati aumentano, causando costi aggiuntivi.

  • Gli inviti all'affidabilità nei carichi di lavoro richiedono test ed esercitazioni. La progettazione e l'esecuzione di test richiede tempo e strumenti potenzialmente specializzati, che comportano costi.

  • I carichi di lavoro con obiettivi ad alta affidabilità spesso hanno un processo di risposta rapido che richiede ai membri del team tecnico di far parte di una rotazione formale delle chiamate. Questo processo comporta costi aggiuntivi del personale e costi di opportunità persi a causa dell'attenzione che potrebbe essere indirizzata altrove. Comporta anche potenziali costi di strumenti per la gestione del processo.

  • I contratti di supporto con i provider di tecnologie sono un componente chiave di un carico di lavoro affidabile. I contratti di supporto non utilizzati perché il livello di supporto viene sottoposto a over provisioning comporta sprechi.

Compromessi di affidabilità con l'eccellenza operativa

Compromesso: maggiore complessità operativa. L'eccellenza operativa, come l'affidabilità stessa, assegna priorità alla semplicità.

  • L'affidabilità aumenta in genere la complessità di un carico di lavoro. Man mano che aumenta la complessità di un carico di lavoro, gli elementi operativi del carico di lavoro possono aumentare anche per supportare i componenti e i processi aggiunti in termini di coordinamento della distribuzione e superficie di attacco di configurazione.

  • Avere una strategia di monitoraggio completa per un carico di lavoro è una parte fondamentale dell'eccellenza operativa. L'introduzione di componenti aggiuntivi in un'architettura per implementare modelli di progettazione dell'affidabilità comporta più origini dati da gestire, aumentando la complessità dell'implementazione della traccia distribuita e dell'osservabilità.

  • L'uso di più aree per superare i vincoli di capacità delle risorse di una singola area e/o implementare un'architettura attiva/attiva aumenta la complessità della gestione operativa del carico di lavoro. Questa complessità è introdotta dalla necessità di gestire più aree e dalla necessità di gestire la replica dei dati tra di esse.

Compromesso: maggiore impegno per generare conoscenze e consapevolezza del team. Il pilastro Dell'eccellenza operativa consiglia di mantenere e gestire un repository di documentazione per procedure e topologie.

  • Man mano che un carico di lavoro diventa più affidabile grazie all'aggiunta di componenti e modelli di affidabilità, è necessario più tempo per gestire le procedure operative e la documentazione degli artefatti.

  • Il training diventa più complesso man mano che aumenta il numero di componenti nel carico di lavoro. Questa complessità influisce sul tempo necessario per l'onboarding. La complessità aumenta anche le conoscenze necessarie per tenere traccia delle roadmap dei prodotti e delle indicazioni più recenti a livello di servizio.

Compromessi di affidabilità con l'efficienza delle prestazioni

Compromesso: maggiore latenza. L'efficienza delle prestazioni richiede un sistema per ottenere obiettivi di prestazioni per i flussi di utenti e dati.

  • I modelli di affidabilità spesso incorporano la replica dei dati per evitare malfunzionamenti della replica. La replica introduce una latenza aggiuntiva per operazioni affidabili di scrittura dei dati, che utilizza una parte del budget delle prestazioni per un utente o un flusso di dati specifico.

  • L'affidabilità a volte usa varie forme di bilanciamento delle risorse per distribuire o ridistribuire il carico nelle repliche integre. Un componente dedicato usato per il bilanciamento in genere influisce sulle prestazioni della richiesta o del processo bilanciato.

  • La distribuzione di componenti tra limiti geografici o zone di disponibilità per sopravvivere a un impatto con ambito introduce la latenza di rete nella comunicazione tra i componenti che si estendono su tali limiti di disponibilità.

  • I processi estesi vengono usati per osservare l'integrità di un carico di lavoro. Anche se il monitoraggio è fondamentale per l'affidabilità, la strumentazione può influire sulle prestazioni del sistema. Man mano che aumenta l'osservabilità, le prestazioni potrebbero diminuire.

Compromesso: aumento del provisioning eccessivo. Il pilastro Efficienza delle prestazioni sconsiglia il provisioning eccessivo, consigliando invece l'uso di risorse sufficienti per soddisfare la domanda.

  • Le operazioni di ridimensionamento automatico non sono istantanee e pertanto non possono gestire in modo affidabile un picco improvviso e drammatico della domanda che non può essere modellato o smussato. Di conseguenza, il provisioning eccessivo tramite istanze più grandi o più istanze è una tattica di affidabilità critica per tenere conto del ritardo tra il segnale della domanda e la creazione dell'offerta per consentire l'assorbimento di picchi. La capacità inutilizzata contrasta gli obiettivi dell'efficienza delle prestazioni.

  • A volte un componente non può essere ridimensionato in risposta alla domanda e tale domanda non è completamente prevedibile. L'uso di istanze di grandi dimensioni per coprire il peggiore dei casi comporta l'over-provisioning di rifiuti in situazioni esterne al caso d'uso.

Esplorare i compromessi per gli altri pilastri: