Ao escolher uma solução IaC, também é importante entender a diferença entre uma abordagem declarativa ou imperativa para automação de infraestrutura.
Na maioria organizações, a abordagem declarativa , conhecida como a abordagem funcional é a ideal. Na abordagem declarativa, você especifica o estado final desejado da infraestrutura que desejar provisionar e o software de IaC cuida do resto, gerando a máquina virtual (VM) ou o contêiner, instalando e configurando o software necessário, resolvendo as interdependências entre sistema e software e gerenciando as versões. A principal desvantagem da abordagem declarativa é que normalmente ela requer um administrador qualificado para fazer a configuração e o gerenciamento; geralmente, esses administradores se especializam em suas soluções preferidas.
Na abordagem imperativa , também conhecida como abordagem processual, a solução ajuda você a preparar scripts de automação que provisionam sua infraestrutura uma etapa específica por vez. Embora isso possa gerar mais trabalho de acordo com o ajuste de escala, pode ser mais fácil para equipe administrativa existente entender e utilizar os scripts configuração que já estão implementados.
A escolha de uma abordagem declarativa ou imperativa é análoga a usar um GPS ou seguir instruções passo a passo. Com um GPS, você digitar um endereço e o GPS faz o resto, calculando a rota mais rápida e evitando trânsito, mas você provavelmente precisaria de um especialista para entender por que o GPS fez aquelas escolhas. As instruções passo a passo são baseadas na experiência pessoal; o provedor conhece a rota e sabe por que a escolheu, mas se encontrar obstáculos ou desejar otimizar a rota, terá que pedir ajuda ou fazer o serviço ele mesmo.