

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Uso de instancias y contenedores Graviton
<a name="net-graviton"></a>

## Descripción general de
<a name="net-graviton-overview"></a>

AWS Las instancias Graviton funcionan con procesadores ARM diseñados para ofrecer la mejor AWS relación precio-rendimiento para las cargas de trabajo en la nube que se ejecutan en Amazon Elastic Compute Cloud (Amazon EC2), incluidos los contenedores que se ejecutan en ellas. AWS Actualmente hay tres generaciones de Graviton disponibles para su uso en Amazon EC2. Esta guía se centra en el uso de Graviton 2 y 3 con aplicaciones .NET, ya que supone un importante ahorro de costos si usa las versiones más recientes de Graviton. Tenga en cuenta que las instancias Graviton solo funcionan en el sistema operativo Linux. Como resultado, las instancias Graviton son una buena opción para .NET en Linux, pero no son una opción para el sistema operativo Windows ni para las aplicaciones heredadas de .NET Framework.

Graviton 3 es un 60 % más eficiente que las instancias de EC2 comparables, con un rendimiento hasta un 40 % mejor. Esta guía se centra en los beneficios económicos del uso de Graviton, pero es importante tener en cuenta que Graviton ofrece otras dos ventajas: la mejora del rendimiento y una mayor sostenibilidad ambiental.

## Impacto del costo
<a name="net-graviton-cost"></a>

Puede ahorrar hasta un 45 % si empieza a usar Graviton. Tras refactorizar cualquier aplicación heredada de .NET Framework para convertirla a una versión moderna de .NET, podrá utilizar instancias Graviton. La migración a Graviton es una técnica eficaz de optimización de costos para los desarrolladores de .NET.

El ejemplo de la siguiente tabla muestra las posibles mejoras de rendimiento que se pueden lograr al migrar a las instancias Graviton.



