Modelli di progettazione cloud che supportano l'ottimizzazione dei costi

Quando si progettano architetture del carico di lavoro, è consigliabile usare modelli di settore che affrontano le sfide comuni. I modelli consentono di effettuare compromessi intenzionali all'interno dei carichi di lavoro e ottimizzare per il risultato desiderato. Possono anche contribuire a mitigare i rischi che provengono da problemi specifici, che possono influire sull'affidabilità, sulla sicurezza, sulle prestazioni e sulle operazioni. In caso contrario, i rischi aumentano eventualmente i costi. Questi modelli sono supportati dall'esperienza reale, sono progettati per la scalabilità cloud e i modelli operativi e sono intrinsecamente fornitori agnostici. L'uso di modelli noti come un modo per standardizzare la progettazione del carico di lavoro è un componente dell'eccellenza operativa.

Molti modelli di progettazione supportano direttamente uno o più pilastri dell'architettura. Modelli di progettazione che supportano il pilastro Ottimizzazione costi allineati all'implementazione di modelli di fatturazione favorevoli, riduzione del overprovisioning, modifica delle dimensioni di ridimensionamento e ottimizzazione del valore durante le migrazioni.

Modelli di progettazione per l'ottimizzazione dei costi

La tabella seguente riepiloga i modelli di progettazione cloud che supportano gli obiettivi di ottimizzazione dei costi.

Modello Summary
Scontrino Separa i dati dal flusso di messaggistica, fornendo un modo per recuperare separatamente i dati correlati a un messaggio. I sistemi di messaggistica spesso impongono limiti alle dimensioni dei messaggi e spesso un aumento delle dimensioni è una funzionalità Premium. La riduzione delle dimensioni dei corpi dei messaggi potrebbe consentire di usare una soluzione di messaggistica più economica.
Consumer concorrenti Applica l'elaborazione distribuita e simultanea per gestire in modo efficiente gli elementi in una coda. Questo modello consente di ottimizzare i costi abilitando la scalabilità basata sulla profondità della coda, fino a zero quando la coda è vuota. Può anche ottimizzare i costi consentendo di limitare il numero massimo di istanze di consumer simultanee.
Consolidamento delle risorse di calcolo Ottimizza e consolida le risorse di calcolo aumentando la densità. Questo modello combina più applicazioni o componenti di un carico di lavoro in un'infrastruttura condivisa. Ciò consente di ottimizzare l'utilizzo delle risorse di calcolo evitando la capacità di provisioning inutilizzata tramite aggregazione di componenti o anche carichi di lavoro interi in un'infrastruttura in pool. Gli orchestratori di contenitori sono un esempio comune.
Offload del gateway Offload dell'elaborazione delle richieste in un dispositivo gateway prima e dopo l'inoltro della richiesta a un nodo back-end. L'aggiunta di un gateway di offload nel processo di richiesta consente di reindirizzare i costi dalle risorse che verranno spese per nodo nell'implementazione del gateway. I costi nel modello di elaborazione centralizzato sono spesso inferiori a quelli del modello distribuito.
Bridge di messaggistica Fornisce un intermediario per abilitare la comunicazione tra i sistemi di messaggistica che altrimenti non sono compatibili a causa del protocollo o del formato. Questo intermediario può aumentare la longevità del sistema esistente, consentendo comunque l'interoperabilità con sistemi che usano una tecnologia di messaggistica o eventi diversa.
Autore/Sottoscrittore Disaccoppiare i componenti di un'architettura sostituendo la comunicazione diretta da client a servizio o client-to-services tramite un broker di messaggi intermedi o un bus di eventi. Questa progettazione può abilitare un approccio basato su eventi nell'architettura, che associa bene alla fatturazione basata sul consumo per evitare il overprovisioning.
Livellamento del carico basato sulle code Controlla il livello di richieste o attività in ingresso eseguendo il buffer in una coda e consentendo al processore di coda di gestirli a un ritmo controllato. Poiché l'elaborazione del carico è disaccoppiata dall'assunzione di richieste o attività, è possibile usare questo approccio per ridurre la necessità di sovraprovisionare le risorse per gestire il carico di picco.
Partizionamento orizzontale Indirizza il carico a una destinazione logica specifica per gestire la richiesta specifica, abilitando la colocation per l'ottimizzazione. Un sistema che implementa spesso le partizioni può trarre vantaggio dall'uso di più istanze di risorse di calcolo o di archiviazione meno costose anziché da una singola risorsa più costosa. In molti casi, questa configurazione può risparmiare denaro.
Hosting di contenuto statico Ottimizza la distribuzione di contenuto statico ai client del carico di lavoro usando una piattaforma di hosting progettata per tale scopo. Gli host di applicazioni dinamici sono in genere più costosi degli host statici perché gli host dinamici possono eseguire la logica di business codificata. L'uso di una piattaforma applicazione per offrire contenuto statico non è conveniente.
Strangler Fig Fornisce un approccio per sostituire sistematicamente i componenti di un sistema in esecuzione con nuovi componenti, spesso durante una migrazione o una modernizzazione del sistema. L'obiettivo di questo approccio consiste nell'ottimizzare l'uso degli investimenti esistenti nel sistema attualmente in esecuzione e modernizzare in modo incrementale. Consente di eseguire sostituzioni high-ROI prima delle sostituzioni a basso ROI.
Limitazione Impone limiti alla velocità effettiva o alla velocità effettiva delle richieste in ingresso a una risorsa o a un componente. I limiti possono informare la modellazione dei costi e possono anche essere direttamente collegati al modello di business dell'applicazione. Vengono inoltre inseriti limiti superiori chiari sull'utilizzo, che possono essere inseriti in fattori di ridimensionamento delle risorse.
Passepartout Concede l'accesso limitato alla sicurezza a una risorsa senza usare una risorsa intermediaria per delegare l'accesso. Questa progettazione scarica l'elaborazione come relazione esclusiva tra il client e la risorsa senza aggiungere un componente per gestire direttamente tutte le richieste client. Il vantaggio è più drammatico quando le richieste client sono frequenti o abbastanza grandi per richiedere risorse proxy significative.

Passaggi successivi

Esaminare i modelli di progettazione cloud che supportano gli altri pilastri di Azure Well-Architected Framework: