Questão de Sistemas Operacionais — Cloud Computing — FGV 2024
Sistemas Operacionais›Cloud 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 é:
Autilizar comandos shell e scripts personalizados dentro dos playbooks para instalação de pacotes e serviços;
Butilizar hardcoding de senhas e chaves de API diretamente nos playbooks do Ansible;
Cevitar o uso de variáveis e templates para configurar os serviços, optando por valores fixos nos playbooks;
Dutilizar módulos específicos de provedores de nuvem para criar e gerenciar recursos, evitando a abstração;
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.