O que são containers Linux
Imagem de Sárfi Benjámin por Pixabay

O que são containers Linux? Resumindo, os containers do Linux contêm aplicativos de forma a mantê-los isolados do sistema host no qual são executados. Os containers permitem que um desenvolvedor empacote um aplicativo com todas as partes necessárias, como bibliotecas e outras dependências, e envie tudo como um pacote. E eles são projetados para facilitar o fornecimento de uma experiência consistente à medida que desenvolvedores e administradores de sistema movem o código dos ambientes de desenvolvimento para a produção de maneira rápida e replicável.

De certa forma, os containers se comportam como uma máquina virtual . Para o mundo exterior, eles podem parecer seu próprio sistema completo. Mas, ao contrário de uma máquina virtual, em vez de criar um sistema operacional virtual completo, os containers não precisam replicar um sistema operacional inteiro, apenas os componentes individuais de que precisam para operar. Isso dá um aumento significativo no desempenho e reduz o tamanho do aplicativo. Eles também operam muito mais rápido, pois, ao contrário da virtualização tradicional, o processo é essencialmente executado nativamente em seu host, apenas com uma camada adicional de proteção ao seu redor.

E, mais importante, muitas das tecnologias que alimentam a tecnologia de containers são  de código aberto . Isso significa que eles têm uma ampla comunidade de colaboradores, ajudando a promover o rápido desenvolvimento de um amplo ecossistema de projetos relacionados que atendem às necessidades de todos os tipos de organizações diferentes, grandes e pequenas.

Por que existe tanto interesse em containers?

Sem dúvida, um dos maiores motivos para o interesse recente na tecnologia de containers foi o projeto de código aberto Docker , uma ferramenta de linha de comando que facilitou a criação e o trabalho com containers para desenvolvedores e administradores de sistema, semelhante à maneira como o Vagrant  tornou mais fácil para os desenvolvedores explore máquinas virtuais facilmente.

O Docker é uma ferramenta de linha de comando para definir programaticamente o conteúdo de um contêiner Linux no código, que pode ser verificado, reproduzido, compartilhado e modificado facilmente como se fosse o código-fonte de um programa.

Os containers também despertaram interesse na arquitetura de micros serviços , um padrão de design para o desenvolvimento de aplicativos nos quais aplicativos complexos são divididos em partes menores e combináveis ​​que funcionam juntas. Cada componente é desenvolvido separadamente e o aplicativo é simplesmente a soma de seus componentes constituintes. Cada peça, ou serviço, pode residir dentro de um contêiner e pode ser dimensionado independentemente do restante do aplicativo conforme a necessidade.

Como eu orquestro containers?

Simplesmente colocar seus aplicativos em containers provavelmente não criará uma mudança fenomenal na maneira como sua organização opera, a menos que você também mude como implanta e gerencia esses containers. Um sistema popular para gerenciar e organizar containers Linux é  o Kubernetes . 

[Baixe nossa cartilha de containers ]

Kubernetes é um sistema de código aberto para gerenciamento de clusters de containers. Para fazer isso, ele fornece ferramentas para implantar aplicativos, dimensioná-los conforme necessário, gerenciar alterações em aplicativos existentes em containers e ajuda a otimizar o uso do hardware subjacente sob seus containers. Ele foi projetado para ser extensível, bem como tolerante a falhas, permitindo que os componentes do aplicativo reiniciem e se movam entre os sistemas conforme necessário.

Ferramentas de automação de TI, como Ansible, e projetos de plataforma como serviço, como OpenShift, podem adicionar recursos adicionais para facilitar o gerenciamento de containers.

Como manter os containers seguros?

O contêiner adiciona segurança isolando aplicativos de outros aplicativos em um sistema operacional host, mas simplesmente colocar um aplicativo em contêiner não é suficiente para mantê-lo seguro. Dan Walsh, um especialista em segurança de computadores conhecido por seu trabalho no SELinux, explica algumas das maneiras pelas quais os desenvolvedores estão trabalhando para garantir que o Docker e outras ferramentas de contêiner estejam garantindo  a segurança dos containers , bem como alguns dos  recursos de segurança  atualmente no Docker, e como eles funcionam.

O que são containers Linux? Onde posso aprender mais?

Aqui estão alguns recursos adicionais nos quais você pode estar interessado.

*Este trabalho está licenciado sob uma licença Creative Commons Attribution-Share Alike 4.0 International License.

Fonte: Artigo traduzido do site Opensource.com