Compromessi dell'ottimizzazione dei costi

Quando si progetta un carico di lavoro per ottimizzare il ritorno sugli investimenti (ROI) in vincoli finanziari, è necessario prima di tutto definire requisiti funzionali e non funzionali. Una strategia di priorità del lavoro e dell'impegno è essenziale. La fondazione è un team che ha un forte senso di responsabilità finanziaria. Il team deve avere una forte comprensione 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, prendere in considerazione il modo in cui le decisioni basate sui principi di progettazione dell'ottimizzazione dei costi e le raccomandazioni nell'elenco di controllo della progettazione per l'ottimizzazione dei 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 del carico di lavoro e la reputazione. Questo articolo descrive i compromessi di esempio che un team del carico di lavoro potrebbe riscontrare quando si considera l'impostazione di destinazione, la progettazione e le operazioni per l'ottimizzazione dei costi.

Compromessi dell'ottimizzazione dei costi con affidabilità

Il costo di un'interruzione del servizio deve essere misurato rispetto al costo di impedire o recuperare da uno. Se il costo delle interruzioni supera il costo della progettazione dell'affidabilità, è necessario investire di più per prevenire o attenuare 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 di 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à specifiche di malfunzionamento.

  • Per risparmiare denaro, il team del carico di lavoro potrebbe eseguire il sottoprovisioning di un componente o sovrasvolgerne il ridimensionamento, rendendo più probabile che il componente abbia esito negativo durante picchi improvvisi in 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 picchi di domanda e durante operazioni di manutenzione come gli aggiornamenti.

  • La rimozione di componenti che supportano modelli di progettazione di resilienza, ad esempio un bus di messaggio e la creazione di una dipendenza diretta riduce le funzionalità di auto-conservazione.

  • Risparmiare 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 a livello di servizio (SLO) che il carico di lavoro può raggiungere.

  • L'impostazione di limiti di spesa rigidi può impedire a un carico di lavoro di ridimensionare per soddisfare la domanda legittima.

  • Senza strumenti di test di affidabilità o test, l'affidabilità di un carico di lavoro è sconosciuta e è 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.

  • È possibile ridurre i test o il drill-of-drill del piano di ripristino di emergenza di un carico di lavoro in modo che influisca sulla velocità e sull'efficacia delle operazioni di ripristino.

  • La creazione o la conservazione di meno backup riduce i possibili punti di ripristino e aumenta la possibilità di perdere dati.

  • Un contratto di supporto meno costoso potrebbe aumentare il tempo di ripristino 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 la complessità non necessaria 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 di distribuzione del contenuto (CDN) o spostare i compiti ai dispositivi perimetrali e client per i quali un carico di lavoro deve fornire destinazioni di affidabilità.

  • Il ridimensionamento basato su eventi può essere più complesso per ottimizzare e convalidare il ridimensionamento basato su risorse.

  • La riduzione del volume dei dati e la suddivisione a livelli dei dati tramite azioni del ciclo di vita dei dati, eventualmente 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 dell'ottimizzazione dei costi con sicurezza

Il costo di una compromissione della riservatezza, dell'integrità e della disponibilità in un carico di lavoro deve sempre essere bilanciato rispetto al costo dello sforzo per evitare tale compromissione. Un evento imprevisto di sicurezza può avere un'ampia gamma di effetti finanziari e legali e danneggiare la reputazione di un'azienda. L'investimento in sicurezza è un'attività di mitigazione dei rischi. Il costo dell'esperienza dei rischi deve essere bilanciato rispetto all'investimento. Come regola, non compromettere la sicurezza per ottenere ottimizzazioni dei costi che sono al di sotto del punto di responsabilità e concordato sulla mitigazione dei rischi. L'ottimizzazione dei costi di sicurezza tramite diritti delle soluzioni è una pratica di ottimizzazione importante, ma 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 la difesa in profondità.

