Fazer deploy de containers juntos.

Olá boa tarde,

Gostaria de saber se existe algum solução para fazer o deploy de dois containers (fontend, api) juntos, porque digamos que faça uma alteração na minha api e está alteação depende de uma alteração feita também no front end.

Meu caso: quando vou calcular o frete dos produtos agora eu preciso passar quais são eles, isso necessita de duas alterações conjuntas no front end e na api. Porém o deploy é automatico na AWS e provavelmente o front end vai ser atualizado e liberado para produção antes da API e isso deve gerar bugs.

Tentei procurar na internet sobre mas não encontrei nada.

Não sei como está sua estrura mas existe solução que quando você está fazendo um implementação em container você cria novas maquinas com a nova versão da aplicação porem a versão antiga continua em funcionamento depois que é implementado a versão nova antiga é desativada.

Outra coisa que você pode fazer é tentar estudar tecnicas para deploy/lançamento de versão, evitar break changes, lançar os recursos aos poucos, exemplo você precisa adicionar um campo e este é obrigatório em uma tabela, de primeira você só adicionado o campo depois em uma nova atualização você decide que ele é obrigatório, mas cada caso é um caso.

Você também pode escolher uma janela de dow time da aplicação para a atualização, de preferencia quando o trafego é bem baixo, isso deve ser bem planejado.No meu caso como os sistemas que trabalho são pequenos e não há muitos acessos costumamos fazer em final de semana caso a atualização seja muito grande.

Não possuo muita experiencia mas expero ter ajudado.

Pode dar mais detalhes de como é feito o deploy? Qual ambiente você usa kubernetes (EKS)?

Não tenho certeza pois foi uma tercerizada que configurou para nós, usamos o codepipe line para ver a situação dos deploys.
Vai no code deploy e no historico de implemetações verifica a coluna: **Plataforma de computação** Ou faz uma busca de foi em ec2, eks .....
Você sabe se as ec2 estão em algun load balancer e com autoscaling ? No seu caso acho melhor entrar com tercerizada que faz o serviço para vocês, aqui também temos uma tercerizada quando tenho duvida pesso ajudas para eles.

Olá

Eu esses dias queria fazer algo parecido, eu gero o backend e o frontend numa pipeline no Github Actions, e queria fazer o deploy no servidor.

Eu já utilizo docker-compose no servidor, chamando a imagem que quero, o que fiz foi adicionar um novo container com uma ferramenta que monitora novas versões do container e atualiza o existente.

Watchtower

Eu coloquei para cada 1 minuto ver se tem uma imagem nova, e está atendendo as minhas necessicades.