Pular para o conteúdo principal

Questão de Sistemas Operacionais — Cloud Computing — FGV 2024

Sistemas OperacionaisCloud Computing
Código
fg077458
Banca
FGV
Órgão
CVM
Ano
2024
Nível
Superior
Cargo
Analista - Perfil 9 - TI / Infraestrutura e Segurança - Tarde
O analista Micael está trabalhando em um projeto de automação de infraestrutura para uma grande empresa de tecnologia. Ele decidiu utilizar o Ansible para automatizar a implantação e configuração de servidores na nuvem, visando a melhorar a eficiência e a consistência dos ambientes de computação. Ao configurar seus playbooks no Ansible, ele se deparou com um desafio relacionado à melhor prática para garantir que os scripts sejam idempotentes e reutilizáveis em diferentes ambientes de nuvem.A melhor prática a ser adotada pelo analista Micael é:
  1. Autilizar comandos shell e scripts personalizados dentro dos playbooks para instalação de pacotes e serviços;
  2. Butilizar hardcoding de senhas e chaves de API diretamente nos playbooks do Ansible;
  3. Cevitar o uso de variáveis e templates para configurar os serviços, optando por valores fixos nos playbooks;
  4. Dutilizar módulos específicos de provedores de nuvem para criar e gerenciar recursos, evitando a abstração;
  5. Eempregar roles e variáveis para modularizar os playbooks, facilitando a reutilização e a customização em diferentes ambientes.
Revelar gabarito e comentário

GabaritoE — empregar roles e variáveis para modularizar os playbooks, facilitando a reutilização e a customização em diferentes ambientes.

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

Ansible – Melhores práticas para idempotência e reutilização

Gabarito: letra E. A melhor prática em Ansible para garantir scripts idempotentes e reutilizáveis em diferentes ambientes de nuvem é empregar roles e variáveis para modularizar os playbooks, conforme descrito na alternativa E. Isso permite separar a lógica da configuração dos dados, facilitando a customização sem alterar o código principal.

A banca testa o conhecimento de boas práticas de automação com Ansible, especialmente os conceitos de idempotência (executar o mesmo playbook múltiplas vezes sem efeitos colaterais) e reutilização (usar o mesmo código em diferentes contextos).

Alternativa A — ❌ Incorreta

Utilizar comandos shell e scripts personalizados dentro dos playbooks quebra a idempotência, pois comandos shell podem não verificar o estado atual e executar ações desnecessárias. O Ansible oferece módulos específicos (como package, copy, template) que são idempotentes e devem ser preferidos.

Alternativa B — ❌ Incorreta

Hardcoding de senhas e chaves de API diretamente nos playbooks é uma péssima prática de segurança. O correto é usar Ansible Vault ou variáveis de ambiente para gerenciar segredos, separando dados sensíveis do código.

Alternativa C — ❌ Incorreta

Evitar variáveis e templates e usar valores fixos dificulta a reutilização e a customização para diferentes ambientes (desenvolvimento, teste, produção). O uso de variáveis e templates (Jinja2) é essencial para tornar os playbooks flexíveis.

Alternativa D — ❌ Incorreta

Afirma que se deve evitar a abstração e usar módulos específicos de provedores de nuvem. Na verdade, a abstração é desejável: usa-se módulos genéricos (como ec2 para AWS, azure_rm para Azure) que encapsulam as particularidades, e a lógica é mantida em roles que podem ser aplicadas a diferentes provedores com variáveis adequadas. Evitar abstração prende a automação a um único provedor.

Alternativa E — ✅ Correta ⟵ GABARITO

Empregar roles e variáveis é a prática recomendada. Roles organizam tarefas, handlers, templates e arquivos em diretórios padronizados, permitindo reutilização entre projetos. Variáveis e group_vars/host_vars separam os dados específicos do ambiente da lógica do playbook. Isso garante idempotência (módulos e verificação de estado) e reutilização (mudam-se apenas as variáveis).

PEGA ESSA DICA!

Para garantir idempotência no Ansible, prefira sempre módulos a comandos shell, utilize state=present/absent e estruture o projeto com roles e variáveis. A idempotência é a capacidade de executar o mesmo playbook várias vezes sem causar mudanças não intencionais — é um dos pilares da automação.

Gabarito: letra E

Link permanente: /questoes/fg077458