![\[Gráfico de rendimiento de Graviton\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/optimize-costs-microsoft-workloads/images/graph_graviton_performance.png)


Para obtener un desglose completo y una explicación del enfoque de evaluación comparativa utilizado para crear los resultados del diagrama anterior, consulte [Potenciar .NET 5 con AWS Graviton2](https://aws.amazon.com/blogs/compute/powering-net-5-with-aws-graviton2-benchmark-results/): Benchmarks in the Compute Blog. AWS 

Una de las razones de la mejora en la eficiencia es que el término vCPU tiene significados distintos en x86 y en Graviton. En la arquitectura x86, una vCPU es un núcleo lógico que se logra mediante hipersubprocesamiento. En Graviton, una vCPU equivale a un núcleo físico que permite que la vCPU se comprometa plenamente con la carga de trabajo.

El resultado con Graviton2 es una relación precio-rendimiento un 40 % superior a la de las instancias x86 o x64 comparables. Graviton3 ofrece lo siguiente en comparación con Graviton2:
+ Un perfil de rendimiento mejorado con un rendimiento hasta un 25 % mejor.
+ Hasta el doble de rendimiento en operaciones de coma flotante.
+ Un rendimiento el doble de rápido en cargas de trabajo criptográficas.
+ Un rendimiento tres veces mejor en tareas de machine learning.

Además, Graviton3 es la primera instancia en la nube que incluye memoria. DDR5

En las tablas siguientes se muestra una comparación del ahorro de costos logrado al usar instancias basadas en Graviton y al usar instancias equivalentes basadas en x86.

En esta tabla se muestra que el uso de Graviton supone un 19,20 % de ahorro.


****  

| Tipo de instancia | Arquitectura | vCPU | Memoria (GB) | Costo por hora (bajo demanda) | 
| --- | --- | --- | --- | --- | 
| t4g.xlarge | ARM | 4 | 16 | 0,1344\$1 | 
| t3.xlarge | x86 | 4 | 16 | 0,1664\$1 | 

En esta tabla se muestra que el uso de Graviton supone un 14,99 % de ahorro.


****  

| Tipo de instancia | Arquitectura | vCPU | Memoria (GB) | Costo por hora (bajo demanda) | 
| --- | --- | --- | --- | --- | 
| c7g.4xlarge | ARM | 16 | 32 | 0,5781\$1 | 
| c6i.4xlarge | x86 | 16 | 32 | 0,6800\$1 | 

Es importante probar el perfil de rendimiento de la aplicación si planea usar Graviton. Graviton no reemplaza la necesidad de aplicar buenas prácticas de desarrollo de software. Puede utilizar las pruebas para comprobar si está aprovechando al máximo sus recursos de computación subyacentes.

## Recomendaciones de optimización de costos
<a name="net-graviton-rec"></a>

Hay varias formas de aprovechar los procesadores o instancias Graviton. En esta sección, se explican los cambios necesarios para pasar de utilizar una máquina con arquitectura x86 a instancias Graviton (ARM).

### Cambio de la configuración del tiempo de ejecución en Lambda
<a name="net-graviton-rec-runtime-lambda"></a>

Le recomendamos que modifique la configuración del tiempo de ejecución. AWS Lambda Para obtener más información, consulte [Modificación del entorno de tiempo de ejecución](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-modify.html) en la documentación de Lambda. Dado que .NET es un lenguaje compilado, debe seguir un proceso de compilación para que funcione. Para ver un ejemplo de cómo hacerlo, consulte. [NET en Graviton](https://github.com/aws/aws-graviton-getting-started/blob/main/dotnet.md) in GitHub.

### Contenedores
<a name="net-graviton-rec-containers"></a>

En el caso de una carga de trabajo almacenada en un contenedor, cree una imagen de contenedor multiarquitectura. Para ello, especifique varias arquitecturas en el comando de compilación de Docker. Por ejemplo:

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

También puedes usar una herramienta como la que te ayude AWS Cloud Development Kit (AWS CDK) a [organizar la construcción.](https://aws.amazon.com/blogs/devops/build-and-deploy-net-web-applications-to-arm-powered-aws-graviton-2-amazon-ecs-clusters-using-aws-cdk/) Para ver ejemplos de Docker, consulte [Building Multi-Arch Images for Arm and x86 with Docker Desktops](https://www.docker.com/blog/multi-arch-images/) en la documentación de Docker.

### Amazon EC2
<a name="net-graviton-rec-ec2"></a>

Para migrar a ARM desde x86 o x64, debe centrarse en la arquitectura ARM en el paso de compilación. En Visual Studio, puede crear una ARM64 CPU. Para obtener instrucciones, consulte [To configure a project to target Arm64 and other platforms](https://learn.microsoft.com/en-us/visualstudio/ide/how-to-configure-projects-to-target-platforms?view=vs-2022) en la documentación de Microsoft.

Si utiliza la CLI de .NET, obtendrá una compilación válida para Graviton al poner en marcha la compilación en una máquina ARM. Para ver una demostración, vea [Acelerar el rendimiento de .NET 6 con Arm64 en AWS Graviton2](https://www.youtube.com/watch?v=iMlyZI9NhFw) o más. YouTube Los problemas de dependencia provocarán errores en el tiempo de compilación que luego se podrán solucionar de forma individual. Mientras haya bibliotecas ARM para cualquier dependencia, la transición debería ser relativamente sencilla.

## Recursos adicionales
<a name="net-graviton-resources"></a>
+ [Cómo crear sus contenedores para ARM y ahorrar con las instancias Graviton y Spot en Amazon ECS](https://aws.amazon.com/blogs/containers/how-to-build-your-containers-for-arm-and-save-with-graviton-and-spot-instances-on-amazon-ecs/) (AWS blog)
+ [AWS Lambda Funciones impulsadas por el procesador AWS Graviton2: ejecute sus funciones en Arm y obtenga una relación precio-rendimiento hasta un 34% superior (blog](https://aws.amazon.com/blogs/aws/aws-lambda-functions-powered-by-aws-graviton2-processor-run-your-functions-on-arm-and-get-up-to-34-better-price-performance/))AWS 
+ [Migración de AWS Lambda funciones a procesadores AWS Graviton2 basados en ARM](https://aws.amazon.com/blogs/compute/migrating-aws-lambda-functions-to-arm-based-aws-graviton2-processors/) (blog)AWS 
+ [Cree e implemente aplicaciones web.NET en clústeres Amazon ECS de AWS Graviton 2 con tecnología ARM mediante AWS CDK](https://aws.amazon.com/blogs/devops/build-and-deploy-net-web-applications-to-arm-powered-aws-graviton-2-amazon-ecs-clusters-using-aws-cdk/) (blog)AWS 
+ [Graviton Fast Start: un nuevo programa que le ayudará a trasladar sus cargas de trabajo](https://aws.amazon.com/blogs/aws/graviton-fast-start-a-new-program-to-help-move-your-workloads-to-aws-graviton/) a Graviton (blog) AWS AWS 
+ [Cómo potenciar .NET 5 con AWS Graviton2](https://aws.amazon.com/blogs/compute/powering-net-5-with-aws-graviton2-benchmark-results/): puntos de referencia (blog)AWS 