Usa istanze e contenitori Graviton - AWS Guida prescrittiva

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Usa istanze e contenitori Graviton

Panoramica

AWS Le istanze Graviton sono alimentate da ARM processori progettati per AWS offrire il miglior rapporto prezzo/prestazioni per i carichi di lavoro cloud in esecuzione in Amazon Elastic Compute Cloud (AmazonEC2), inclusi i container in esecuzione in. AWS Attualmente sono disponibili tre generazioni di Graviton per l'uso su AmazonEC2. Questa guida si concentra sull'uso di Graviton 2 e 3 con. NETapplicazioni perché si ottiene un notevole risparmio sui costi quando si utilizzano le ultime versioni di Graviton. Tieni presente che le istanze Graviton eseguono solo il sistema operativo Linux. Di conseguenza, le istanze Graviton sono un'ottima offerta per. NETfunzionano su Linux, ma non sono un'opzione per il sistema operativo Windows o per le versioni precedenti. NETApplicazioni framework.

Graviton 3 è più efficiente del 60% rispetto a EC2 istanze comparabili con prestazioni fino al 40% migliori. Questa guida si concentra sui vantaggi in termini di costi dell'utilizzo di Graviton, ma è importante notare che Graviton offre i vantaggi aggiuntivi del miglioramento delle prestazioni e di una maggiore sostenibilità ambientale.

Impatto sui costi

È possibile ottenere risparmi fino al 45 percento quando si passa a Graviton. Dopo aver rifattorizzato qualsiasi eredità. NETApplicazioni framework per una versione moderna. NETversione, sblocchi la possibilità di utilizzare le istanze Graviton. Passare a Graviton è una tecnica efficace di ottimizzazione dei costi per. NETsviluppatori.

L'esempio riportato nella tabella seguente mostra il potenziale di miglioramento delle prestazioni che è possibile ottenere migrando alle istanze Graviton.

Grafico delle prestazioni di Graviton

Per un'analisi completa e una spiegazione dell'approccio di benchmarking utilizzato per creare i risultati nel diagramma precedente, vedere Powering. NET5 con AWS Graviton2: Benchmarks nel Compute Blog. AWS

Uno dei motivi della maggiore efficienza è la differenza nel significato di v CPU tra x86 e Graviton. Nell'architettura x86, una v CPU è un nucleo logico ottenuto mediante hyperthreading. In Graviton, v CPU equivale a un core fisico che consente a v di essere completamente impegnato nel CPU carico di lavoro.

Il risultato con Graviton2 è un rapporto prezzo/prestazioni migliore del 40% rispetto alle istanze x86/x64 comparabili. Graviton3 offre quanto segue rispetto a Graviton2:

  • Un profilo prestazionale migliorato con prestazioni fino al 25 percento migliori

  • Prestazioni in virgola mobile fino a due volte superiori

  • Prestazioni del carico di lavoro crittografico fino a due volte più veloci

  • Prestazioni di machine learning fino a tre volte migliori

Inoltre, Graviton3 è la prima istanza nel cloud dotata di memoria. DDR5

Le tabelle seguenti mostrano la differenza in termini di risparmio sui costi tra le istanze basate su Graviton e le istanze equivalenti basate su x86.

Questa tabella mostra i risparmi di Graviton del 19,20 percento.

Tipo di istanza Architettura v CPU Memoria (GB) Costo orario (su richiesta)
t4g.xlarge ARM 4 16 0,1344 USD
t3.xlarge x86 4 16 $0,1664

Questa tabella mostra un risparmio di Graviton del 14,99 percento.

Tipo di istanza Architettura v CPU Memoria (GB) Costo orario (su richiesta)
c7g.4xlarge ARM 16 32 $0,5781
c6i.4xlarge x86 16 32 $0,6800

È importante testare il profilo delle prestazioni dell'applicazione quando si considera Graviton. Graviton non sostituisce solide pratiche di sviluppo software. Puoi utilizzare i test per verificare se stai ottenendo il massimo dalle tue risorse di elaborazione sottostanti.

Consigli per l'ottimizzazione dei costi

Esistono diversi modi per sfruttare i processori/istanze Graviton. Questa sezione illustra le modifiche necessarie per passare dall'uso di una macchina con architettura x86 alle istanze Graviton (). ARM

Modificare l'impostazione di runtime in Lambda

Ti consigliamo di attivare le impostazioni di runtime. AWS Lambda Per ulteriori informazioni, consulta Modifica dell'ambiente di runtime nella documentazione di Lambda. Dal. NETè un linguaggio compilato, è necessario seguire un processo di compilazione per farlo funzionare. Per un esempio di come eseguire questa operazione, vedi. NETsu Graviton in GitHub.

Container

Per un carico di lavoro containerizzato, crea un'immagine del contenitore multiarchitettura. Puoi farlo specificando più architetture nel comando Docker build. Per esempio:

docker buildx build -t "myImageName:latest" --platform linux/amd64,linux/arm64 --push .

Puoi anche usare uno strumento come quello di aiutare AWS Cloud Development Kit (AWS CDK) a orchestrare la build. Per esempi tratti da Docker, consulta Creazione di immagini multi-Arch per Arm e x86 con Docker Desktops nella documentazione Docker.

Amazon EC2

Per migrare ARM da x86/x64, scegli come target l'ARMarchitettura nella fase di compilazione. In Visual Studio, puoi creare un file. ARM64 CPU Per istruzioni, consulta Configurare un progetto per Arm64 e altre piattaforme nella documentazione Microsoft.

Se stai usando il. NETCLI, quindi l'esecuzione della build su una ARM macchina produce una build compatibile con Graviton. Per vedere una demo, guarda Accelerate. NET6 prestazioni con Arm64 su AWS Graviton2 on. YouTube I problemi di dipendenza comporteranno errori in fase di compilazione che possono quindi essere risolti individualmente. Finché esistono ARM librerie per qualsiasi dipendenza, la transizione dovrebbe essere relativamente semplice.

Risorse aggiuntive