Pular para o conteúdo principal

Questão de Engenharia de Software — DevOps, IaC, Integração Contínua e Entrega Contínua — FCC 2024

Engenharia de SoftwareDevOps, IaC, Integração Contínua e Entrega Contínua
Código
fc147274
Banca
FCC
Órgão
Pref J Guararapes
Ano
2024
Cargo
AFTri (J Guararapes)

Uma prefeitura está desenvolvendo um software e enfrentando dificuldades em lançar novas funcionalidades rapidamente devido à falta de automatização e coordenação entre os processos de desenvolvimento e operações. Nesse caso, a prática de DevOps mais eficaz para melhorar a velocidade de lançamento de novas funcionalidades é

  1. APlanejamento Ágil.
  2. BKanban.
  3. CMonitoramento Contínuo (CM).
  4. DBlue-Green Deployments.
  5. EEntrega Continua (CD).
Revelar gabarito e comentário

GabaritoE — Entrega Continua (CD).

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”.

DevOps: Entrega Contínua (CD) e a velocidade de lançamento

Gabarito: letra E. A prática de DevOps mais eficaz para acelerar o lançamento de novas funcionalidades, diante da falta de automatização e coordenação entre desenvolvimento e operações, é a Entrega Contínua (CD), pois ela automatiza a preparação e a disponibilização do software para produção, reduzindo drasticamente o tempo entre a conclusão do código e sua chegada ao usuário. Essa prática é um dos pilares do DevOps, que busca justamente integrar e automatizar os processos de desenvolvimento e operações.

O DevOps é uma cultura e um conjunto de práticas que visa aproximar as equipes de desenvolvimento (Dev) e operações (Ops), promovendo a automação e o monitoramento em todas as fases do ciclo de vida do software. O objetivo central é permitir entregas frequentes, rápidas e seguras, eliminando gargalos manuais e melhorando a colaboração entre as áreas. A Entrega Contínua (CD) é uma das práticas mais importantes nesse contexto, pois ela garante que o software esteja sempre em um estado pronto para ser implantado em produção, com todas as alterações de código sendo automaticamente testadas e preparadas para o deploy.

A CD se diferencia da Implantação Contínua (também abreviada como CD, o que gera confusão): enquanto a Entrega Contínua automatiza a preparação e a entrega do software para o ambiente de produção, exigindo uma aprovação humana para o deploy final, a Implantação Contínua automatiza também essa etapa, implantando automaticamente em produção sem intervenção humana. Ambas são essenciais para acelerar o lançamento de funcionalidades, mas a Entrega Contínua é a prática que, por definição, foca em manter o software pronto para produção, o que atende diretamente ao problema descrito no enunciado.

Para entender melhor, imagine uma prefeitura que desenvolve um sistema de emissão de notas fiscais. Sem CD, cada nova funcionalidade (como um novo campo no formulário) precisa passar por um processo manual de build, testes e implantação, o que pode levar dias ou semanas. Com a CD, o código é integrado e testado automaticamente a cada alteração, e o pacote fica pronto para ser implantado com um simples clique (ou até automaticamente, se for Implantação Contínua). Isso reduz o tempo de lançamento de semanas para horas ou até minutos.

A banca explora aqui a distinção entre as práticas de DevOps e outras metodologias. O enunciado menciona "falta de automatização e coordenação entre os processos de desenvolvimento e operações", o que aponta diretamente para a necessidade de automação do processo de entrega. As alternativas A (Planejamento Ágil) e B (Kanban) são metodologias de gestão de projetos e fluxo de trabalho, que não tratam diretamente da automação da entrega. A alternativa C (Monitoramento Contínuo) é uma prática importante, mas foca em observar o sistema em produção, não em acelerar o lançamento. A alternativa D (Blue-Green Deployments) é uma estratégia de implantação que reduz riscos, mas não é a prática principal para acelerar o lançamento.

Guarde a fronteira entre Entrega Contínua (automatiza a preparação, exige aprovação para o deploy) e Implantação Contínua (automatiza também o deploy, sem aprovação humana): é exatamente nessa distinção que as alternativas se dividem, e a banca adora trocar os termos para confundir.

DevOps
  • 1Objetivo
    • Integrar Dev e Ops
    • Automatizar processos
    • Entregas rápidas e seguras
  • 2Práticas
    • CI (Integração Contínua)
      • Integra e testa o código
    • CD (Entrega Contínua)
      • Automatiza preparação para produção
      • Exige aprovação humana no deploy
    • CD (Implantação Contínua)
      • Automatiza também o deploy
      • Sem aprovação humana
    • Monitoramento Contínuo
      • Observa o sistema em produção
    • Blue-Green Deployments
      • Alterna entre dois ambientes
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

O Planejamento Ágil é uma prática de gestão de projetos que organiza o trabalho em iterações e prioriza entregas incrementais. Embora ajude a coordenar o desenvolvimento, ele não aborda diretamente a automatização dos processos de entrega, que é o cerne do problema descrito. A falta de automatização e coordenação entre Dev e Ops é resolvida por práticas de DevOps, não por metodologias de planejamento.

Alternativa B — ❌ Incorreta

O Kanban é um método de gerenciamento de fluxo de trabalho, focado em visualizar tarefas, limitar o trabalho em andamento (WIP) e melhorar o fluxo. Ele não automatiza processos de build, teste ou implantação. É uma ferramenta de gestão, não uma prática de automação de entrega. A banca pode tentar confundir o candidato ao associar Kanban a "fluxo contínuo", mas isso não se refere à automação da entrega.

Alternativa C — ❌ Incorreta

O Monitoramento Contínuo (CM) é uma prática de DevOps que coleta métricas e logs para identificar falhas e gargalos de desempenho em produção. Ele é essencial para garantir a qualidade e a estabilidade do sistema, mas não acelera o lançamento de novas funcionalidades. O monitoramento atua após a implantação, enquanto o problema do enunciado é anterior: a falta de automatização e coordenação no processo de entrega.

Alternativa D — ❌ Incorreta

O Blue-Green Deployments é uma estratégia de implantação que reduz riscos ao manter dois ambientes idênticos (azul e verde) e alternar o tráfego entre eles. Ele é uma técnica complementar à CD, mas não é a prática principal para acelerar o lançamento. A banca pode tentar confundir o candidato ao associar essa estratégia a "implantação rápida", mas ela não resolve o problema da falta de automatização e coordenação entre Dev e Ops.

Alternativa E — ✅ Correta ⟵ GABARITO

A Entrega Contínua (CD) é a prática de DevOps que automatiza a preparação e a entrega do software para produção, garantindo que ele esteja sempre pronto para ser implantado. Ela reduz o tempo entre a conclusão do código e sua disponibilização, atacando diretamente o problema de falta de automatização e coordenação entre desenvolvimento e operações. A CD é um dos pilares do DevOps, que busca justamente integrar e automatizar os processos de entrega.

PEGA ESSA DICA!

Para diferenciar as práticas de DevOps, lembre-se: CI (Integração Contínua) automatiza a integração e os testes do código; CD (Entrega Contínua) automatiza a preparação para produção, exigindo aprovação; CD (Implantação Contínua) automatiza também o deploy, sem aprovação. O enunciado fala em "lançar novas funcionalidades rapidamente" — isso é o objetivo da Entrega Contínua.

Gabarito: letra E

Link permanente: /questoes/fc147274