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.
Conteneuriser. NETapplications
Présentation
Les conteneurs constituent un moyen léger et efficace d'empaqueter et de déployer des applications de manière cohérente et reproductible. Cette section explique comment vous pouvez utiliser AWS Fargate un service de conteneur sans serveur pour réduire les coûts de votre. NETapplications tout en fournissant une infrastructure évolutive et fiable.
Impact sur les coûts
Parmi les facteurs qui influencent l'efficacité de l'utilisation des conteneurs pour réduire les coûts, citons la taille et la complexité de l'application, le nombre d'applications à déployer, ainsi que le niveau de trafic et de demande sur les applications. Pour les applications petites ou simples, les conteneurs peuvent ne pas permettre de réaliser des économies significatives par rapport aux approches d'infrastructure traditionnelles, car les frais généraux liés à la gestion des conteneurs et des services associés peuvent en fait augmenter les coûts. Toutefois, pour les applications plus importantes ou plus complexes, l'utilisation de conteneurs peut permettre de réaliser des économies en améliorant l'utilisation des ressources et en réduisant le nombre d'instances requises.
Nous vous recommandons de garder à l'esprit les points suivants lorsque vous utilisez des conteneurs afin de réaliser des économies :
-
Taille et complexité des applications — Les applications plus volumineuses et plus complexes sont mieux adaptées à la conteneurisation, car elles ont tendance à nécessiter davantage de ressources et peuvent bénéficier davantage d'une meilleure utilisation des ressources.
-
Nombre d'applications : plus votre entreprise doit déployer d'applications, plus la conteneurisation permet de réaliser des économies.
-
Trafic et demande : les applications soumises à un trafic et à une demande élevés peuvent bénéficier de l'évolutivité et de l'élasticité fournies par les conteneurs. Cela peut permettre de réaliser des économies.
Les différentes architectures et systèmes d'exploitation influent sur les coûts des conteneurs. Si vous utilisez des conteneurs Windows, il est possible que les coûts ne diminuent pas pour des raisons de licence. Les coûts de licence sont inférieurs ou absents avec les conteneurs Linux. Le tableau suivant utilise une configuration de base AWS Fargate dans la région USA Est (Ohio) avec les paramètres suivants : 30 tâches par mois exécutées chacune pendant 12 heures avec 4 vCPUs et 8 Go de mémoire allouée.
Vous pouvez choisir entre deux plateformes de calcul principales sur lesquelles exécuter vos conteneurs AWS : les hôtes de conteneurs EC2 basés et les plateformes sans serveur
Le graphique suivant montre la différence entre des conteneurs équivalents utilisant Fargate et Amazon. EC2 Grâce à la flexibilité de Fargate, les tâches d'une application peuvent être exécutées 12 heures par jour, sans aucune utilisation en dehors des heures de bureau. Toutefois, pour AmazonECS, vous devez contrôler la capacité de calcul à l'aide d'un groupe d'EC2instances Auto Scaling. Cela peut conduire à une capacité opérationnelle 24 heures sur 24, ce qui peut en fin de compte augmenter les coûts.
Recommandations d'optimisation des coûts
Utiliser des conteneurs Linux plutôt que Windows
Vous pouvez réaliser des économies importantes si vous utilisez des conteneurs Linux au lieu de conteneurs Windows. Par exemple, vous pouvez réaliser des économies d'environ 45 % sur les coûts de calcul si vous exécutez le. NETCore sous EC2 Linux au lieu d'exécuter le. NETFramework EC2 sous Windows. Vous pouvez réaliser des économies supplémentaires de 40 % si vous utilisez l'ARMarchitecture (AWS Graviton) au lieu de x86.
Si vous envisagez d'exécuter des conteneurs basés sur Linux pour les conteneurs existants. NETApplications Framework, vous devez porter ces applications vers des versions multiplateformes modernes de. NET(comme. NET
Un autre avantage du passage à la modernité. NET(c'est-à-dire loin du. NETFramework) est que de nouvelles opportunités de modernisation deviennent disponibles. Par exemple, vous pouvez envisager de réorganiser l'architecture de votre application vers une architecture basée sur les microservices, plus évolutive, plus agile et plus rentable.
Le schéma suivant illustre le processus de prise de décision pour explorer les opportunités de modernisation.
Profitez des Savings Plans
Les conteneurs peuvent vous aider à tirer parti des Compute Savings Plans
Il est important de comprendre que les Compute Savings Plans s'appliquent d'abord à l'utilisation qui vous permet de réaliser les économies les plus importantes. Par exemple, si vous exécutez une instance Linux t3.medium dans us-east-2
une instance Windows t3.medium identique, l'instance Linux bénéficie en premier de l'avantage Savings Plan. Cela est dû au fait que l'instance Linux a un potentiel d'économie de 50 % alors que la même instance Windows a un potentiel d'économie de 35 %. Si vous disposez d'autres ressources éligibles au Savings Plan Compte AWS, telles qu'Amazon EC2 ou Lambda, il n'est pas nécessaire que votre Savings Plan soit d'abord appliqué à Fargate. Pour plus d'informations, consultez Comprendre comment les Savings Plans s'appliquent à votre AWS utilisation dans la documentation Savings Plans et dans la EC2 section Optimize spending for Windows on Amazon de ce guide.
Tâches Fargate de la bonne taille
Il est important de s'assurer que les tâches Fargate sont correctement dimensionnées afin d'optimiser au maximum les coûts. Souvent, les développeurs ne disposent pas de toutes les informations d'utilisation nécessaires lorsqu'ils déterminent initialement les configurations des tâches Fargate utilisées dans leurs applications. Cela peut entraîner un surprovisionnement des tâches et entraîner des dépenses inutiles. Pour éviter cela, nous vous recommandons de charger des applications de test exécutées sur Fargate afin de comprendre les performances d'une configuration de tâche spécifique dans différents scénarios d'utilisation. Vous pouvez utiliser les résultats des tests de charge, vCPU, l'allocation de mémoire des tâches et les politiques de dimensionnement automatique pour trouver le juste équilibre entre performances et coûts.
Le schéma suivant montre comment Compute Optimizer génère des recommandations pour la taille optimale des tâches et des conteneurs.
L'une des approches consiste à utiliser un outil de test de charge, tel que celui décrit dans Distributed Load Testing on AWS
Ressources supplémentaires
-
Liste de contrôle pour l'optimisation des coûts pour Amazon ECS et AWS Fargate
(article de blog sur AWS les conteneurs) -
Assistant de portage pour. NET
(AWS documentation) -
Test de charge distribué sur AWS
(bibliothèque de AWS solutions) -
AWS Compute Optimizer lance le support pour les ECS services Amazon sur AWS Fargate
(article de blog sur la gestion financière dans le AWS cloud)