Questo contenuto è obsoleto. Questa versione di Framework Well-Architected è ora disponibile all'indirizzo: https://docs.aws.amazon.com/it_it/wellarchitected/2022-03-31/framework/performance-efficiency.html
PERF 1: In che modo selezioni l'architettura più performante?
Spesso sono necessari molteplici approcci per ottenere prestazioni ottimali in un
carico di lavoro. I sistemi Well-Architected utilizzano soluzioni multiple e funzionalità
diverse per migliorare le prestazioni.
Risorse
Introducing The Amazon Builders’ Library (DOP328)
Best practice:
-
Identificazione dei servizi e delle risorse disponibili:
Scopri tutte le informazioni sull'ampia gamma di servizi e risorse disponibili nel
cloud. Identifica quali servizi e opzioni di configurazione sono pertinenti per il
tuo carico di lavoro e studia come utilizzarli per raggiungere prestazioni ottimali.
-
Definizione di un processo per le scelte architetturali:
Affidati all'esperienza e alle competenze del cloud o utilizza risorse esterne, come
casi di utilizzo pubblicati, documentazione pertinente o whitepaper, per definire
un processo per scegliere risorse e servizi. È necessario definire un processo che
incoraggi la sperimentazione e il benchmarking con i servizi che potrebbero essere
utilizzati nel tuo carico di lavoro.
-
Requisiti di costo dei fattori nelle decisioni :
I carichi di lavoro spesso hanno requisiti di costo per il funzionamento. Utilizza
i controlli dei costi interni per selezionare le dimensioni e i tipi di risorse in
base alle necessità previste in termini di risorse.
-
Uso di policy o architetture di riferimento:
Massimizza le prestazioni e l'efficienza valutando le policy interne e le architetture
di riferimento esistenti e sfrutta la tua analisi per selezionare servizi e configurazioni
per il carico di lavoro.
-
Utilizzo delle linee guida del fornitore di servizi cloud o di un partner appropriato:
Utilizza le risorse del fornitore di servizi cloud, come solutions architect, servizi
professionali o un partner appropriato per orientare le tue decisioni. Queste risorse
possono aiutarti a rivedere e migliorare l'architettura per ottenere prestazioni ottimali.
-
Benchmarking dei carichi di lavoro esistenti:
Esegui il benchmarking delle prestazioni di un carico di lavoro esistente per comprendere
le sue prestazioni sul cloud. Utilizza i dati raccolti da questi benchmark per orientare
le decisioni architetturali.
-
Esecuzione di un test di carico sul carico di lavoro:
Distribuisci l'architettura del carico di lavoro più recente nel cloud utilizzando
tipologie e dimensioni di risorse diverse. Monitora la distribuzione per acquisire
parametri delle prestazioni che identificano colli di bottiglia o capacità in eccesso.
Utilizza queste informazioni sulle prestazioni per progettare o migliorare la tua
architettura e la selezione delle risorse.
Piano di miglioramento
Identificazione dei servizi e delle risorse disponibili
Inventario del software e dell'architettura del carico di lavoro per i servizi correlati: Raccogli un inventario del carico di lavoro e scegli la categoria di prodotti su cui
ottenere ulteriori informazioni.Raccogli e identifica componenti del carico di lavoro che possano essere sostituiti
con servizi gestiti per aumentare le prestazioni e ridurre la complessità operativa.
Definizione di un processo per le scelte architetturali
Scelta di un approccio architetturale: Identifica il tipo di architettura che soddisfa i tuoi requisiti prestazionali.Identifica i vincoli, come il mezzo per la distribuzione (desktop, Web, dispositivo
mobile, IoT), i requisiti legacy e le integrazioni.
Identifica le opportunità di riutilizzo, incluso il refactoring. Consulta altri team,
diagrammi architetturali e risorse come AWS Solutions Architect, architetture di riferimento
AWS e Partner APN per scegliere un'architettura.
Definizione dei requisiti di prestazioni: Utilizza l'esperienza del cliente per identificare i parametri più importanti. Per
ciascuno di essi, identifica l'obiettivo, l'approccio per la misurazione e la priorità.Definisci l'esperienza cliente. Documenta l'esperienza prestazionale richiesta dai
clienti, incluso come i clienti giudicano le performance del carico di lavoro.Assegna le priorità a problemi riguardanti l'esperienza per i casi utente critici.
Includi requisiti prestazionali e implementa percorsi utente con script per chiarire
esattamente quali sono le loro prestazioni rispetto ai requisiti.
Requisiti di costo dei fattori nelle decisioni
Ottimizzazione dei componenti del carico di lavoro per ridurre i costi: Dimensiona i componenti del carico di lavoro e consenti elasticità per ridurre i costi
e massimizzare l'efficienza dei componenti.Determina quali componenti del carico di lavoro possono essere sostituiti con servizi
completamente gestiti, laddove appropriato, ad esempio database gestiti, cache in
memoria e proxy inversi.
Uso di policy o architetture di riferimento
Distribuzione del carico di lavoro utilizzando policy esistenti o architetture di
riferimento: Integra i servizi nella distribuzione cloud, quindi utilizza i test delle prestazioni
per assicurarti di continuare a soddisfare i requisiti prestazionali.
Utilizzo delle linee guida del fornitore di servizi cloud o di un partner appropriato
Risorse AWS per ricevere assistenza: I solutions architect e i Servizi professionali di AWS forniscono indicazioni per
l'implementazione delle soluzioni.I partner APN mettono a disposizione la propria conoscenza di AWS per aiutarti ad
assicurare alla tua azienda agilità e innovazione.
Benchmarking dei carichi di lavoro esistenti
Monitoraggio delle prestazioni durante lo sviluppo: Implementa processi che forniscono visibilità sulle prestazioni man mano che il tuo
carico di lavoro evolve.
Integrazione nella pipeline di distribuzione: Esegui automaticamente test di carico nella pipeline di distribuzione. Confronta i
risultati dei test con soglie e KPI predefiniti per assicurarti di poter continuare
a soddisfare i requisiti delle prestazioni.
Test dei percorsi utente: Utilizza versioni sintetiche o purificate dei dati di produzione, rimuovendo le informazioni
sensibili o che permettono l'identificazione degli utenti, per eseguire i test di
carico. Verifica l'intera architettura utilizzando percorsi utente riprodotti o già
programmati su tutta l'applicazione in larga scala.
Esecuzione di un test di carico sul carico di lavoro
Convalida dell'approccio con test di carico: Esegui test di carico di un proof of concept per scoprire se l'approccio soddisfa
i tuoi requisiti prestazionali. Puoi utilizzare i servizi AWS per eseguire ambienti
in ambito di produzione per sottoporre l'architettura a test. Dal momento che paghi
l'ambiente di test solo quando ti serve, puoi effettuare test su scala completa a
un costo estremamente ridotto rispetto all'uso di un ambiente in locale. Policy di
test di Amazon EC2
Monitoraggio dei parametri: Amazon CloudWatch può raccogliere i parametri per tutte le risorse dell'architettura.
Puoi anche raccogliere e pubblicare parametri personalizzati per ottenere parametri
aziendali o derivati. Utilizza CloudWatch o soluzioni di terze parti per impostare
allarmi che indicano quando le soglie vengono superate.
Test su vasta scala: I test di carico utilizzano il carico di lavoro effettivo: in questo modo puoi osservare
le prestazioni dell'intera soluzione in un ambiente di produzione. Puoi utilizzare
i servizi AWS per eseguire ambienti in ambito di produzione per sottoporre l'architettura
a test. Dal momento che paghi l'ambiente di test solo quando ti serve, puoi effettuare
test su scala completa a un costo inferiore rispetto all'uso di un ambiente in locale.
Sfrutta i vantaggi offerti da AWS Cloud per testare il carico di lavoro e scoprire
dove la scalabilità non è possibile o se non è lineare. Ad esempio, usa le istanze
Spot per generare carichi a costi ridotti e rilevare i colli di bottiglia prima che
si verifichino in produzione.