Hospedagem e contêineres LXC

logotipo lxc

Recentemente, foi divulgada a notícia de que SiteGround, um dos maiores provedores de hospedagem web da Europa, se instalou em nosso país e adotou uma tecnologia de ponta em termos de desempenho: falamos de Contêineres Linux ou LXC. Esta funcionalidade não é nova, dentro dos sistemas operacionais, já que FreeBSD tem Jails, Solaris tem Zonas e existem outros tipos de containers como os fornecidos pelo OpenVZ e Linux VServer que possuem uma configuração diferente dentro de seu kernel para executá-lo.

O fato de SiteGround ter abraçado esta posição em termos de sua tecnologia, e sua clara visão de negócios focada no alto desempenho de sua infraestrutura, tanto no nível de hardware (por meio de unidades de estado sólido SSD) como software, levanta a questão de saber se é tão bom e promissor. Falamos sobre LXC para os contêineres abaixo.

LXC ou Linux Containers representam atualmente uma das tecnologias mais modernas e com maior projeção de futuro. Se trata de contêineres que virtualizam ambientes no nível do sistema operacional Linux e podem ser implantados em várias instâncias dentro do mesmo servidor físico. Todos operam isoladamente como SPVs (Virtual Private Servers) ou EVs (Virtual Environments), onde todos os recursos são disponibilizados ao nível de processamento, comunicações e armazenamento.

Mas onde está realmente o benefício dos contêineres? Vejamos o seguinte caso de exemplo. Um portal de serviço deseja que seus usuários possam implantar plataformas autônomas e isoladas sob demanda. Tradicionalmente, todos os softwares e componentes necessários para cada ferramenta desejada teriam que ser instalados, mas graças aos contêineres, todos os recursos necessários podem ser agrupados e instanciados quantas vezes forem necessárias automaticamente.

lxc vs host

Quando no SiteGround fizeram sua última migração acolheu, além desta tecnologia, o armazenamento através de SSD de disco de estado sólido. A LXC fornece a eles, nas palavras de seus próprios funcionários, a flexibilidade de que você precisa para o seu negócioe discos SSD a velocidade de execução necessária para prestar um serviço adequado e atempado aos seus utilizadores. Além disso, a empresa criou sua própria implementação do LXC e gera uma infinidade de patches para o kernel do Linux que corrigem bugs e problemas de segurança.

O futuro dos contêineres parece muito promissor e pode significar o fim da virtualização como a conhecemos hoje. Ou não?

Recursos do LXC

La capacidade de criar contêineres encapsulados e isolados com seu próprio pool de recursos é uma função que já é realizada hoje em ambientes de virtualização. No entanto, a tecnologia de contêiner oferece maior desempenho (quase semelhante à virtualização bare-metal) e flexibilidade. Os contêineres não emulam o hardware de uma máquina e, desde que o espaço não seja virtualizado, nenhum espaço de armazenamento é ocupado.

LXC deve ser concebido como um sistema operacional dentro do nosso, e que, para fins práticos, se comporta como uma máquina virtual. A emulação é feita pelo próprio kernel Linux e o LXC fornece o container mínimo para poder armazenar um template de várias distribuições de sistemas operacionais e aplicativos de usuário que permitem sua reutilização em vários ambientes e ciclos de desenvolvimento.

La portabilidade Com esta funcionalidade ela é garantida, pois desacopla as aplicações do sistema operacional e é possível rodar qualquer container desde a instalação de um ambiente mínimo. Além disso, graças ao isolamento de recursos, é possível executar várias instâncias de várias versões de Java, PHP ou Apache ao mesmo tempo, com total flexibilidade e podendo balancear suas cargas entre vários sistemas, clonar seus ambientes ou fazer cópias de backup em questão de segundos.

O futuro da virtualização ainda não terminou, pois com ele é possível implantar ecossistemas muito diversos que, atualmente, os containers não são capazes de usar um kernel específico para esta tarefa.

LXC e Docker

lxc-vs-docker

LXC e Docker são dois sistemas de conteinerização cuja filosofia opera de maneira muito semelhante: Virtualize isoladamente diferentes ambientes de aplicativos que operam de forma autônoma. Ubutu trabalha com os dois projetos que muitas vezes tendem a ser confundidos e cuja principal diferença te faz notar. Os contêineres LXC tem um init que permite executar vários processos enquanto Os contêineres do Docker têm um que só pode executar um único processo de cada tipo.

A ideia do Docker é reduzir o tamanho de seus contêineres o máximo possível para um único processo que é gerenciado a partir deste aplicativo. O problema é que muitos aplicativos desenvolvidos hoje têm a expectativa de poderem ser executados em ambientes multithread, com suporte de vários cron, daemons, SSHs, etc. Como o Docker não tem nenhum desses, a configuração do ambiente de implementação, a rede, o armazenamento e a orquestração final de todo o sistema devem ser feitas por meio do aplicativo.

Esta é apenas a ponta do iceberg, pois outras questões permanecem no ar como gerenciamento de recursos de rede, tunelamento de comunicações, empilhamento de contêineres ou migração entre ambientes quentes. Atualmente, parece que a lacuna que separa as duas tecnologias quer ser reduzida e será a hora de quem decidir qual tecnologia será posicionada acima.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.