Skip to content

Criando na pratica, utilizando Docker, NGNIX como funciona os tipos de deploy, onde é possivel simular cada tipo localmente

Notifications You must be signed in to change notification settings

CafeCOMaquina/tipos-estrategias-deployments

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projeto de Deploys - Guia de Execução

Este repositório contém exemplos práticos de diferentes estratégias de deploy usando Docker e Docker Compose. Cada exemplo está configurado em um diretório separado e pode ser executado individualmente. Para evitar problemas de conflito entre containers e serviços, destrua sempre o ambiente atual antes de iniciar um novo.

Requisitos

  • Docker
  • Docker Compose

Projetos Disponíveis

Cada projeto está em uma pasta individual com seu próprio docker-compose.yml. Veja abaixo o guia para executar cada projeto.

1. Blue-Green Deploy

Descrição: Exemplo de Blue-Green Deploy, onde duas versões da aplicação (Blue e Green) são executadas simultaneamente, e o tráfego é redirecionado entre elas.

Como executar:

  1. Acesse o diretório blue-green.
  2. Execute o comando:
    docker-compose up -d --build
  3. Acesse a aplicação em http://localhost:8080.

Simulando deploy:

Ao acessar o http://localhost:8080 a aplicação exibirá a tela do da aplicação BLUE, ela quem está cofifgurada no NGINX Acesse o arquivo: ./ngnix/nginx.conf e comenta a linha server blue-app:80; e descomente a linha: server green-app:80;

Após feito isto rode o comando:

docker-compose up -d --force-recreate --no-deps nginx

que o servidor NGNIX será reiniciado e estará entregando agora no endereço: http://localhost:8080 a aplicação GREEN, e sem derrubar as aplicações.

Destruir o ambiente:

Para parar e remover o ambiente, execute:

docker-compose down

2. Canary Deploy

Descrição: Exemplo de Canary Deploy, onde uma pequena porcentagem do tráfego é enviada para uma nova versão da aplicação.

Como executar:

  1. Acesse o diretório canary.
  2. Execute o comando:
    docker-compose up -d --build
  3. Acesse a aplicação em http://localhost:8080 para verificar o comportamento do Canary.

Destruir o ambiente:

Para parar e remover o ambiente, execute:

docker-compose down

3. Rolling Update

Descrição: Exemplo de Rolling Update, onde as instâncias da aplicação são atualizadas uma de cada vez.

Como executar:

  1. Acesse o diretório rolling-update.
  2. Inicie o ambiente inicial com o comando:
    docker-compose up -d --build
  3. Realize o Rolling Update escalando as réplicas de blue-app e green-app gradualmente.

Destruir o ambiente:

Para parar e remover o ambiente, execute:

docker-compose down

4. A/B Testing Deploy

Descrição: Exemplo de A/B Testing Deploy, onde o tráfego é dividido entre duas versões da aplicação com base em cookies.

Como executar:

  1. Acesse o diretório ab-testing.
  2. Execute o comando:
    docker-compose up -d --build
  3. Acesse a aplicação em http://localhost:8080 e observe o redirecionamento entre versões A e B.

Destruir o ambiente:

Para parar e remover o ambiente, execute:

docker-compose down

5. Shadow Deploy

Descrição: Exemplo de Shadow Deploy, onde o tráfego é enviado para a nova versão da aplicação sem impactar o cliente.

Como executar:

  1. Acesse o diretório shadow.
  2. Execute o comando:
    docker-compose up -d --build
  3. Acesse a aplicação em http://localhost:8080.

Destruir o ambiente:

Para parar e remover o ambiente, execute:

docker-compose down

6. Feature Toggle

Descrição: Exemplo de Feature Toggle, onde uma funcionalidade específica pode ser ativada ou desativada usando uma variável de ambiente.

Como executar:

  1. Acesse o diretório feature-toggle.
  2. Execute o comando:
    docker-compose up -d --build
  3. Acesse a aplicação em http://localhost:8080.

Destruir o ambiente:

Para parar e remover o ambiente, execute:

docker-compose down

Aviso Importante

Antes de iniciar qualquer outro projeto, sempre destrua o ambiente atual usando docker-compose down para evitar conflitos entre os containers. Cada projeto possui configurações individuais, e rodá-los simultaneamente pode causar problemas de rede e portas ocupadas.


Contato

Para dúvidas ou sugestões, entre em contato.


About

Criando na pratica, utilizando Docker, NGNIX como funciona os tipos de deploy, onde é possivel simular cada tipo localmente

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published