Sou muito apologista da metodologia “set it and forget it”, configurar as coisas uma vez e reutilizar vezes sem conta a mesma configuração, infraestrutura. Abstrairmos de tal forma, que o foi configurado sirva para o uso geral da nossa aplicação ou projeto. Isto é muito giro, mas pouco realista se tivermos em mente a montanha de projetos e aplicações que estão montadas por Portugal (e não só) a fora.
Tipicamente, a forma como eu fazia, seria criar uma máquina virtual (principalmente em virtualbox) montava a infraestrutura da forma que queria e depois trabalhava sobre ela e partilhava a imagem com quem quisesse. Apesar de funcionar a solução não era em nada elegante, tinha uma imagem com cerca de 20GB, com um sistema operativo (que poderia estar ou não a usar as suas potencialidades), mais o conjunto de ferramentas e ainda tinha que me preocupar com as configurações de rede (para estar exposto para fora da máquina virtual) e ter mounting points para poder partilhar ficheiros entre o host e a máquina virtual. Quem já fez isto pelo menos uma vez sabe a chatice que dá.
Em 2013 quando comecei a ouvir falar de Docker e o que representava naturalmente fiquei bastante interessado. E ao longo do tempo a empresa tem desenvolvido bastante trabalho e introduzindo bastantes features, apresentando um produto de alta qualidade que depressa os gigantes da cloud (AWS, Google Cloud, Microsoft Azure, etc) agarraram a oportunidade de integrar o Docker nos seus seus serviços em forma de Container Services.
[...]