Utiliser des instances et des conteneurs Graviton - AWS Conseils prescriptifs

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utiliser des instances et des conteneurs Graviton

Présentation

AWS Les instances Graviton sont alimentées par des ARM processeurs conçus AWS pour offrir le meilleur rapport prix/performances pour vos charges de travail dans le cloud exécutées sur Amazon Elastic Compute Cloud EC2 (Amazon), y compris les conteneurs qui s'exécutent sur Amazon. AWS Trois générations de Graviton sont actuellement disponibles sur AmazonEC2. Ce guide se concentre sur l'utilisation de Graviton 2 et 3 avec. NETapplications car l'utilisation des dernières versions de Graviton permet de réaliser d'importantes économies. N'oubliez pas que les instances Graviton n'exécutent que le système d'exploitation Linux. Par conséquent, les instances Graviton constituent une offre intéressante pour. NETs'exécutent sous Linux, mais ne sont pas une option pour le système d'exploitation Windows ou l'ancien système d'exploitation. NETApplications cadres.

Graviton 3 est 60 % plus efficace que les EC2 instances comparables, avec des performances jusqu'à 40 % supérieures. Ce guide met l'accent sur les avantages financiers liés à l'utilisation de Graviton, mais il est important de noter que le graviton offre des avantages supplémentaires en termes d'amélioration des performances et de durabilité environnementale.

Impact sur les coûts

Vous pouvez réaliser jusqu'à 45 % d'économies en optant pour Graviton. Après avoir refactorisé tout héritage. NETConcevez les applications d'un environnement moderne. NETversion, vous débloquez la possibilité d'utiliser des instances Graviton. Le passage à Graviton est une technique efficace d'optimisation des coûts pour. NETdéveloppeurs.

L'exemple du tableau suivant montre le potentiel d'amélioration des performances que vous pouvez obtenir en migrant vers des instances Graviton.

Graphique des performances du graviton

Pour une analyse complète et une explication de l'approche d'analyse comparative utilisée pour créer les résultats dans le schéma précédent, voir Powering. NET5 avec AWS Graviton2 : Benchmarks in the AWS Compute Blog.

L'une des raisons de l'amélioration de l'efficacité est la différence de signification de v CPU entre x86 et Graviton. Dans l'architecture x86, un v CPU est un cœur logique obtenu par hyperthreading. Dans Graviton, v CPU correspond à un noyau physique qui permet au v CPU de s'engager pleinement dans la charge de travail.

Le résultat avec Graviton2 est un rapport prix/performances 40 % supérieur à celui des instances x86/x64 comparables. Graviton3 offre les avantages suivants par rapport à Graviton2 :

  • Un profil de performance amélioré avec des performances jusqu'à 25 % supérieures

  • Performances en virgule flottante jusqu'à deux fois supérieures

  • Performances de charge de travail cryptographique jusqu'à deux fois plus rapides

  • Performances d'apprentissage automatique jusqu'à trois fois supérieures

De plus, Graviton3 est la première instance du cloud à intégrer de la mémoire. DDR5

Les tableaux suivants montrent la différence en termes d'économies de coûts entre les instances basées sur Graviton et les instances x86 équivalentes.

Ce tableau montre les économies de 19,20 % réalisées par Graviton.

Type d’instance Architecture v CPU Mémoire (Go) Coût horaire (sur demande)
t4g.xlarge ARM 4 16 0,1344$
t3.xlarge x86 4 16 0,1664$

Ce tableau montre les économies de 14,99 % réalisées par Graviton.

Type d’instance Architecture v CPU Mémoire (Go) Coût horaire (sur demande)
c7g.4xlarge ARM 16 32 0,5781$
c6i.4xlarge x86 16 32 0,6800$

Il est important de tester le profil de performance de votre application lorsque vous envisagez Graviton. Le graviton ne remplace pas de solides pratiques de développement logiciel. Vous pouvez utiliser les tests pour vérifier si vous tirez le meilleur parti de vos ressources informatiques sous-jacentes.

Recommandations d'optimisation des coûts

Il existe plusieurs manières de tirer parti des processeurs/instances Graviton. Cette section décrit les modifications nécessaires pour passer d'une machine à architecture x86 à des instances Graviton (). ARM

Modifier le paramètre d'exécution dans Lambda

Nous vous recommandons d'activer les paramètres d'exécution AWS Lambda. Pour plus d'informations, consultez la section Modification de l'environnement d'exécution dans la documentation Lambda. Depuis. NETest un langage compilé, vous devez suivre un processus de compilation pour que cela fonctionne. Pour un exemple de la procédure à suivre, voir. NETsur Graviton in. GitHub

Conteneurs

Pour une charge de travail conteneurisée, créez une image de conteneur multi-architecture. Vous pouvez le faire en spécifiant plusieurs architectures dans la commande Docker build. Par exemple :

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

Vous pouvez également utiliser un outil tel que AWS Cloud Development Kit (AWS CDK) pour aider à orchestrer le build. Pour des exemples tirés de Docker, consultez la section Création d'images multi-arches pour Arm et x86 avec Docker Desktops dans la documentation Docker.

Amazon EC2

Pour migrer ARM vers x86/x64, ciblez l'ARMarchitecture lors de l'étape de compilation. Dans Visual Studio, vous pouvez créer un ARM64CPU. Pour obtenir des instructions, consultez la section Pour configurer un projet pour cibler Arm64 et d'autres plateformes dans la documentation Microsoft.

Si vous utilisez le. NETCLI, puis l'exécution de la version sur une ARM machine produit une version compatible avec Graviton. Pour voir une démonstration, regardez Accelerate. NET6 performances avec Arm64 sur AWS Graviton2 activé. YouTube Les problèmes de dépendance entraîneront des erreurs de compilation qui pourront ensuite être traitées individuellement. Tant qu'il existe des ARM bibliothèques pour chaque dépendance, la transition devrait être relativement simple.

Ressources supplémentaires