Una tattica di ottimizzazione dei costi consiste nel cercare modi per rimuovere componenti o processi che accumulano costi unit o operativi. Tenere presente che 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 compromesse il principio esplicito dell'architettura zero-trust. Esempi di queste semplificazioni includono l'uso di uno schema di autenticazione di base, ad esempio chiavi precondividi, anziché investire tempo per apprendere approcci OAuth del settore o usando assegnazioni di controllo degli accessi in base al ruolo semplificate per ridurre il sovraccarico di gestione.

  • La rimozione della crittografia in transito o inattiva 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 del costo e dell'investimento in tempo associato possono influire direttamente sulla riservatezza, l'integrità o la disponibilità che gli strumenti e i test devono proteggere.

  • Ridurre la frequenza di patch di sicurezza a causa del tempo operativo investito nel catalogo ed eseguire l'applicazione delle patch influisce sulla capacità di un carico di lavoro di affrontare le minacce in evoluzione.

  • La rimozione di controlli di rete come i firewall potrebbe causare un errore per bloccare il traffico in ingresso e in uscita dannoso.

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 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 l'area di 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 contenuto statico per disattivare i dati in un nuovo componente della rete CDN.

  • Uso del modello Di distribuzione delle chiavi per scaricare l'elaborazione e proteggere l'accesso alle risorse al calcolo client.

  • Usando il modello di bilanciamento del livello di carico Queue-Based per regolare i costi introducendo un bus di messaggi.

Compromesso: segmentazione rimossa. Il pilastro Sicurezza assegna priorità alla segmentazione forte 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 co-individuazione di più applicazioni in una piattaforma applicazione condivisa, è un approccio per ridurre i costi aumentando la densità e riducendo la superficie di gestione. Questo aumento della densità può causare problemi di sicurezza come questi:

  • Lo spostamento laterale tra i componenti che condividono le risorse è più semplice. Un evento di sicurezza che compromette la disponibilità dell'host della piattaforma applicazione o di un'applicazione singola ha anche un raggio di esplosione più ampio.

  • Le risorse localizzate possono condividere un'identità del carico di lavoro e avere percorsi di controllo meno significativi nei log di accesso.

  • I controlli di sicurezza di rete devono essere sufficienti per coprire tutte le risorse localizzate. Questa configurazione viola potenzialmente il principio del privilegio minimo per alcune risorse.

  • La co-individuazione di applicazioni o dati diversi in un host condiviso può causare l'estensione dei requisiti di conformità e dei controlli di sicurezza alle applicazioni o ai dati che altrimenti sarebbero fuori ambito. Questa espansione dell'ambito richiede ulteriori sforzi di controllo e controllo della sicurezza sui componenti co-localizzati.

Compromessi dell'ottimizzazione dei costi con l'eccellenza operativa

Compromesso: capacità del ciclo di vita dello sviluppo software compromesso (SDLC). Il processo SDLC di un carico di lavoro fornisce rigore, coerenza, specificità e priorità per la gestione delle modifiche in un carico di lavoro.

  • Riducendo gli sforzi di test per risparmiare tempo e il costo associato al personale di test, alle risorse e agli strumenti può causare più bug nell'ambiente di produzione.

  • Il ritardo del debito tecnico per concentrarsi sugli sforzi del personale sulle nuove funzionalità può causare cicli di sviluppo più lente e flessibilità complessivamente ridotta.

  • La deprioritizzazione della documentazione per concentrarsi sulle attività del personale sullo sviluppo del prodotto può causare 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 porta a competenze stagnate, riducendo la capacità del team di adottare tecnologie e pratiche più recenti.

  • La rimozione degli strumenti di automazione per risparmiare denaro può comportare una spesa maggiore per il personale sulle attività che non sono più automatizzate. Aumenta anche il rischio di errori e inconsistenze.

  • Ridurre gli sforzi di pianificazione, ad esempio la priorità dell'ambito e dell'attività, per ridurre le spese può aumentare la probabilità di rilaborazione a causa di specifiche vaghe e di scarsa implementazione.

  • Evitare o ridurre le attività di miglioramento continuo, ad esempio le retrospettive e i report dopo gli eventi imprevisti, per mantenere il team del carico di lavoro incentrato sul recapito può creare opportunità mancanti per ottimizzare la routine, i processi 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 una risposta corretta agli eventi imprevisti.

  • La riduzione del volume dei log e delle metriche 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 all'affidabilità, alla sicurezza e alle prestazioni.
    • Copertura delle lacune 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 tali nuovi componenti. Ad esempio, alcuni modelli possono introdurre flussi che estendono più componenti o spostano processi dal server al client. Queste modifiche possono aumentare la complessità delle informazioni relative e di rilevamento.

  • L'investimento ridotto negli strumenti di osservabilità e la manutenzione di dashboard efficaci possono ridurre la capacità di imparare dalla produzione, convalidare le scelte di progettazione e informare la progettazione dei prodotti. Questa riduzione può anche ostacolare le attività di risposta agli eventi imprevisti e rendere più difficile soddisfare l'obiettivo del tempo di ripristino e SLO.

