ContĂȘineres e o Windows Server 2016



Cada vez mais as inovaçÔes tecnolĂłgicas permitem que a TI efetue suas atividades de forma mais competente com menos recursos e de maneira mais segura. Uma destas inovaçÔes tecnolĂłgicas ganhou força em ambientes Microsoft com o Windows Server 2016 e tende a se popularizar cada vez mais. O contĂȘineres sĂŁo velhos conhecidos do universo Open Source e podem proporcionar grande economia com mais segurança aos ambientes tecnolĂłgicos.

Os contĂȘineres sĂŁo na verdade uma maneira nĂŁo exatamente nova, mas bem interessante de encerrar um aplicativo em sua prĂłpria caixa isolada. Para a aplicação em seu contĂȘineres, nĂŁo possui conhecimento de nenhum outro aplicativo ou processo que exista fora de sua caixa. Tudo o que o aplicativo depende para executar com sucesso tambĂ©m vive dentro desse recipiente. Onde quer que a caixa possa se mover, o aplicativo sempre funcionarĂĄ de forma satisfatĂłria pois estĂĄ empacotado com tudo o que precisa para ser executado.

Imagine uma cozinha onde nĂłs embalamos todos os aparelhos e mĂłveis, as panelas e frigideiras, o sabĂŁo e toalhas de mĂŁo. Este Ă© o nosso contĂȘiner. Agora podemos pegar esse contĂȘineres e colocĂĄ-lo em qualquer apartamento que desejamos, e serĂĄ a mesma cozinha. Tudo o que devemos fazer Ă© conectar a eletricidade e a ĂĄgua, e entĂŁo estamos prontos para começar a cozinhar (porque temos todos os aparelhos que precisamos!). Da mesma forma, os contĂȘineres sĂŁo como essa cozinha. Pode haver diferentes tipos de quartos, bem como muitos dos mesmos tipos de quartos, mas o que importa realmente Ă© que os contĂȘineres sejam embalados com tudo o que eles precisam.

Os contĂȘineres sĂŁo um ambiente de tempo de execução isolado, com recursos controlados e de formato portĂĄtil que sĂŁo executado em uma mĂĄquina host ou mĂĄquina virtual. Um aplicativo ou processo que Ă© executado em um contĂȘineres Ă© empacotado com todas as dependĂȘncias e arquivos de configuração necessĂĄrios; DĂĄ a ilusĂŁo de que nĂŁo existem outros processos que se estendam fora de seu contĂȘineres. O hospedeiro do recipiente fornece um conjunto de recursos para o contĂȘineres que farĂĄ uso apenas desses recursos. No que diz respeito ao contĂȘineres, nenhum outro recurso existe fora do que foi dado e, portanto, nĂŁo pode tocar recursos que possam ter sido provisionados para um contĂȘineres vizinho.



Com relação Ă  virtualização, a diferença estĂĄ no fato dos contĂȘineres nĂŁo precisarem de uma camada de sistema operacional para cada. Ao compararmos a tecnologia de contĂȘineres com a virtualização tradicional, fica mais claro que uma aplicação sendo executada em um ambiente isolado demanda muito menos recursos, consumindo menos espaço em disco e com um nĂ­vel de portabilidade difĂ­cil de ser alcançado por outras plataformas. Tais caracterĂ­sticas tornaram os contĂȘiner uma ferramenta poderosa para criação e teste de aplicaçÔes por desenvolvedores, conquistando tambĂ©m os administradores de redes e arquitetos de soluçÔes pela facilidade de implementar as aplicaçÔes “empacotadas” nesse modelo de virtualização.

O conceito que fundamenta toda a tecnologia relacionada a conteinerização Ă© na verdade bem simples e bem antigo. Seu nascimento e evolução Ă© mais notĂłrio em sistemas Unix e Linux. O comando chroot, precursor dos contĂȘineres foi lançado em 1979 pelo Unix V7 com o intuito de segregar acessos de diretĂłrios e evitar que o usuĂĄrio pudesse ter acesso Ă  estrutura raiz (“/” ou root). Esse conceito evoluiu alguns anos mais tarde com o lançamento do comando jail, no sistema operacional FreeBSD 4. 

Os seguintes conceitos-chave serĂŁo Ășteis Ă  medida que vocĂȘ começar a criar e trabalhar com contĂȘineres no Windows.



ContĂȘiner Host: sistema de computador fĂ­sico ou virtual configurado com o recurso de contĂȘineres do Windows. O host do recipiente executarĂĄ um ou mais contĂȘineres do Windows.

