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á.
Contentorizar. NETaplicativos
Visão geral
Os contêineres são uma forma leve e eficiente de empacotar e implantar aplicativos de maneira consistente e reproduzível. Esta seção explica como você pode usar AWS Fargate um serviço de contêiner sem servidor para reduzir os custos do seu. NETaplicativos e, ao mesmo tempo, fornece infraestrutura escalável e confiável.
Impacto nos custos
Alguns fatores que influenciam a eficácia do uso de contêineres para redução de custos incluem o tamanho e a complexidade do aplicativo, o número de aplicativos que precisam ser implantados e o nível de tráfego e demanda dos aplicativos. Para aplicativos pequenos ou simples, os contêineres podem não oferecer economias de custo significativas em comparação com as abordagens tradicionais de infraestrutura, pois a sobrecarga do gerenciamento dos contêineres e dos serviços associados pode, na verdade, aumentar os custos. No entanto, para aplicativos maiores ou mais complexos, o uso de contêineres pode proporcionar economia de custos, melhorando a utilização de recursos e reduzindo o número de instâncias necessárias.
Recomendamos que você tenha em mente o seguinte ao usar contêineres para reduzir custos:
-
Tamanho e complexidade do aplicativo — Aplicativos maiores e mais complexos são mais adequados para a conteinerização porque tendem a exigir mais recursos e podem se beneficiar mais com a melhor utilização dos recursos.
-
Número de aplicativos — Quanto mais aplicativos sua organização precisar implantar, maior será a economia de custos por meio da conteinerização.
-
Tráfego e demanda — Os aplicativos que experimentam alto tráfego e demanda podem se beneficiar da escalabilidade e elasticidade que os contêineres oferecem. Isso pode levar à economia de custos.
Arquiteturas e sistemas operacionais diferentes afetam os custos dos contêineres. Se você estiver usando contêineres do Windows, os custos podem não diminuir devido a considerações de licenciamento. Os custos de licenciamento são menores ou ausentes com os contêineres Linux. O gráfico a seguir usa uma configuração básica AWS Fargate na região Leste dos EUA (Ohio) com as seguintes configurações: 30 tarefas por mês, cada uma sendo executada por 12 horas com 4 vCPUs e 8 GB de memória alocada.
Você pode escolher entre duas plataformas de computação principais para executar seus contêineres AWS: hosts de contêineres EC2 baseados e sem servidor
O gráfico a seguir mostra a diferença entre contêineres equivalentes usando o Fargate e o Amazon. EC2 Devido à flexibilidade do Fargate, as tarefas de um aplicativo podem ser executadas 12 horas por dia, sem utilização fora do horário de expediente. No entanto, para a AmazonECS, você deve controlar a capacidade computacional usando um grupo EC2 de instâncias do Auto Scaling. Isso pode fazer com que a capacidade funcione 24 horas por dia, o que pode, em última análise, aumentar os custos.
Recomendações de otimização de custos
Use contêineres Linux em vez de Windows
Você pode obter economias significativas se usar contêineres Linux em vez de contêineres Windows. Por exemplo, você pode obter uma economia de aproximadamente 45% nos custos de computação se executar o. NETCore no EC2 Linux em vez de executar o. NETEstrutura no EC2 Windows. Você pode obter uma economia adicional de 40% se usar a ARM arquitetura (AWS Graviton) em vez da x86.
Se você planeja executar contêineres baseados em Linux para os existentes. NETAplicativos de estrutura, você deve portar esses aplicativos para versões modernas e multiplataforma do. NET(como. NET6.0
Outro benefício de mudar para o moderno. NET(ou seja, longe do. NETEstrutura) é que oportunidades adicionais de modernização se tornem disponíveis. Por exemplo, você pode considerar a rearquitetura de seu aplicativo para uma arquitetura baseada em microsserviços que seja mais escalável, ágil e econômica.
O diagrama a seguir ilustra o processo de tomada de decisão para explorar oportunidades de modernização.
Aproveite as vantagens dos Savings Plans
Os contêineres podem ajudar você a aproveitar os Compute Savings
É importante entender que os Compute Savings Plans são aplicados ao uso que gera a maior economia em primeiro lugar. Por exemplo, se você estiver executando uma instância Linux t3.medium us-east-2
e uma instância t3.medium idêntica do Windows, a instância Linux receberá primeiro o benefício do Savings Plan. Isso ocorre porque a instância Linux tem um potencial de economia de 50%, enquanto a mesma instância do Windows tem um potencial de economia de 35%. Se você tiver outros recursos elegíveis do Savings Plan em execução no seu Conta da AWS, como Amazon EC2 ou Lambda, não é necessário que seu Savings Plan seja aplicado primeiro ao Fargate. Para obter mais informações, consulte Entendendo como os Savings Plans se aplicam ao seu AWS uso na documentação dos Savings Plans e na EC2 seção Otimizar gastos para Windows na Amazon deste guia.
Tarefas do Fargate do tamanho certo
É importante garantir que as tarefas do Fargate sejam dimensionadas corretamente para alcançar o grau máximo de otimização de custos. Freqüentemente, os desenvolvedores não têm todas as informações de uso necessárias ao determinar inicialmente as configurações das tarefas do Fargate usadas em seus aplicativos. Isso pode levar ao provisionamento excessivo de tarefas e, em seguida, resultar em gastos desnecessários. Para evitar isso, recomendamos que você carregue os aplicativos de teste em execução no Fargate para entender o desempenho de uma configuração de tarefa específica em diferentes cenários de uso. Você pode usar os resultados do teste de carga, vCPU, alocação de memória das tarefas e políticas de escalonamento automático para encontrar o equilíbrio certo entre desempenho e custo.
O diagrama a seguir mostra como o Compute Optimizer gera recomendações para o tamanho ideal da tarefa e do contêiner.
Uma abordagem é usar uma ferramenta de teste de carga, como a descrita em Distributed Load Testing on AWS
Recursos adicionais
-
Lista de verificação de otimização de custos para Amazon ECS e AWS Fargate
(postagem no blog de AWS contêineres) -
Otimização teórica de custos por tipo de ECS lançamento da Amazon: Fargate vs EC2
(postagem no blog da AWS Containers) -
Assistente de portabilidade para. NET
(AWS documentação) -
Teste de carga distribuída em AWS
(Biblioteca de AWS soluções) -
AWS Compute Optimizer lança suporte para ECS serviços da Amazon em AWS Fargate
(postagem no blog AWS Cloud Financial Management)