Diferença de eficiência entre a instância e o contêiner do AWS EC2

1

A Amazon fornece serviços para manter (contêiner, ou seja, docker) serviços de contêiner que funcionam em instâncias do EC2.

Para meu conhecimento em um servidor simples, se você tiver 5 contêineres executando sistemas operacionais idênticos como base, por exemplo, o docker não invade recursos separados para o próprio sistema operacional 5 vezes. Apesar de 5 contêineres separados, os recursos idênticos são mantidos na memória uma vez.

Então, se eu usar o serviço de contêiner do AWS EC2, ainda tenho a mesma vantagem? De certa forma, parece que a infraestrutura da AWS já deve ter sistemas operacionais de base idênticos em alguns outros usuários. De certa forma, eles podem não lhe dar essa vantagem: cada estivador finge que é o único contêiner que está sendo executado em uma máquina separada.

Alguma idéia?

    
por JSBach 23.10.2015 / 14:43

1 resposta

1

Não sei se entendi completamente sua pergunta, mas vou tentar responder a essa pergunta.

O Docker e a maioria das ferramentas de conteinerização contam com alguns recursos no nível do kernel que permitem que os programas isolem seus processos e visão em algo que está sendo executado no sistema. Conceitualmente, você está certo; de dentro de um contêiner docker, não tem idéia da existência de quaisquer outros contêineres.

Agora, responda sua pergunta sobre o compartilhamento de recursos. Na minha experiência pessoal, não vi esse exemplo de compartilhamento de memória sobre o qual você fala. Se você tiver 5 contêineres exatos, cada contêiner terá sua própria memória e essa memória não será reduzida, pois você terá contêineres idênticos. Não é assim que funciona. No entanto, você pode comprometer a memória como muitos produtos de virtualização. Normalmente, seus contêineres usarão apenas a quantidade de memória atualmente alocada e não o valor máximo que o contêiner solicitou no início. Tenho certeza de que há uma opção de configuração para isso.

    
por 24.10.2015 / 09:10