O Fargate é adequado para contêineres independentes com baixa utilização de recursos?

2

Sou novo no docker e no ECS, portanto, talvez não use os termos certos. Por favor, deixe-me saber se preciso esclarecer.

Meu cenário: tenho vários contêineres independentes. Cada contêiner representa um site. Cada contêiner deve ser executado o tempo todo, mas pode exibir longos períodos de inatividade (por exemplo, zero uso da CPU). Por exemplo, vamos supor que eu tenha 10 contêineres e que cada contêiner requeira até 200MB de RAM e até 1vCPU. Vamos supor ainda que eu só precise de um total de 2vCPU para lidar com a carga combinada de todos os 10 contêineres (já que eles não veem carga alta todos ao mesmo tempo).

Opção Fargate 1: Eu crio uma tarefa diferente para cada contêiner: (2GB, 1vCPU) x 10 (2GB é a RAM mínima para 1vCPU).

Fargate Opção 2: Eu crio uma única tarefa com todos os containers: (2GB, 2vCPU).

Opção EC2: eu crio uma tarefa por contêiner, todas mapeadas para uma única instância do EC2.

Se eu entendi corretamente, o Fargate Opção 2 é muito mais barato do que o Fargate Opção 1 porque sei que só preciso de um máximo de 2vCPU. Mas a Opção 2 é muito menos flexível, pois são tarefas que são interrompidas / iniciadas / escaladas e eu quero tratar meus contêineres como independentes uns dos outros (por exemplo, parar / iniciar / dimensionar independentemente).

Além disso, se eu entendi corretamente, a opção EC2 é a única maneira de obter a flexibilidade de ter uma tarefa por contêiner, além de pagar pelos recursos que realmente preciso .

Então: Parece que para contêineres independentes com baixa utilização de recursos, a Fargate não é uma boa opção neste momento.

O meu entendimento está correto?

    
por Felix 08.11.2018 / 03:23

2 respostas

2

Correto, o Fargate é mais caro que o EC2 para a mesma quantidade de vCPU / RAM.

Por exemplo:

  • O menor contêiner Fargate com custos de 0,25 vCPU e 0,5 GB de RAM US $ 0,019 / h, ou seja, US $ 14 / mês por contêiner .

  • Se você precisa de 1 vCPU, a quantidade mínima de RAM é de 2 GB (consulte Configurações suportadas pelo Fargate ) e, de repente, o preço é de US $ 55 por mês por contêiner . No seu caso vezes 10 tarefas torna $ 550 / mês.

  • Por outro lado, se você tiver certeza de que pode espremer tudo isso em um único t3.small (2 vCPU, 2 GB de RAM) custará US $ 0,0208 / hora, o que é US $ 15 / mês . Mesmo que você precise de 2 ou 3 instâncias t3.small para suportar sua carga, ela ainda é muito mais barata do que a Fargate.

  • Se você colocar todos os seus contêineres em uma única tarefa Fargate (conforme sugerido na Opção 2 ), ainda é mais caro do que usar o EC2 ECS, além das complicações de ter vários contêineres independentes em uma tarefa. Não vale a pena.

Então, para finalizar - se você quiser executar seus contêineres 24x7 e eles não forem totalmente utilizados o tempo todo, será muito melhor executá-los em um cluster ECS com EC2.

Com Fargate você paga o prêmio pela flexibilidade.

Se os seus contêineres executarem rapidamente para concluir uma tarefa e, em seguida, saírem ou se aumentarem ou diminuírem a escala com base na demanda, será muito mais fácil executá-los no Fargate - você não precisará aumentar ou diminuir a escala o cluster EC2 subjacente para suportar a carga.

Em muitos casos, funciona melhor usar o Fargate, mesmo que seja mais caro por vCPU / RAM. Giramos lotes de centenas de contêineres de cada vez algumas vezes por dia para algum processamento e cada contêiner é executado por apenas cerca de 10 minutos. Se tivéssemos que escalar o cluster EC2 / ECS antes de cada execução, aguardar a solução, lidar com as falhas, executar o trabalho em lote e reduzir novamente, a sobrecarga seria bastante alta e o processamento em lote levaria muito mais tempo .

Aqui Fargate funciona muito bem para nós. Eu não usaria isso para um serviço sempre ativo.

Espero que ajude:)

    
por 08.11.2018 / 03:57
0

Você também pode usar o EKS (Serviço Elastic Kubernetes) em vez do ECS.

Os Kubernetes dão mais controle sobre os pods, serviços, volumes e outros. No entanto, não tenho certeza se é mais barato que o ECS, talvez não.

    
por 08.11.2018 / 09:41