O que são containers ?

Conteiners

De uma maneira geral “containers ” é um nível de virtualização que permite executar várias aplicações isoladamente em um host que suporte a tecnologia de contêineres, como o Windows Server 2016 ou algumas distribuições Linux com Kernel igual ou superior a 3.8.
Um contêiner é um software que é executado em um sistema operacional (Windows ou Linux) que aproveita desse sistema os códigos do SO, ferramentas de sistema, bibliotecas e tudo aquilo que você pode instalar em um servidor.
Ao carregar um contêiner temos uma “imagem” do sistema operacional host, cada contêiner tem seus próprios processos, registro, endereço IP. Vale ressaltar como comentado pelo Vinícius Apolinário (http://admderedes.azurewebsites.net/) que entre os conteiners  o isolamento é de User Mode. compartilhando o mesmo Kernel, e como consequência um Container pode afetar o Host. Usando Hyper-V Container o isolamento é no hypervisor (hardware) entre os Containers.
Se eu criar contêiner no Windows só rodo aplicações Windows e assim acontece também com o Linux, afinal o sistema operacional do host compartilha com o contêiner o mesmo kernel.

A diferença entre virtual machines e containers.

Conteiners

 

Como é possível ver na imagem acima a maior e mais clara diferença entre VMs e containers é a não necessidade de ter um sistema operacional virtualizado para suportar as aplicações.

Nas maquinas virtuais a gente deve instalar o Windows ou o Linux, usamos espaço em disco. Depois criamos as aplicações que irão consumir os recursos da maquina virtual, bibliotecas, recursos de hardware virtualizado, sistema de arquivos e por ai vai.

Enquanto que para os containers já não é necessário virtualizar o sistema operacional, pois ele utiliza os recursos dos binários e bibliotecas em modo compartilhado do próprio host, sendo bem mais leve e rápido que uma maquina virtual.

Porém a flexibilidade das maquinas virtuais no que diz respeito a migração (Mover, Copiar entre ambientes e sistemas) não existe da mesma maneira quando estamos usando containers.

Onde eu posso usar containers?

Você pode usar os recursos de containers tanto na nuvem quanto on-premises.
O Microsoft Azure fornece suporte a criação de uma imagem do Windows Server com a role de containers habilitada assim como você pode ter em seu ambiente local o Windows Server 2016 com a role de containers habilitada.

Conclusão

containers possuem vários cenários onde sua empregabilidade traz rapidez, facilidade, simplificação de administração e muito mais. Nos próximos artigos vou apresentar tutoriais de instalação do recursos de containers tanto no Windows como no Linux além de apresentar no próximo artigo o Docker. Não deixe de comentar, tirar dúvidas e enviar sugestões.

Abraço,
Daniel Donda

Fonte de pesquisa:  https://msdn.microsoft.com/virtualization/windowscontainers/containers_welcome e https://www.docker.com/

Sobre Daniel Donda 263 Artigos
Olá, meu nome é Daniel Donda e sou Strategic Systems Consultant para soluções de segurança e compliance. Saiba mais

6 Comentário

          • Só para comentar que apesar de existir esse isolamento com um Container, é um isolamento de User Mode. Todos eles compartilham o mesmo Kernel, e como consequência um Container pode afetar o Host. Agora, se for um Hyper-V Container, há um isolamento de hypervisor (hardware) entre os Containers, com os mesmos benefícios conforme explicado no artigo… 😉

Faça um comentário

Seu e-mail não será divulgado.


*