Alguns definem que infra as code é a capacidade de gerenciar as configurações de forma automatizada. Certamente, essa definição é simplista demais.

Vamos pensar como um experiente engenheiro de operações que, em sua carreira, desenvolveu um conjunto de ferramentas de scripts para realizar tarefas regulares de provisionamento e gerenciamento da infraestrutura de todos os ambientes com os quais trabalhou ao longo dos anos.

Tratando-se de configurações, ele conhece todos os consoles de administração como a palma de sua mão, sendo capaz de se conectar, fazer ajustes para configurar um servidor de aplicativos e resolver problemas; e, para o banco de dados, ele sabe exatamente a quem recorrer, sabe quando o próximo lançamento de aplicativo é oportuno e sabe quando executar a próxima atualização. É o verdadeiro mestre de seu ambiente.

Atualmente, para as organizações classificadas como ágeis, o tempo médio de entrega de soluções e mudanças para a produção, a partir de uma nova requisição, deve ser o menor possível. Assim, a necessidade de agilidade se dá, por exemplo, do instante em que uma solicitação de mudança e/ou um erro que precisa ser corrigido através de um patch forem identificados até o instante em que são entregues para a produção.

A necessidade de que o engenheiro de operações libere em menos tempo novos recursos e correções para os clientes tem sido cada dia maior – se possível, até mesmo em minutos. Hoje, é impensável imaginar prazos que cheguem a semanas ou meses.

Também há a necessidade de se manterem várias configurações e níveis de correções de ambientes sob demanda – que agora são necessários ao desenvolvimento. Isso requer que a operação altere a forma como lida com a mudança e como mantém os ambientes.

Qualquer mudança em um ambiente, seja a aplicação de um patch, seja fazer uma alteração de configuração, deve ser vista como a criação de uma nova “versão” do meio ambiente, não apenas como “ajuste em uma configuração”.

A maneira como isso deve ser gerido é por meio da aplicação de todas as alterações através de scripts. Esses scripts, quando executados, criarão uma nova versão do ambiente. Este processo agiliza e simplifica o gerenciamento de mudança e permiti-lhe escalar, mantendo a operação com as melhores práticas ITIL.

A solução para abordar as duas necessidades seria, então, minimizar o tempo de ciclo e versionamento dos ambientes, executando-os através da captura e gerenciamento da infraestrutura como código. Assim, quando se cria um novo ambiente virtual ou uma nova versão do ambiente, é questão somente de executar um script que pode gerar e fornecer uma imagem ou conjunto de imagens. Este procedimento fará com que o trabalho – antes feito em algumas horas – seja realizado em apenas alguns minutos e, o mais importante, com um alto nível de qualidade.