Desbravando Linux Containers (LXC) – Docker – uma visão superficial (mas suficiente)

Boa noite, meu povo.

Como prometido, começo a partilhar um pouco da experiência que vivenciei e absorvi enquanto estudava técnicas de virtualização. Na verdade , o motivo de todo o estudo era encontrar uma solução pouco custosa para utilizar com o vagrant, motivado por um colega aqui da cidade que precisava demonstrar, na apresentação de seu TCC, o funcionamento de um software cloud e não possuia acesso a máquinas muito poderosas, senão a um notebook positivo com 4 GB de RAM e um processador AMD C50. Imagina você aí o sofrimento dele.

Pois bem, vamos ao falatório…

Por volta de outubro de 2014 conheci o Vagrant apenas por ‘ouvir falar’ e pesquisando sobre a tecnologia, fui premiado com algumas preciosas e precisas referencias ao Docker. E foi assim que, por tabela, cheguei ao Docker.

Virtualização e Containers

Desde o início de 2007 sou fascinado pelo tópico virtualização. Entusiasta, propaguei bastante a ideia do uso do Virtualbox nas instituições de ensino onde estudei, além disso, já ministrei minicursos sobre virtualização e até mesmo utilizei virtualização em pequena escala para a montagem de um servidor de arquivos utilizando OpenIndiana (Herdeiro do OpenSolaris).

– Bom, mas o que tem a ver virtualização com o assunto central desse texto?

– Ah! Virtualização é o cerne da modelagem dos containers.

Um container é bem parecido a um ambiente ‘virtualizado’, sendo basicamente dotado das seguintes características:

  1. Isolamento dos processos executados no container dos processos executados na máquina ‘hospedeira’
  2. Preservação das características do ambiente dentro do container facilitando a reutilização
  3. Compartilhamento do kernel space

Tudo isso é muito parecido com o que acontece em sistemas virtualizados menos o compartilhamento do kernel space² que no caso das máquinas virtuais é sempre isolado.

Há, claro, outras características, porém estas são suficientes para me permitir afirmar que containers são a opção ideal para quem trabalha com desenvolvimento ou pesquisa de soluções de software.

Ao utilizar containers você não precisa ter o trabalho de configurar todo um ambiente virtual, mas apenas aquelas bibliotecas, tipos de sistemas de arquivos e componentes de execução como webservers, necessários para que a solução pesquisada/desenvolvida funcione como deveria.

Assim é que cada container deve ser configurado para funcionar examente como deve funcionar um  servidor, por exemplo, em modo de produção, assim evitando as tradicionais dores de  cabeça provenientes das diferenças entre os ambientes de desenvolvimento e o ambiente de deployment/produção.

Páginas: 1 2 3

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

%d blogueiros gostam disto: