Como forma de evitar erros em processos manuais, o Ministério Público da União (MPU) está implementando o gerenciamento e provisionamento da infraestrutura por meio de códigos. A equipe de implementação está utilizando dois tipos de abordagens. A primeira abordagem mantém uma lista do estado atual dos objetos do seu sistema, simplificando o gerenciamento da desativação da infraestrutura. Em outra parte do ambiente, serão definidos comandos específicos necessários para obter a configuração desejada, de forma que, após esse processo, os comandos devam ser executados na ordem correta. Em seu relatório final, a equipe de implementação fez uso das abordagens, respectivamente:
- A)imperativa - declarativa;
Errada, porque inverte as abordagens: a descrição do estado atual e do estado desejado aponta para declarativa, não imperativa.
- B)declarativa - imperativa;
Certa, pois a primeira descrição é declarativa e a segunda exige comandos em ordem, o que é imperativo.
- C)declarativa - subjetiva;
Errada, porque 'subjetiva' nao é classificação usada em gerenciamento de configuração e não corresponde ao contexto.
- D)subjetiva - imperativa;
Errada, porque 'subjetiva' nao se aplica ao tema e a segunda parte descreve abordagem imperativa, nao subjetiva.
- E)preditiva - declarativa.
Errada, porque 'preditiva' nao é a classificação adequada aqui; o contraste correto é entre declarar o estado e executar comandos passo a passo.
Gabarito: B
Em Gerência de Configuração, especialmente quando se fala em infraestrutura como código, as abordagens mais cobradas são a declarativa e a imperativa. Na declarativa, voce descreve o estado desejado do sistema, isto é, como tudo deve ficar no final, e a ferramenta se encarrega de descobrir o caminho. Por isso ela costuma facilitar o gerenciamento da desativação e da reconciliação do ambiente, porque o foco fica no estado final e não nos passos. Na abordagem imperativa, o centro da atenção sao os comandos e a ordem em que eles devem ser executados. Voce diz exatamente o que fazer, passo a passo, para chegar à configuração desejada. Se a sequência mudar, o resultado pode mudar também, então a dependência da ordem é maior. No enunciado, a primeira abordagem é a que mantém uma lista do estado atual dos objetos do sistema e simplifica a desativação da infraestrutura. Isso caracteriza a abordagem declarativa, pois ela trabalha com a descrição do estado final e com a comparação entre o estado atual e o desejado. A segunda abordagem fala em comandos específicos que precisam ser executados na ordem correta, o que é típico da abordagem imperativa. Por isso o gabarito é B: declarativa - imperativa. Essa diferença é muito cobrada em automação, provisionamento e infraestrutura como código, em que a declarativa é associada à intenção/estado final e a imperativa ao roteiro de execução.