Imagem do recipiente: como as modificaçÔes sĂŁo feitas em um sistema de arquivos de contĂȘineres ou em um registro, como na instalação do software, eles sĂŁo capturados em uma caixa de areia. Em muitos casos, vocĂȘ pode querer capturar este estado, de modo que possam ser criados novos contĂȘineres  que herdam essas alteraçÔes. Isso Ă© o que uma imagem Ă© - uma vez que o contĂȘineres  parou, vocĂȘ pode descartar essa sandbox ou pode convertĂȘ-la em uma nova imagem de contĂȘiner. Por exemplo, vamos imaginar que vocĂȘ implantou um contĂȘineres da imagem do Windows Server Core. Em seguida, instale o MySQL neste contĂȘineres. Criar uma nova imagem desse contĂȘiner seria uma versĂŁo implementĂĄvel do contĂȘiner. Esta imagem sĂł conteria as alteraçÔes feitas (MySQL), no entanto, funcionaria como uma camada em cima da Imagem do Sistema de ContĂȘiner.

Sandbox: uma vez que um recipiente foi iniciado, todas as açÔes de gravação, como modificaçÔes no sistema de arquivos, modificaçÔes de registro ou instalaçÔes de software, são capturadas nesta camada 'sandbox'.

Imagem do sistema operacional do contentor: os recipientes sĂŁo implantados a partir de imagens. A imagem do SO do recipiente Ă© a primeira camada em potencialmente muitas camadas de imagem que compĂ”em um recipiente. Esta imagem fornece o ambiente do sistema operacional. Uma imagem do sistema operacional do contĂȘiner Ă© imutĂĄvel. Ou seja, nĂŁo pode ser modificado.

RepositĂłrio de contĂȘiner: cada vez que uma imagem de contĂȘiner Ă© criada, a imagem do contĂȘiner e suas dependĂȘncias sĂŁo armazenadas em um repositĂłrio local. Essas imagens podem ser reutilizadas muitas vezes no host do recipiente. As imagens de contĂȘiner tambĂ©m podem ser armazenadas em um registro pĂșblico ou privado, como o DockerHub para que possam ser usados ​​em vĂĄrios hosts de contĂȘiner diferentes.

O Windows Server Containers - fornecem isolamento de aplicativos atravĂ©s de tecnologia de isolamento de processo e nome. O Windows Server Container compartilha um kernel com o host de contĂȘiner e todos os recipientes que estĂŁo sendo executados no host. Esses recipientes nĂŁo fornecem um limite de segurança hostil e nĂŁo devem ser usados ​​para isolar o cĂłdigo nĂŁo confiĂĄvel. Por causa do espaço compartilhado do kernel, esses recipientes exigem a mesma versĂŁo e configuração do kernel.

Isolamento Hyper-V - expande o isolamento fornecido pelo Windows Server ContĂȘineres executando cada contĂȘiner em uma mĂĄquina virtual altamente otimizada. Nessa configuração, o kernel do host do recipiente nĂŁo Ă© compartilhado com outros recipientes no mesmo host. Esses recipientes sĂŁo projetados para hospedagem multitenante hostil com as mesmas garantias de segurança de uma mĂĄquina virtual. Uma vez que esses recipientes nĂŁo compartilham o kernel com o host ou outros recipientes no host, eles podem executar kernels com diferentes versĂ”es e configuraçÔes (com versĂ”es suportadas) - por exemplo, todos os recipientes do Windows no Windows 10 usam o isolamento Hyper-V para utilizar o VersĂŁo e configuração do kernel do Windows Server.

A execução de um recipiente no Windows com ou sem Isolamento Hyper-V Ă© uma decisĂŁo de tempo de execução. VocĂȘ pode optar por criar o contĂȘiner com o isolamento do Hyper-V inicialmente e depois, no tempo de execução, optar por executĂĄ-lo em vez disso como um recipiente do Windows Server.

Leitura complementar:

1. http://techfree.com.br/2015/11/container-vs-maquina-virtual/ 
2. http://www.sinestec.com.br/blog/o-que-e-container-docker/ 
3. http://www.junipernetworks.com.br/container-uma-nova-tecnologia
4. https://www.ibm.com/developerworks/community/blogs/tlcbr/entry/mp234?lang=en

Postar um comentĂĄrio

Comente sem faltar com respeito - ;-)

Postagem Anterior PrĂłxima Postagem