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:

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.