

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Usar instâncias e contêineres do Graviton
<a name="net-graviton"></a>

## Visão geral do
<a name="net-graviton-overview"></a>

AWS As instâncias Graviton são alimentadas por processadores ARM projetados AWS para oferecer a melhor relação preço/desempenho para suas cargas de trabalho em nuvem executadas no Amazon Elastic Compute Cloud (Amazon EC2), incluindo contêineres em execução. AWS Atualmente, há três gerações do Graviton disponíveis para uso no Amazon EC2. Este guia se concentra no uso do Graviton 2 e 3 com aplicações .NET porque há uma economia significativa quando você usa as versões mais recentes do Graviton. Lembre-se de que instâncias do Graviton só executam o sistema operacional Linux. Como resultado, as instâncias do Graviton são uma boa oferta para o .NET em execução no Linux, mas não são uma opção para o sistema operacional Windows ou aplicações NET Framework legadas.

O Graviton 3 é 60% mais eficiente do que as instâncias comparáveis do EC2, com performance até 40% melhor. Este guia se concentra nos benefícios de custo do uso do Graviton, mas é importante observar que o Graviton oferece os benefícios adicionais de melhorias de performance e maior sustentabilidade ambiental.

## Impacto do custo
<a name="net-graviton-cost"></a>

Você pode obter até 45% de economia ao mudar para o Graviton. Depois de refatorar qualquer aplicação .NET Framework legada para uma versão do .NET Modern, você habilita a capacidade de usar instâncias do Graviton. Mudar para o Graviton é uma técnica eficaz de otimização de custos para desenvolvedores .NET.

O exemplo na tabela a seguir mostra o potencial de melhorias de performance que você pode obter ao migrar para instâncias do Graviton.



