Pular para o conteúdo principal

Questão de Engenharia de Software — DevOps, IaC, Integração Contínua e Entrega Contínua — CESPE / CEBRASPE 2025

Engenharia de SoftwareDevOps, IaC, Integração Contínua e Entrega Contínua
Código
ce417745
Banca
CESPE / CEBRASPE
Órgão
PC DF
Ano
2025
Cargo
GAAPC ( )

Julgue o item a seguir, relativo a práticas e ferramentas de DevOps e integração contínua de código.

 

A expansão gradual em Canary Releases consiste na liberação imediata de uma nova versão para a totalidade da base de usuários, sendo a nova versão do software monitorada em tempo real.

  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Canary Releases: liberação gradual, não imediata

Gabarito: Errado (E). A afirmação inverte o conceito central da estratégia: Canary Release é, por definição, uma liberação gradual e progressiva da nova versão para um subconjunto de usuários, com monitoramento contínuo antes de expandir para a totalidade — jamais liberação imediata para toda a base. O erro está na palavra "imediata" e em "totalidade", que contrariam a essência da técnica.

A estratégia de Canary Release (ou "lançamento canário") é uma das principais técnicas de implantação contínua (Continuous Deployment) utilizadas no contexto de DevOps. O nome vem da prática histórica de mineradores que levavam um canário para dentro das minas: se o pássaro morresse, era sinal de que o ar estava contaminado e os mineradores deveriam sair. Analogamente, a nova versão do software é "exposta" primeiro a um pequeno grupo de usuários — o "canário" — para verificar se há problemas antes de liberar para todos.

O fluxo típico de um Canary Release segue etapas bem definidas:

  1. Implantação inicial: a nova versão é implantada em produção, mas apenas para uma pequena porcentagem de usuários (por exemplo, 1% a 5% da base).

  2. Monitoramento intensivo: métricas de erro, latência, uso de recursos e comportamento do usuário são observadas em tempo real, comparando o desempenho da nova versão com a versão estável.

  3. Expansão gradual: se as métricas estiverem saudáveis, a porcentagem de usuários que recebem a nova versão é aumentada progressivamente (por exemplo, 10%, 25%, 50%, 75%).

  4. Liberação total: após a validação completa, a nova versão é disponibilizada para 100% dos usuários.

  5. Rollback rápido: se qualquer anomalia for detectada em qualquer etapa, o tráfego é imediatamente redirecionado para a versão anterior, minimizando o impacto.

A principal vantagem dessa estratégia é a redução de risco: problemas são detectados em um grupo pequeno e controlado, antes de afetar toda a base de usuários. Isso contrasta com outras estratégias de deploy, como o Blue-Green Deployment, que mantém dois ambientes idênticos (azul e verde) e alterna o tráfego entre eles, ou o Rolling Deployment, que substitui as instâncias gradualmente, mas sem a segmentação por usuários.

A banca explora exatamente a confusão entre o conceito de Canary Release e o de uma liberação tradicional ("big bang"), em que a nova versão é disponibilizada de uma só vez para todos. A palavra "imediata" é o gatilho da pegadinha: quem não domina o conceito pode ler a frase e achar que faz sentido, mas a essência da técnica é justamente o oposto — a gradualidade.

NÃO CAIA NESSA!

A banca troca a característica central da estratégia: diz que a liberação é "imediata" e para a "totalidade" dos usuários, quando o Canary Release é, por definição, gradual e parcial no início. O candidato que não conhece a técnica pode ser induzido a marcar "Certo" por associar "monitoramento em tempo real" a algo positivo, sem perceber que a primeira parte da frase já a torna incorreta.

  1. 1Implantação inicial (1-5%)
  2. 2Monitoramento intensivo
  3. 3Expansão gradual (10-75%)
  4. 4Liberação total (100%)
  5. 5Rollback rápido se anomalia
LEVEL · soulevel.com.br

Item — ❌ Errado

A afirmação está errada porque descreve exatamente o oposto do que é um Canary Release. A técnica consiste em liberar a nova versão primeiro para um pequeno subconjunto de usuários, monitorar o comportamento em tempo real e, somente se tudo estiver estável, expandir gradualmente até atingir a totalidade da base. A expressão "liberação imediata para a totalidade" contradiz o próprio nome da estratégia — "canário" remete à ideia de teste em um grupo pequeno antes da exposição geral.

O monitoramento em tempo real, mencionado na segunda parte da frase, é de fato uma característica do Canary Release — mas ele serve justamente para decidir se a expansão deve continuar ou se o rollback deve ser acionado, e não para validar uma liberação que já atingiu todos os usuários de uma vez. A frase mistura um elemento correto (monitoramento) com um elemento incorreto (liberação imediata e total), tornando o item como um todo falso.

Gabarito: Errado (E).

Link permanente: /questoes/ce417745