Compromessi di affidabilità

Un carico di lavoro affidabile soddisfa in modo coerente gli obiettivi di affidabilità definiti. Dovrebbe raggiungere obiettivi di resilienza stabiliti, in modo ideale aggirando gli eventi che influiscono sull'affidabilità. Tuttavia, un carico di lavoro deve tollerare e controllare l'impatto di tali eventi e mantenere 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 rapido e il ripristino è fondamentale.

Durante la fase di progettazione di un carico di lavoro, è necessario considerare come le decisioni basate sui principi di progettazione affidabilità e le raccomandazioni nell'elenco di controllo Revisione progettazione per affidabilità potrebbero influenzare gli obiettivi e le ottimizzazioni di altri pilastri. Alcune decisioni possono 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: area di superficie del carico di lavoro aumentata. 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, in base alla progettazione, aumentano l'area di superficie di un carico di lavoro. Dal punto di vista della sicurezza, un'area di superficie ridotta e contenuta è preferibile ridurre al minimo i potenziali vettori di attacco e semplificare la gestione dei controlli di sicurezza.

  • Analogamente, le soluzioni di ripristino di emergenza, ad esempio i backup, aumentano l'area di superficie di un carico di lavoro. Tuttavia, sono spesso isolati dal runtime del carico di lavoro. Ciò richiede l'implementazione di controlli di sicurezza aggiuntivi, che potrebbero essere specifici della soluzione di ripristino di emergenza.

  • Per motivi di affidabilità, potrebbero essere necessari componenti aggiuntivi per l'architettura, che aumenta l'area di superficie. Ad esempio, un bus di messaggi potrebbe essere aggiunto per rendere resilienti le richieste. Questa maggiore complessità aumenta l'area di 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 i modelli di affidabilità o di utilizzo generale, che aumentano anche l'area di superficie dell'applicazione.

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

  • Quando un carico di lavoro sta riscontrando un evento di affidabilità che viene risolto sotto la risposta attiva agli eventi imprevisti, l'urgenza potrebbe creare pressione per i team del carico di lavoro per ignorare i controlli di sicurezza ottimizzati per l'accesso alla routine.

  • La risoluzione dei problemi può causare al team di disabilitare temporaneamente i protocolli di sicurezza, lasciando un sistema già stressato potenzialmente esposto a rischi di sicurezza aggiuntivi. C'è anche un rischio che i protocolli di sicurezza non vengano riabilitati immediatamente.

  • Implementazioni granulari dei controlli di sicurezza, ad esempio assegnazioni di controllo degli accessi in base al ruolo o regole del firewall, introducono complessità e riservatezza della configurazione, aumentando la possibilità di una configurazione errata. Mitigazione di questo potenziale impatto sull'affidabilità usando regole generali erodono tutti e tre i principi dell'architettura Zero Trust.

Compromesso: versioni precedenti del software. Il pilastro Sicurezza incoraggia un approccio "get current, stay current" alle patch di sicurezza dei fornitori.

  • L'applicazione di patch di sicurezza o aggiornamenti software può potenzialmente interrompere il componente di destinazione, causando l'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 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 visualizzati come rischio di affidabilità nontigata, l'applicazione viene esposta a rischi di sicurezza aggiuntivi nel tempo.

Compromessi di affidabilità con Ottimizzazione costi

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

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

  • Il provisioning eccessivo è un'altra tecnica per l'assorbimento del carico imprevisto in un sistema 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 di tempo e punto di ripristino del carico di lavoro, l'eccesso comporta costi più elevati a causa di rifiuti.

  • Le distribuzioni dei carichi di lavoro sono una potenziale fonte di impatto sull'affidabilità e l'impatto è spesso attenuato 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 questi periodi. I costi aumentano con la frequenza delle distribuzioni.

Compromesso: aumento degli investimenti nelle operazioni non allineate ai requisiti funzionali. Un approccio all'ottimizzazione dei costi sta valutando il 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 osservabili. Man mano che le funzionalità di monitoraggio aumentano, la frequenza e il volume dei dati aumentano, causando costi aggiuntivi.

  • Le offerte di affidabilità nei carichi di lavoro richiedono test e drill- La progettazione e l'esecuzione di test richiede tempo e strumenti potenzialmente specializzati, che comportano costi.

  • I carichi di lavoro con obiettivi di affidabilità elevata spesso hanno un processo di risposta rapido che richiede ai membri del team tecnico di far parte di una rotazione formale su chiamata. Questo processo comporta costi aggiuntivi per il personale e costi persi a causa di attenzione che potrebbero essere indirizzati altrove. Comporta anche potenziali costi di strumenti per la gestione del processo.

  • I contratti di supporto con i provider di tecnologie sono un componente fondamentale di un carico di lavoro affidabile. I contratti di supporto che non vengono utilizzati perché il livello di supporto è sovraprovisionato comporta rifiuti.

Compromessi di affidabilità con l'eccellenza operativa

Compromesso: maggiore complessità operativa. Eccellenza operativa, come Affidabilità stessa, assegna priorità alla semplicità.

  • L'affidabilità aumenta in genere la complessità di un carico di lavoro. Poiché la complessità di un carico di lavoro aumenta, 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 area di superficie 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 di 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 un'area singola 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 la necessità di gestire la replica dei dati tra di esse.

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

  • Poiché un carico di lavoro diventa più affidabile tramite l'aggiunta di componenti e modelli di affidabilità, richiede più tempo per gestire le procedure operative e la documentazione degli artefatti.

  • Il training diventa più complesso perché il numero di componenti nel carico di lavoro aumenta. Questa complessità influisce sul tempo necessario per l'onboarding e aumenta le conoscenze necessarie per tenere traccia delle roadmap dei prodotti e delle linee guida a livello di servizio.

Compromessi di affidabilità con efficienza delle prestazioni

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

  • I modelli di affidabilità includono spesso la replica dei dati per sopravvivere al malfunzionamento della replica. La replica introduce una latenza aggiuntiva per operazioni di scrittura dati affidabili, 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 alle repliche integre. Un componente dedicato utilizzato per il bilanciamento influisce in genere 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. Quando aumenta l'osservabilità, le prestazioni potrebbero diminuire.

Compromesso: aumento del provisioning. Il pilastro Efficienza prestazioni scoraggia il provisioning eccessivo, invece consiglia 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 nella domanda che non può essere modellato o lisciato. Pertanto, il over-provisioning 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. La capacità inutilizzata contatore gli obiettivi dell'efficienza delle prestazioni.

  • A volte un componente non può essere ridimensionato in reazione alla domanda e tale domanda non è completamente prevedibile. L'uso di istanze di grandi dimensioni per coprire il peggior caso comporta il sovraccarico del provisioning dei rifiuti in situazioni esterne al caso d'uso.

Esplorare i compromessi per gli altri pilastri: