Uma das grandes vantagens que podemos obter com o estivador é o princípio da imutabilidade. No passado, era muito comum que os desenvolvedores gerassem seu código em um ambiente de desenvolvimento com certas características, o passassem para a pré-produção, que não era exatamente o mesmo que desenvolvimento, e finalmente chegassem à produção, que também tinha uma configuração diferente; todo este processo significava que os desenvolvedores tinham que "ajustar" seu código em cada uma das fases.
Com a chegada dos containers isso foi resolvido, já que uma imagem é a mesma do início ao fim que cria o microserviço. O desenvolvedor baixa a imagem com certas características, se ele tiver um ambiente de desenvolvimento ele a hospeda lá, caso contrário, em sua própria máquina. Quando ele a tem pronta, ele carrega a imagem para a pré-produção onde os testes são realizados e se verifica que ela funciona e vai para a produção, tudo muito simples e a mágica é que do início ao fim o desenvolvimento tem sido no mesmo ambiente. Este seria o princípio da imutabilidade.
Se atualizarmos na produção (isto seria bastante kamikaze) ou na pré-produção uma imagem, encontraremos os mesmos problemas antigos, o código pode ter que ser retrabalhado, e se a imagem com a qual o desenvolvedor está trabalhando não foi segura desde o início, o problema é herdado.
Então o que eu estava tentando transmitir é que, em um ambiente ideal, as empresas devem ter um repositório de imagens aprovado e certificado, com um ciclo de vida de atualização de imagem que lhes permita chegar à produção com um nível de segurança ideal. Isto significaria que cada vez que um código ou serviço fosse atualizado, uma nova imagem chegaria em produção já corrigida, pois o desenvolvedor seria sempre obrigado a fazer a nova versão com base na última imagem no repositório. Os desenvolvimentos tendem a estar vivos e a melhorar/crescer com o tempo, e é por isso que este ciclo de vida é proposto.
Isto está no mundo ideal, que esperamos que em breve seja menos ideal e mais real.