Compromesso: manutenzione posticipata. I team del carico di lavoro devono mantenere il codice, gli strumenti, i pacchetti software e i sistemi operativi patchati e aggiornati in modo tempestivo e ordinato.

  • Lasciando scadere i contratti di manutenzione con fornitori di strumenti, è possibile che le funzionalità di ottimizzazione non riuscite, le risoluzioni dei bug e gli aggiornamenti della sicurezza.

  • L'aumento del tempo tra le patch di sistema per risparmiare tempo può causare correzioni di bug mancanti o una mancanza di protezione da minacce di sicurezza in evoluzione.

Compromessi dell'ottimizzazione dei costi con efficienza delle prestazioni

I pilastri dell'ottimizzazione dei costi e dell'efficienza delle prestazioni sono entrambi prioritari per massimizzare il valore di un carico di lavoro. L'efficienza delle prestazioni sottolinea gli obiettivi di prestazioni senza spendere più di quanto necessario. L'ottimizzazione dei costi sottolinea il valore prodotto dalle risorse di un carico di lavoro senza superare le destinazioni di prestazioni. Di conseguenza, l'ottimizzazione dei costi migliora spesso l'efficienza delle prestazioni. Tuttavia, esistono compromessi sull'efficienza delle prestazioni associati all'ottimizzazione dei costi. Questi compromessi possono rendere più difficile raggiungere obiettivi di prestazioni e impedire l'ottimizzazione delle prestazioni in corso.

Tradeoff: risorse sottoprovisionate o sottoscala. Un carico di lavoro efficiente per le prestazioni ha risorse sufficienti per servire la domanda, ma non ha un sovraccarico eccessivo inutilizzato, anche quando i modelli di utilizzo cambiano.

  • Ridurre i costi riducendo le risorse può privare le applicazioni delle risorse. L'applicazione potrebbe non essere in grado di gestire le fluttuazioni significative del modello di utilizzo.

  • La limitazione o il ritardo del ridimensionamento per limitare o ridurre i costi potrebbero causare un'offerta insufficiente per soddisfare la domanda.

  • Le impostazioni di scalabilità automatica che riducono in modo aggressivo i costi potrebbero lasciare un servizio non preparato per picchi improvvisi in domanda o causare frequenti fluttuazioni del ridimensionamento (flapping).

Compromesso: mancanza di ottimizzazione nel tempo. La valutazione degli effetti delle modifiche apportate alle funzionalità, alle modifiche apportate ai modelli di utilizzo, alle nuove tecnologie e ai diversi approcci sul carico di lavoro è un modo per cercare di aumentare l'efficienza.

  • Limitare l'attenzione allo sviluppo di competenze nell'ottimizzazione delle prestazioni per assegnare priorità al recapito può causare opportunità mancanti per migliorare l'efficienza dell'utilizzo delle risorse.

  • La rimozione dei test delle prestazioni di accesso o degli strumenti di monitoraggio aumenta il rischio di problemi di prestazioni non rilevati. Limita anche la possibilità di eseguire un team del carico di lavoro su misure/migliorare i cicli.

  • L'abbandono delle aree soggette a riduzione delle prestazioni, ad esempio gli archivi dati, può peggiorare gradualmente le prestazioni delle query e aumentare l'utilizzo complessivo del sistema.

Esplorare i compromessi per gli altri pilastri: