julho 15, 2016 12:00 pm Publicado por major Deixe um comentário
Na maioria das vezes que buscamos portar uma aplicação para modelo de contêine, uns dos retornos esperados é a portabilidade, ou seja, a ideia que você pode construir sua aplicação apenas uma vez e ela irá executar sem problemas em qualquer infraestrutura.
Automatizar esses procedimentos colabora com a manutenção da integridade do seu processo, pois o nome dos pacotes de dependências e suas respectivas versões estariam especificadas explicitamente em um arquivo localizado no mesmo repositório que o código, que por sua vez seria rastreado em um sistema de controle de versão. Com isso, podemos concluir que nada seria modificado sem que se tenha o devido registro.
O Docker se encaixa perfeitamente nessa boa prática, pois é possível entregar um perfil mínimo de infraestrutura para essa aplicação, que, por sua vez, fará necessária a declaração explícita de suas dependências para que a aplicação funcione nesse ambiente.
"O PIP é um sistema de gerenciamento de pacotes usado para instalar e gerenciar pacotes de software escritos na linguagem de programação Python." – Wikipedia
O comando PIP é usado, juntamente com o arquivo requirements.txt, na criação da imagem – como foi demonstrado no Dockerfile da boa prática anterior (codebase):
É importante salientar a necessidade de especificar as versões de cada dependência, pois como no modelo de contêiner, as suas imagens podem ser construídas a qualquer momento. Logo, é importante saber qual versão específica que a sua aplicação precisa, caso contrário poderemos encontrar problemas com compatibilidade, caso uma das dependências atualize e não esteja mais compatível com a composição completa das outras dependências e a aplicação que está utilizando-a.
Usando o Docker, é possível configurar automaticamente o necessário para rodar o código da aplicação, seguindo com isso essa boa prática perfeitamente.