Compromessi di Ottimizzazione costi
Quando si progetta un carico di lavoro per ottimizzare il ritorno sugli investimenti (ROI) in vincoli finanziari, è necessario prima di tutto requisiti funzionali e non funzionali definiti in modo chiaro. Una strategia di definizione delle priorità del lavoro e dello sforzo è essenziale. La fondazione è un team che ha un forte senso di responsabilità finanziaria. Il team deve avere una conoscenza approfondita delle tecnologie disponibili e dei relativi modelli di fatturazione.
Dopo aver compreso il ROI di un carico di lavoro, è possibile iniziare a migliorarlo. Per migliorare il ROI, valutare il modo in cui le decisioni basate sui principi di progettazione di Ottimizzazione costi e le raccomandazioni nell'elenco di controllo di revisione della progettazione per Ottimizzazione costi potrebbero influenzare gli obiettivi e le ottimizzazioni di altri pilastri di Azure Well-Architected Framework. Per l'ottimizzazione dei costi, è importante evitare di concentrarsi su una soluzione più economica. Le scelte che si concentrano solo sulla riduzione della spesa possono aumentare il rischio di compromettere gli obiettivi aziendali e la reputazione del carico di lavoro. Questo articolo descrive i compromessi di esempio che un team del carico di lavoro potrebbe riscontrare quando si valuta l'impostazione, la progettazione e le operazioni di destinazione per l'ottimizzazione dei costi.
Compromessi di ottimizzazione dei costi con affidabilità
Il costo di un'interruzione del servizio deve essere misurato in base al costo di impedire o recuperare da uno. Se il costo delle interruzioni supera il costo della progettazione dell'affidabilità, è consigliabile investire di più per evitare o ridurre le interruzioni. Al contrario, il costo degli sforzi di affidabilità potrebbe essere maggiore del costo di un'interruzione, inclusi fattori come i requisiti di conformità e la reputazione. È consigliabile considerare la distribuzione strategica nella progettazione dell'affidabilità solo in questo scenario.
Compromesso: resilienza ridotta. Un carico di lavoro incorpora misure di resilienza per tentare di evitare e resistere a tipi e quantità specifici di malfunzionamento.
Per risparmiare denaro, il team del carico di lavoro potrebbe effettuare il provisioning di un componente o sovraccaricare il ridimensionamento, rendendo più probabile che il componente abbia esito negativo durante picchi improvvisi della domanda.
Il consolidamento delle risorse del carico di lavoro (aumento della densità) per l'ottimizzazione dei costi rende più probabile che i singoli componenti non riescano durante i picchi di domanda e durante operazioni di manutenzione come gli aggiornamenti.
La rimozione di componenti che supportano modelli di progettazione della resilienza, ad esempio un bus di messaggi e la creazione di una dipendenza diretta riduce le funzionalità di auto-conservazione.
Il risparmio di denaro riducendo la ridondanza può limitare la capacità di un carico di lavoro di gestire i malfunzionamenti simultanei.
L'uso degli SKU di budget potrebbe limitare l'obiettivo massimo del livello di servizio (SLO) che il carico di lavoro può raggiungere.
L'impostazione di limiti di spesa rigidi può impedire il ridimensionamento di un carico di lavoro per soddisfare la domanda legittima.
Senza strumenti o test di test di affidabilità, l'affidabilità di un carico di lavoro è sconosciuta ed è meno probabile che soddisfi gli obiettivi di affidabilità.
Compromesso: strategia di ripristino limitata. Un carico di lavoro affidabile ha una risposta agli eventi imprevisti testati e un piano di ripristino per gli scenari di emergenza.
I test ridotti o il drill-down del piano di ripristino di emergenza di un carico di lavoro potrebbero influire sulla velocità e sull'efficacia delle operazioni di ripristino.
La creazione o la conservazione di un minor numero di backup riduce i possibili punti di ripristino e aumenta la possibilità di perdere dati.
La scelta di un contratto di supporto meno costoso con i partner tecnologici potrebbe aumentare il tempo di recupero del carico di lavoro a causa di potenziali ritardi nell'assistenza tecnica.
Compromesso: maggiore complessità. Un carico di lavoro che usa approcci semplici ed evita complessità superflue o sovraengineered è in genere più facile da gestire in termini di affidabilità.
L'uso di modelli cloud di ottimizzazione dei costi può aggiungere nuovi componenti, ad esempio una rete per la distribuzione di contenuti (CDN) o spostare i compiti ai dispositivi perimetrali e client per i quali un carico di lavoro deve fornire obiettivi di affidabilità.
Il ridimensionamento basato su eventi può essere più complesso da ottimizzare e convalidare rispetto al ridimensionamento basato sulle risorse.
La riduzione del volume di dati e la suddivisione in livelli dei dati tramite azioni del ciclo di vita dei dati, possibilmente in combinazione con l'implementazione di punti dati aggregati prima di un evento del ciclo di vita, introduce fattori di affidabilità da considerare nel carico di lavoro.
L'uso di aree diverse per ottimizzare i costi può rendere più difficile la gestione, la rete e il monitoraggio.
Compromessi di Ottimizzazione dei costi con la sicurezza
Il costo di una compromissione della riservatezza, dell'integrità e della disponibilità in un carico di lavoro deve essere sempre bilanciato rispetto al costo dello sforzo per evitare tale compromissione. Un incidente di sicurezza può avere un'ampia gamma di impatti finanziari e legali e danneggiare la reputazione di un'azienda. Investire in sicurezza è un'attività di mitigazione dei rischi. Il costo di fronte ai rischi deve essere bilanciato contro l'investimento. Di norma, non compromettere la sicurezza per ottenere ottimizzazioni dei costi al di sotto del punto di responsabilità e concordato sulla mitigazione dei rischi. L'ottimizzazione dei costi di sicurezza tramite diritti delle soluzioni è una procedura di ottimizzazione importante, ma è importante tenere presente i compromessi come il seguente quando si esegue questa operazione.
Compromesso: controlli di sicurezza ridotti. I controlli di sicurezza vengono stabiliti in più livelli, a volte ridondanti, per fornire una difesa approfondita.
Una tattica di ottimizzazione dei costi consiste nel cercare modi per rimuovere componenti o processi che accumulano costi operativi o unità. La rimozione di componenti di sicurezza come gli esempi seguenti per risparmiare denaro influisce sulla sicurezza. È necessario eseguire attentamente un'analisi dei rischi su questo impatto.
La riduzione o la semplificazione delle tecniche di autenticazione e autorizzazione compromette il principio esplicito dell'architettura senza attendibilità . Esempi di queste semplificazioni includono l'uso di uno schema di autenticazione di base come chiavi precondivise anziché investire tempo per apprendere gli approcci OAuth del settore o l'uso di assegnazioni semplificate di controllo degli accessi in base al ruolo per ridurre il sovraccarico di gestione.
La rimozione della crittografia in transito o inattivi per ridurre i costi sui certificati e i processi operativi espone i dati a potenziali violazioni dell'integrità o della riservatezza.
La rimozione o la riduzione dell'analisi della sicurezza o degli strumenti di ispezione o dei test di sicurezza a causa dei costi associati e degli investimenti in termini di tempo possono influire direttamente sulla riservatezza, l'integrità o la disponibilità che gli strumenti e i test devono proteggere.
La riduzione della frequenza di applicazione delle patch di sicurezza a causa del tempo operativo investito nella catalogazione e l'esecuzione dell'applicazione di patch influisce sulla capacità di un carico di lavoro di affrontare le minacce in continua evoluzione.
La rimozione di controlli di rete come i firewall potrebbe causare un errore nel bloccare il traffico in ingresso e in uscita dannoso.
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 la gestione dei controlli di sicurezza.
I modelli di progettazione cloud che ottimizzano i costi a volte richiedono l'introduzione di componenti aggiuntivi. Questi componenti aggiuntivi aumentano la superficie del carico di lavoro. I componenti e i dati all'interno di essi devono essere protetti, possibilmente in modi non già usati nel sistema. Questi componenti e dati sono spesso soggetti alla conformità. Esempi di modelli che possono introdurre componenti includono:
Uso del modello di hosting di contenuti statici per eseguire l'offload dei dati in un nuovo componente della rete CDN.
Uso del modello Di passepartimento chiavi per eseguire l'offload dell'elaborazione e proteggere l'accesso alle risorse al calcolo client.
Usando il modello di livellamento del carico basato su coda per ridurre i costi introducendo un bus di messaggi.
Compromesso: segmentazione rimossa. Il pilastro Sicurezza assegna priorità alla segmentazione avanzata per supportare l'applicazione di controlli di sicurezza mirati e per controllare il raggio dell'esplosione.
La condivisione delle risorse, ad esempio in situazioni di multi-tenancy o la condivisione di più applicazioni in una piattaforma applicativa condivisa, è un approccio per ridurre i costi aumentando la densità e riducendo la superficie di gestione. Questa maggiore densità può causare problemi di sicurezza come i seguenti:
Lo spostamento laterale tra i componenti che condividono le risorse è più semplice. Un evento di sicurezza che compromette la disponibilità dell'host della piattaforma dell'applicazione o di una singola applicazione ha anche un raggio di esplosione maggiore.
Le risorse condivise possono condividere un'identità del carico di lavoro e avere audit trail meno significativi nei log di accesso.
I controlli di sicurezza di rete devono essere sufficientemente ampi per coprire tutte le risorse con percorso condiviso. Questa configurazione viola potenzialmente il principio dei privilegi minimi per alcune risorse.
La condivisione dell'individuazione di applicazioni o dati diversi in un host condiviso può comportare l'estensione dei requisiti di conformità e dei controlli di sicurezza alle applicazioni o ai dati che altrimenti non rientrano nell'ambito. L'ampliamento dell'ambito richiede ulteriori sforzi di controllo e controllo della sicurezza sui componenti localizzati.
Compromessi per l'ottimizzazione dei costi con l'eccellenza operativa
Compromesso: capacità del ciclo di vita di sviluppo software compromesso (SDLC). Il processo SDLC di un carico di lavoro offre rigore, coerenza, specificità e priorità per la gestione delle modifiche in un carico di lavoro.
Riducendo le attività di test per risparmiare tempo e il costo associato al personale di test, alle risorse e agli strumenti può comportare un maggior numero di bug nell'ambiente di produzione.
Il ritardo del pagamento del debito tecnico per concentrare gli sforzi del personale sulle nuove funzionalità può causare cicli di sviluppo più lenti e una riduzione complessiva dell'agilità.
La deprecazione della documentazione per concentrare le attività del personale sullo sviluppo di prodotti può portare a tempi di onboarding più lunghi per i nuovi dipendenti, influire sull'efficacia della risposta agli eventi imprevisti e compromettere i requisiti di conformità.
La mancanza di investimenti nella formazione comporta la stagnazione delle competenze, riducendo la capacità del team di adottare tecnologie e pratiche più recenti.
La rimozione degli strumenti di automazione per risparmiare denaro può comportare una maggiore spesa per il personale per le attività che non sono più automatizzate. Aumenta anche il rischio di errori e incoerenze.
La riduzione delle attività di pianificazione, come la definizione di priorità e l'assegnazione delle priorità alle attività, per ridurre le spese può aumentare la probabilità di rielaborazione a causa di specifiche vaghe e di scarsa implementazione.
Evitare o ridurre le attività di miglioramento continuo, come le analisi retrospettive e i report sugli eventi imprevisti, per mantenere il team del carico di lavoro incentrato sul recapito può creare opportunità perse per ottimizzare i processi di routine, non pianificati e di emergenza.
Compromesso: riduzione dell'osservabilità. L'osservabilità è necessaria per garantire che un carico di lavoro disponga di avvisi significativi e di risposta corretta agli eventi imprevisti.
La riduzione del volume di log e metrica per risparmiare sui costi di archiviazione e trasferimento riduce l'osservabilità del sistema e può causare:
- Meno punti dati per la creazione di avvisi correlati a affidabilità, sicurezza e prestazioni.
- Gap di copertura nelle attività di risposta agli eventi imprevisti.
- Osservabilità limitata in interazioni o limiti correlati alla sicurezza o alla conformità.
I modelli di progettazione dell'ottimizzazione dei costi possono aggiungere componenti a un carico di lavoro, aumentandone la complessità. La strategia di monitoraggio del carico di lavoro deve includere questi nuovi componenti. Alcuni modelli, ad esempio, possono introdurre flussi che si estendono su più componenti o spostano i processi dal server al client. Queste modifiche possono aumentare la complessità della correlazione e delle informazioni di rilevamento.
Un investimento ridotto negli strumenti di osservabilità e la manutenzione di dashboard efficaci può ridurre la capacità di apprendere dalla produzione, convalidare le scelte di progettazione e informare la progettazione del prodotto. Questa riduzione può anche ostacolare le attività di risposta agli eventi imprevisti e rendere più difficile soddisfare l'obiettivo del tempo di ripristino e lo SLO.
Compromesso: manutenzione posticipata. I team del carico di lavoro devono mantenere il codice, gli strumenti, i pacchetti software e i sistemi operativi con patch e aggiornati in modo tempestivo e ordinato.
Consentire la scadenza dei contratti di manutenzione con fornitori di strumenti può causare la mancata disponibilità di funzionalità di ottimizzazione, risoluzioni di bug e aggiornamenti della sicurezza.
L'aumento del tempo tra le patch di sistema per risparmiare tempo può causare correzioni di bug perse o mancanza di protezione dalle minacce alla sicurezza in continua evoluzione.
Compromessi di ottimizzazione dei costi con efficienza delle prestazioni
I pilastri Ottimizzazione dei costi e Efficienza delle prestazioni assegnano entrambe priorità all'ottimizzazione del valore di un carico di lavoro. L'efficienza delle prestazioni evidenzia gli obiettivi di prestazioni senza spendere più del necessario. L'ottimizzazione dei costi evidenzia l'ottimizzazione del valore prodotto dalle risorse di un carico di lavoro senza superare gli obiettivi di prestazioni. Di conseguenza, l'ottimizzazione dei costi spesso migliora l'efficienza delle prestazioni. Tuttavia, esistono compromessi per l'efficienza delle prestazioni associati all'ottimizzazione dei costi. Questi compromessi possono rendere più difficile raggiungere gli obiettivi di prestazioni e ostacolare l'ottimizzazione continua delle prestazioni.
Compromesso: risorse sottoprovisioning o sottoscalabilità. Un carico di lavoro efficiente per le prestazioni ha risorse sufficienti per soddisfare la domanda, ma non ha un sovraccarico eccessivo inutilizzato, anche quando i modelli di utilizzo fluttuano.
Ridurre i costi riducendo le risorse può privare le applicazioni di risorse. L'applicazione potrebbe non essere in grado di gestire fluttuazioni significative del modello di utilizzo.
La limitazione o il ritardo del ridimensionamento per limitare o ridurre i costi potrebbe comportare un'offerta insufficiente per soddisfare la domanda.
Le impostazioni di scalabilità automatica che si riducono in modo aggressivo per ridurre i costi potrebbero lasciare un servizio impreparato per i picchi improvvisi della domanda o causare frequenti fluttuazioni di ridimensionamento (flapping).
Compromesso: mancanza di ottimizzazione nel tempo. La valutazione degli effetti delle modifiche apportate alle funzionalità, ai cambiamenti nei modelli di utilizzo, alle nuove tecnologie e ai diversi approcci sul carico di lavoro è un modo per provare ad aumentare l'efficienza.
Limitando l'attenzione allo sviluppo di competenze nell'ottimizzazione delle prestazioni per classificare in ordine di priorità il recapito può causare opportunità perse per migliorare l'efficienza dell'utilizzo delle risorse.
La rimozione degli strumenti di test delle prestazioni di accesso o di monitoraggio aumenta il rischio di problemi di prestazioni non rilevati. Limita inoltre la capacità di esecuzione di un team del carico di lavoro su cicli di misurazione/miglioramento.
L'abbandono di aree soggette a riduzione delle prestazioni, ad esempio gli archivi dati, può gradualmente peggiorare le prestazioni delle query e elevare l'utilizzo complessivo del sistema.
Collegamenti correlati
Esplorare i compromessi per gli altri pilastri: