Como isolar aplicativos de alterações subjacentes do SO usando o Docker

1

Eu não sou um usuário do docker, apenas quero saber se esse é um caso de uso preciso para o docker.

Estado atual

Implementamos aplicativos Java personalizados no RHEL / VMware. Para funcionar corretamente, os aplicativos dependem do Java runtime local, Tomcat, contas de usuários locais, scripts de início / parada e configurações de ambiente, todos os quais devem ser instalados e configurados com antecedência na máquina.

Problema: Upgrades / Manutenção do RHEL

A manutenção periódica do SO interrompe o ambiente, às vezes o Tomcat, outras vezes o Java, mas principalmente as contas e permissões de usuários locais, forçando-nos a chamar SAs para corrigir os problemas; é um grande PITA.

Pergunta

Podemos usar contêineres de encaixe para encapsular nossos aplicativos Java junto com suas dependências (tempo de execução Java, Tomcat, contas de usuário, configurações locais, etc), de modo que fiquemos isolados de uma manutenção futura no sistema operacional subjacente? Nesse cenário, contêineres docker, não arquivos Java WAR / JAR, se tornam os principais artefatos de implementação, correto?

Esse é o meu entendimento do docker, por favor, perdoe a ignorância se isso não faz sentido :-D

    
por SAFX 17.02.2015 / 17:21

1 resposta

3

Estou trabalhando como administrador do VMware vSphere e vejo o Docker como uma ameaça (pode custar-me meu trabalho se os containers substituem VMs) e uma oportunidade (é uma tecnologia de virtualização , afinal, então talvez pudéssemos torná-lo parte de nosso portfólio e entregá-lo como um serviço ).

Mas, para sua pergunta: sim, os contêineres do estivador se tornariam os principais artefatos de implantação.

Mas, por favor, considere o que isso significa. Atualizações Java, Tomcat etc. são feitas por um motivo, muitas vezes para corrigir sérios problemas de segurança. Se você colocar todas as dependências do seu aplicativo em um contêiner docker , será responsável por todas as atualizações de segurança . No momento, sua equipe de operações é responsável por implantar patches de segurança no Java, no Tomcat e em todas essas coisas. Com o docker você tem que reconstruir o contêiner com as atualizações (não tão difícil, mas você precisa fazê-lo) e reimplantá-lo. Portanto, você terá um tempo de inatividade afinal: interrompa e exclua o contêiner antigo, implante e inicie o novo.

É claro, você pode simplesmente ignorar qualquer atualização de segurança e se recusar a distribuir os patches ... Eu me pergunto o que sua segurança de TI dirá a respeito disso.

    
por 17.02.2015 / 20:03