O que é infraestrutura como código
Infraestrutura como código, ou IaC, é a gestão de recursos de infraestrutura por definições que podem ser armazenadas, revisadas e executadas por ferramentas. Esses recursos podem incluir máquinas, redes e armazenamento, conforme a cobertura da solução usada.
Você registra como o ambiente deve ser preparado e mantém um histórico das alterações propostas. O arquivo permite revisar a mudança, mas a infraestrutura só é alterada quando um processo a aplica.
Descrição, planejamento e aplicação
Ferramentas declarativas, como o Terraform, trabalham com uma descrição desejada e propõem ações para aproximar os recursos gerenciados dessa configuração. Outras abordagens expressam sequências de procedimentos, portanto IaC não define uma única linguagem ou forma de execução.
No Terraform, o plano permite examinar ações propostas antes de aplicá-las. Uma alteração pequena no arquivo pode exigir substituir um recurso, então a leitura precisa considerar o efeito indicado pela ferramenta, além da quantidade de linhas modificadas.
O ambiente pode mudar fora dos arquivos
Uma alteração manual no painel pode deixar o recurso diferente da configuração registrada. Essa divergência, frequentemente chamada de drift, precisa ser analisada para entender se o arquivo deve incorporar a mudança ou se o ambiente deve voltar à configuração prevista.
A detecção depende do que a ferramenta gerencia e consegue consultar. Um plano sem ações não comprova o funcionamento da aplicação nem a ausência de diferenças em partes que ficaram fora dessa gestão.
Reproduzir depende também do destino
Os mesmos arquivos podem receber parâmetros diferentes para teste e produção. A criação de uma máquina, por exemplo, pode falhar por falta de quota no destino ou de permissão para usar a imagem especificada.
Confira também as dependências que não estão descritas, como um domínio já existente ou uma imagem mantida em outro serviço. Se elas desaparecem, a reprodução pode falhar mesmo com o histórico do repositório preservado.
Proteger configuração e estado
Ferramentas que mantêm um arquivo de estado usam esse registro para relacionar as definições aos recursos gerenciados. A configuração de uma máquina e a identificação da instância existente cumprem funções diferentes nessa associação. O estado pode conter informações sensíveis e precisa de armazenamento e acesso compatíveis com sua função.
Ocultar um valor na saída da ferramenta não significa que ele desapareceu dos arquivos persistidos. Separe o tratamento de segredos do versionamento da configuração e confira onde planos, estado e registros da execução são armazenados.
Conferir o ambiente após aplicar
Examine o resultado da aplicação e teste as conexões necessárias ao serviço. Uma execução pode concluir parte das alterações e falhar em outra, exigindo conferir o que já existe antes de repetir o procedimento.
O provisionamento explica a preparação desses recursos. Para investigar uma divergência entre configuração e ambiente com orientação ao vivo, o Desenvolvimento Colaborativo da Dev Side Studio pode apoiar uma tarefa delimitada de infraestrutura.
Dúvidas frequentes
Perguntas frequentes sobre Infraestrutura como código (IaC)
- Fazer commit da configuração no Git altera a infraestrutura?
- Não por si só. Uma ferramenta ou automação precisa aplicar a mudança usando acesso ao destino. O histórico do arquivo e o estado do ambiente podem divergir.
- Um plano sem alterações comprova que a aplicação funciona?
- Não. Ele compara o que a ferramenta conhece e gerencia. A aplicação, configurações fora desse escopo ou recursos ignorados podem continuar apresentando problemas.
- IaC é sempre declarativa?
- Não. Existem abordagens que descrevem o estado desejado e outras que expressam procedimentos. A definição e o comportamento dependem da ferramenta usada.
- Posso versionar senhas e o arquivo de estado junto do código?
- Segredos exigem tratamento próprio. Arquivos de estado e planos também podem conter informações sensíveis, mesmo quando a ferramenta oculta sua exibição na saída normal.
Para continuar
Recursos relacionados
Documentação
Terraform: infraestrutura como código
Descrição de recursos e aplicação por meio de provedores.
Abrir recursoDocumentação
Terraform: planejamento de alterações
Comparação do estado conhecido e ações propostas.
Abrir recursoDocumentação
Terraform: informações sensíveis
Proteção de valores na configuração, nos planos e no estado.
Abrir recursoAplicação na formação
Formação DevOps
Infraestrutura como código permite descrever e gerenciar recursos dos ambientes por arquivos versionáveis.
Conhecer a formação
Fontes consultadas
Referências deste verbete
Este verbete ajudou você?
Obrigado pela resposta. Ela fica salva apenas neste navegador.