![\[Grafo de performance do Graviton\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/optimize-costs-microsoft-workloads/images/graph_graviton_performance.png)


Para obter uma análise e uma explicação completas da abordagem de benchmarking usada para criar os resultados no diagrama anterior, consulte [Powering .NET 5 with AWS Graviton2: Benchmarks](https://aws.amazon.com/blogs/compute/powering-net-5-with-aws-graviton2-benchmark-results/) in the Compute Blog. AWS 

Uma das razões para a eficiência aprimorada é a diferença no significado de vCPU entre a x86 e o Graviton. Na arquitetura x86, uma vCPU é um núcleo lógico obtido pelo hyperthreading. No Graviton, vCPU equivale a um núcleo físico que permite que a vCPU esteja totalmente comprometida com a workload.

O resultado com o Graviton2 é uma relação preço/performance 40% melhor do que instâncias x86/x64 comparáveis. O Graviton3 oferece as seguintes vantagens em relação ao Graviton2:
+ Um perfil de performance aprimorado com performance até 25% melhor
+ Performance de ponto flutuante até duas vezes maior
+ Performance da workload criptográfica até duas vezes mais rápida
+ Performance de machine learning até três vezes melhor

Além disso, o Graviton3 é a primeira instância na nuvem a apresentar DDR5 memória.

As tabelas a seguir mostram a diferença na redução de custos entre instâncias baseadas em Graviton e instâncias equivalentes baseadas em x86.

Esta tabela mostra uma economia do Graviton de 19,20%.


****  

| Tipo de instância | Arquitetura | vCPU | Memória (GB) | Custo por hora (sob demanda) | 
| --- | --- | --- | --- | --- | 
| t4g.xlarge | Arm | 4 | 16 | \$10,134 | 
| t3.xlarge | x86 | 4 | 16 | 0,164 US\$1 | 

Esta tabela mostra uma economia do Graviton de 14,99%.


****  

| Tipo de instância | Arquitetura | vCPU | Memória (GB) | Custo por hora (sob demanda) | 
| --- | --- | --- | --- | --- | 
| c7g.4xlarge | Arm | 16 | 32 | \$10,5781 | 
| c6i.4xlarge | x86 | 16 | 32 | \$10.6800 | 

É importante testar o perfil de performance da sua aplicação ao considerar o Graviton. O Graviton não substitui práticas sólidas de desenvolvimento de software. Você pode usar os testes para verificar se está aproveitando ao máximo seus recursos computacionais subjacentes.

## Recomendações de otimização de custos
<a name="net-graviton-rec"></a>

Há várias maneiras de aproveitar as instâncias/processadores Graviton. Esta seção apresenta as mudanças necessárias para passar do uso de uma máquina com arquitetura x86 para instâncias do Graviton (ARM).

### Alterar a configuração de runtime no Lambda
<a name="net-graviton-rec-runtime-lambda"></a>

Recomendamos que você ative as configurações de tempo de execução AWS Lambda. Para obter mais informações, consulte [Modificar ambiente de runtime](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-modify.html) na documentação do Lambda. Como o .NET é uma linguagem compilada, você deve seguir um processo de criação para que isso funcione. Para obter um exemplo de como fazer isso, consulte. [NET em Graviton](https://github.com/aws/aws-graviton-getting-started/blob/main/dotnet.md) em GitHub.

### Contêineres
<a name="net-graviton-rec-containers"></a>

Para uma workload conteinerizada, crie uma imagem de contêiner com várias arquiteturas. Você pode fazer isso especificando várias arquiteturas no comando de criação do Docker. Por exemplo:

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

Você também pode usar uma ferramenta AWS Cloud Development Kit (AWS CDK) para ajudar a [orquestrar a construção](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 obter exemplos do Docker, consulte [Building Multi-Arch Images for Arm and x86 with Docker Desktops](https://www.docker.com/blog/multi-arch-images/) na documentação do Docker.

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

Para migrar de x86/x64 para o ARM, direcione a arquitetura ARM na etapa de compilação. No Visual Studio, você pode criar uma ARM64 CPU. Para obter instruções, 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) na documentação da Microsoft.

Se você estiver usando a CLI do .NET, a execução da criação em uma máquina ARM produz uma criação compatível com o Graviton. Para ver uma demonstração, assista ao [desempenho do Accelerate .NET 6 com o Arm64 no AWS Graviton2 ligado](https://www.youtube.com/watch?v=iMlyZI9NhFw). YouTube Problemas de dependência resultarão em erros de tempo de compilação que podem ser resolvidos individualmente. Desde que existam bibliotecas ARM para qualquer dependência, a transição deve ser relativamente simples.

## Recursos adicionais do
<a name="net-graviton-resources"></a>
+ [Como criar seus contêineres para ARM e economizar com instâncias Graviton e Spot no Amazon ECS (blog](https://aws.amazon.com/blogs/containers/how-to-build-your-containers-for-arm-and-save-with-graviton-and-spot-instances-on-amazon-ecs/))AWS 
+ [AWS Lambda Funções alimentadas pelo processador AWS Graviton2 — Execute suas funções no Arm e obtenha um preço/desempenho até 34% melhor (](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/)blog)AWS 
+ [Migrando AWS Lambda funções para processadores AWS Graviton2 baseados em ARM](https://aws.amazon.com/blogs/compute/migrating-aws-lambda-functions-to-arm-based-aws-graviton2-processors/) (blog)AWS 
+ [Crie e implante aplicativos web.NET em clusters Amazon ECS AWS Graviton 2 baseados em ARM](https://aws.amazon.com/blogs/devops/build-and-deploy-net-web-applications-to-arm-powered-aws-graviton-2-amazon-ecs-clusters-using-aws-cdk/) usando (blog) AWS CDKAWS 
+ [Graviton Fast Start — Um novo programa para ajudar a transferir suas cargas de trabalho para o AWS Graviton](https://aws.amazon.com/blogs/aws/graviton-fast-start-a-new-program-to-help-move-your-workloads-to-aws-graviton/) (blog)AWS 
+ [Alimentando o.NET 5 com AWS Graviton2: Benchmarks](https://aws.amazon.com/blogs/compute/powering-net-5-with-aws-graviton2-benchmark-results/) (blog)AWS 