Infraestrutura como Código
Administradores de sistemas vivem utilizando scripts e ferramentas para a realização de rotinas e tarefas de infra, para o gerenciamento de ambientes por décadas. Mas a nova geração de infraestrutura focada em automação, hoje se torna fundamental para que o modelo vivido por décadas apresente, atualmente, um contexto totalmente focado em agilidade, entrega rápida e continua de infraestrutura. Virtualização e Cloud Computing estabelecem as bases para a infraestrutura como código, desvinculando a infraestrutura cheia de conceitos antigos, dando uma nova vida ao gerenciamento de dados computacionais, armazenamento, recursos de rede e até de hardware.
Isto tem várias vantagens:
Aplicativos que não usam muitos recursos pode compartilhar hardware com outros recursos de forma ágil;
As cargas de uso podem ser deslocadas através de um pool de hardware para utilização de forma mais eficiente;
Os recursos de computação podem ser provisionados rapidamente e facilmente, desde que haja capacidade em algum lugar da infraestrutura.
Desafios e Princípios
Os recursos de computação podem ser alocados e provisionados, liberando programaticamente recursos, usando scripts ou softwares;
Os recursos podem ser alocados por demanda pelos usuários que precisam deles, no estilo self-service;
Os custos de recursos de computação podem ser distribuídos por grupos maiores de usuários, seja dentro de uma organização, entre as organizações relacionadas, ou mesmo com o público;
Então, virtualização e cloud têm o potencial de tornar os recursos de hardware mais diretamente disponíveis e sensíveis às necessidades das pessoas que estão usando mais diretamente estes recursos. Isso nos leva a pensar em quais conjuntos de ferramentas e tecnologia podem nos ajudar a gerenciar recursos de computação de forma dinâmica.
As ferramentas automatizadas de gerenciamento de configuração são outra categoria de ferramentas que têm se tornar mainstream ao longo da última década. A nova geração de ferramentas de automação de infra, tem como a pioneira CFengine, que popularizou o conceito, e em seguida surge uma nova geração de soluções, como Puppet, Chef, Ansible, Saltstack, que trazem uma sensibilidade totalmente focada em desenvolvimento de software para gestão de infraestrutura, recursos de computação e gestão da forma como são atribuídas configurações.
O que é infraestrutura como código?
Infraestrutura como código é uma abordagem para o uso de tecnologias da era do cloud e virtualização em datacenters de forma a construir uma infraestrutura dinâmica. Trata-se da infraestrutura, ferramentas e serviços que podem gerenciar a própria infraestrutura, como um sistema de software, são conceitos de engenharia de software, que adaptam práticas para gerenciar mudanças nos sistemas de uma forma estruturada, segura. Isto resulta numa infraestrutura com funcionalidades bem testadas para gerenciar tarefas operacionais e rotineiras, isso resulta em equipe que tem processos claros e confiáveis para fazer alterações em uma infra computacional.
Infraestrutura dinâmica
Os componentes de uma infraestrutura dinâmica mudam continuamente e automaticamente. Servidores podem aparecer ou desaparecer para que a capacidade de carga seja controlada, para que haja recuperação de falhas, ou para habilitar serviços. Estas alterações podem ser desencadeadas por seres humanos, por exemplo, mas imagine um sistema com capacidades de aplicar alterações em resposta a eventos como uma falha de hardware ou falha de serviço, permitindo assim que o processo de criação, configuração, e destruição dos elementos de infraestrutura aconteça sem que uma pessoa esteja de fato evolvida em todo processo, minimizando assim falhas humanas, e permitindo que empresas possam alocar pequenas equipes de administradores de sistemas e/ou analistas de suporte para o gerenciamento de infraestruturas gigantes, contendo milhares de servidores e reduzindo custos em tempos de crises econômicas.
Infraestrutura como código será de fato a coluna base da próxima fase da TI mundial, no futuro próximo teremos uma TI bimodal, será comum ver grupos de SysAdmins/SysOps/Support Analyst trabalhando com APIs de provedores IaaS e usando JSON Infrastructure Markup Language (JIML), ou até mesmo escrevendo suas APIs para manipulação de servidores em datacenters de forma extremamente ágil . Então, tenho em mente que qualquer empresa que possa começar a tratar sua infra-estrutura como código, abre-se a grandes melhorias em processos de plano de capacidade automatizados, ciclos deploy de aplicações extremamente rápidos e construção de servidores em ambiente virtualizado ou em nuvem a partir de código.


















