A utilização de containers, que tem hoje o Docker como principal representante, tem aumentado rapidamente com sua facilidade e portabilidade de liberação de aplicações prontas. Com base nisso, fica a seguinte pergunta: “Poderia a tecnologia de containers, como o Docker, ser utilizada para resolver o nosso antigo problema com gerenciador de pacotes? Alguns acreditam que containers podem ser um caminho para resolver a “dor de cabeça” no gerenciamento de dependência e incompatibilidade entre distribuições e versões do mesmo sistema.
No campo do “sim”: O pessoal do CoreOS, que são criadores de uma distribuições GNU/Linux, que gira inteiramente em torno de containers, e não dos pacotes, como unidade básica de modularidade.
Kelsey Hightower, Engenheiro Chef do CoreOS, diz que a empresa oferece “prova viva que não é apenas possível, como pode lidar melhor com designer de sistema e eficiência.” Contudo ele acredita que gerenciador de pacotes ainda é utilizável, “principalmente para construção de um sistema operacional a partir de um conjunto discreto de componentes que devem executar em conjunto. Esta é uma área onde os gerenciadores de pacotes do GNU/Linux brilham.” CoreOS não utiliza um gerenciador de pacotes típico, como apt ou yum, mas sim um sistema portage.
Kelsey alega que substituir inteiramente um sistema de gerenciador de pacotes de proposito genérico para o Docker ou outro gerenciador de container pode ser difícil, em parte porque o Docker não tem mecanismo para solucionar dependência. “Onde Docker brilha é no empacotamento e distribuição de aplicações” ele diz. (Docker se recusou a responder esse artigo, alegando restrição de tempo.)
Com ênfase maior da Red Hat em containers, é lógico que a empresa também poderá ver containers como um substituto para o gerenciamento de pacotes.
Lars Herrmann, gerente geral do “Red Hat Enterprise Linux” e “Red Hat Enterprise Virtualization” na Red Hat, acredita que é possível que o gerenciador de pacote seja substituído por containers, “mas esse não é o melhor caminho”.
Além da gerência de dependência, diz Herrmann em um email, que um gerenciador de pacote provem mais três outros “boons”: Instruções de onde será instalado o software em seu sistema, metadados estruturados para tornar fácil dizer o que e onde será instalado, e um mecanismo para verificar softwares instalados com base no metadado do gerenciador de pacotes.
Herrmann diz “Estes valores aplicam-se ainda em um mundo ‘container-centric’ ” O que significa que todas essas funções precisam ser replicados pelos containers. “Além disso, é preciso haver uma maneira fácil de ‘olhar’ para dentro desses containers, afim de verificar o que está lá dentro, e assim identificar quaisquer problemas conhecidos.”
Da mesma forma, o gerenciamento de pacotes abrange funções internas que os próprios containers ainda não lidam. De acordo com Herrmann, o Docker “agrega os pacotes para uma aplicação ou microservice inteiro; isso não ajuda obter os componentes certos para um container de forma funcional. Obviamente, essa tarefa não requer diretamente os gerenciadores de pacotes existentes, mas eles fazem um grande trabalho, então por que não usá-los?
Bryant Cantrill, CTO da Joyent (outra empresa até o pescoço no mundo do container) Também vê os containers e gerenciadores de pacotes servindo para funções separadas, desde que “uma imagem Docker está em uma camada de abstração mais elevado do que um pacote apt ou yum” Ele escreveu isso por e-mail.
Dito isso, ele acredita que o Docker poder tornar o empacotamento obsoleto, como o gerenciamento de pacote fez obsoleto a forma manual de desempacotar arquivos (como arquivos TAR) e assim se tornar um novo padrão de formato para aplicações. “Um engenheiro que conheço a muito tempo, coloca o Docker de forma diferente: Docker é ELF do século 21. (ELF é o ‘Executable and Likable Format‘ que é como o binário é representado em sistemas UNIX) De qualquer maneira, Docker parece prestes a se tornar o padrão de fato para a forma como se cria imagem para sistemas. Eu acho que isso é uma clara vitória tanto para desenvolvedores, como para os operadores de infraestrutura.”
Com informações de Infoworld e TechFree.