Infraestrutura como código (IaC)

Copiar URL

Infraestrutura como código (IaC) refere-se ao gerenciamento e provisionamento das infraestruturas de TI por meio de códigos, em vez de processos manuais. A sigla IaC vem do termo em inglês, "Infrastructure as Code".

Nesta abordagem, arquivos de configuração que incluem as especificações da infraestrutura são criados, facilitando a edição e a distribuição das suas configurações. A infraestrutura como código também assegura o provisionamento do mesmo ambiente, sempre. Ao codificar e documentar as especificações de configuração, a IaC auxilia no gerenciamento de configuração e ajuda a evitar alterações de configuração ad-hoc não documentadas.

O controle de versão é uma parte importante da IaC. Os arquivos de configuração devem pertencer à fonte como qualquer outro código-fonte de software. Ao implantar a infraestrutura como código, também é possível separá-la em módulos, que podem ser combinados de diferentes maneiras por meio da automação.

Com a automação do provisionamento da infraestrutura por meio da IaC, os desenvolvedores não precisam provisionar e gerenciar manualmente servidores, sistemas operacionais, armazenamento e outros componentes de infraestrutura sempre que criam ou implantam uma aplicação.

The Source TV: Automação (em português)

A codificação da infraestrutura oferece um template de provisionamento para você seguir. Ainda que esse processo possa ser feito manualmente, há ferramentas de automação, como o Red Hat® Ansible® Automation Platform, capazes de cuidar disso para você. 

Como automatizar os fluxos de trabalho da infraestrutura 

Há dois tipos de abordagem para IaC: declarativa e imperativa. 

A abordagem declarativa define o estado desejado do sistema, incluindo os recursos necessários, as propriedades que eles precisam ter e uma ferramenta de IaC para configurá-lo. 

Essa abordagem também mantém uma lista do estado atual dos objetos do seu sistema, simplificando o gerenciamento da desativação da infraestrutura.

Por outro lado, a abordagem imperativa define os comandos específicos necessários para alcançar a configuração desejada. Depois, esses comandos precisam ser executados na ordem correta. 

Muitas das ferramentas de IaC que usam uma abordagem declarativa provisionam automaticamente a infraestrutura desejada. Se você alterar o estado desejado, uma ferramenta de IaC declarativa aplicará as alterações para você. Uma ferramenta imperativa exige que você saiba como as alterações deverão ser aplicadas.

As ferramentas de IaC, geralmente, funcionam nas duas abordagens, mas costumam preferir uma delas.

Infraestrutura como código (IaC): veja o guia completo

Recursos da Red Hat

O provisionamento de infraestrutura sempre foi um processo manual, caro e demorado. Agora, o gerenciamento de infraestrutura migrou do hardware físico em datacenters (mesmo eles ainda sendo um componente da sua organização) para virtualizaçãocontainers e cloud computing

Com a cloud computing, o número de componentes de infraestrutura aumentou, mais aplicações são colocadas em produção diariamente e as infraestruturas precisam ser flexíveis para as frequentes alterações, aumento de escala e desativações. Hoje em dia, sem a implementação de uma prática de IaC, fica cada vez mais difícil gerenciar a escalada da infraestrutura.

A IaC pode ajudar sua organização a gerenciar as necessidades de infraestrutura de TI, melhorando a consistência e reduzindo erros e a necessidade de configuração manual.

Benefícios:

  • Redução de custos
  • Aumento na velocidade das implantações
  • Redução de erros 
  • Melhoria na consistência da infraestrutura
  • Eliminação de desvios de configuração

Estratégia de IaC para operações do Dia 2

Ao expandirem a estratégia de infraestrutura como código (IaC), as organizações começam a adotar essas práticas para automatizar os processos de TI em cada etapa do ciclo de vida operacional. Da mesma forma como a IaC padroniza a criação, o provisionamento e a implantação da infraestrutura, as equipes de TI podem adotar a operação como código (OaC) para programar o gerenciamento e a manutenção de sistemas após a implantação. Você pode ir além nessa abordagem, adotando a política como código (PaC) para automatizar os processos de conformidade, risco e governança das aplicações e soluções.

Com a experiência adquirida com a automação da infraestrutura como código, as equipes de TI podem aplicar os mesmos métodos e ferramentas para adotar uma abordagem mais eficiente e adaptável por todo o ciclo de desenvolvimento.

Veja como adotar a automação como código

As ferramentas de gerenciamento de configuração e automação do servidor em geral podem ser usadas para alcançar a IaC. Há também soluções específicas para IaC. 

Estas são algumas escolhas bastante conhecidas:

  • Chef
  • Puppet
  • Red Hat Ansible Automation Platform
  • Saltstack
  • Terraform 
  • AWS CloudFormation

O Ansible Automation Platform pode ser usado para provisionar sistemas operacionais e dispositivos de rede, implantar aplicações e gerenciar configurações.

Introdução ao Ansible

A abordagem de infraestrutura como código é uma parte importante da implementação de práticas de DevOps e de integração e entrega contínuas (CI/CD). Ela elimina a maioria do trabalho de provisionamento realizado pelos desenvolvedores. Assim, eles podem executar um script para preparar a infraestrutura.  

Dessa forma, as implantações de aplicações não ficam aguardando pela infraestrutura e os administradores do sistema não gerenciam processos manuais demorados. 

A prática de CI/CD conta com monitoramento e automação contínuos durante o ciclo de vida da aplicação, desde a integração e o teste até a entrega e a implantação. 

Para automatizar o ambiente, é necessário ter consistência. A automação de implantações de aplicações não funciona quando as equipes de desenvolvimento e de operações implantam aplicações ou configuram ambientes de maneira diferente.

O alinhamento das equipes de desenvolvimento e de operações usando uma abordagem de DevOps gera menos erros, implantações manuais e inconsistências. 

A infraestrutura como código ajuda a alinhar as equipes de desenvolvimento e de operações porque ambas podem usar a mesma descrição da implantação de aplicações, compatível com a abordagem de DevOps.

É necessário usar o mesmo processo de implantação em todos os ambientes, incluindo o de produção. A infraestrutura como código gera o mesmo toda vez que é usada.

Ela também elimina a necessidade de manter ambientes de implantação individuais com configurações exclusivas que não podem ser reproduzidas automaticamente e garante a consistência do ambiente de produção.

As práticas recomendadas de DevOps também são aplicadas à infraestrutura na IaC. A infraestrutura pode passar pelo mesmo pipeline de CI/CD usado pelas aplicações durante o desenvolvimento de software, ou seja, aplicando os mesmos testes e controle de versão ao código da infraestrutura.

Ao adotar essa abordagem em toda a empresa, você automatiza não apenas os processos de TI, mas também tecnologias, equipes e organizações. 

O Red Hat® Ansible® Automation Platform oferece todas as ferramentas necessárias para implementar a automação em toda a empresa, incluindo playbooks, solução orientada a eventos, um painel gráfico e análises de dados. O Ansible Automation Platform também usa webhooks para automatizar fluxos de trabalho de IaC e oferecer práticas GitOps.

Por que expandir a automação por toda a empresa?

Os Ansible playbooks são escritos em YAML e descrevem o estado desejado dos sistemas, geralmente mantidos no controle de origem. O Ansible Automation Platform coloca seus sistemas no estado desejado, seja qual for o estado atual deles. 

Com o Ansible Automation Platform, suas instalações, upgrades e tarefas diárias de gerenciamento se tornam reproduzíveis e confiáveis.

Com a solução de automação adequada, você pode acelerar a implantação de novas aplicações e serviços, gerenciar a infraestrutura de TI com mais eficiência e aumentar a produtividade do desenvolvimento de aplicações.

Experimente o Red Hat Ansible Automation Platform

 

Icon-Red_Hat-Media_and_documents-Quotemark_Open-B-Red-RGB Os recursos integrados do Red Hat Ansible Automation Platform oferecem um acelerador pronto para uso. Ele é o padrão que muitos de nossos fornecedores e parceiros também utilizam para escrever scripts para instalar, configurar e manter suas tecnologias.

 

Jesse Amerson

Diretor de TI, Ulta Beauty

Leia o caso de sucesso da Ulta Beauty

Hub

Blog da Red Hat

Tudo relacionado à Red Hat: soluções, treinamentos e certificações Red Hat, casos de sucesso de clientes, novidades dos nossos parceiros e notícias sobre projetos das comunidades open source.

Teste as soluções da Red Hat

Você sabia que a Red Hat oferece versões de teste gratuitas de suas soluções? Aproveite e obtenha experiência prática, prepare-se para uma certificação da Red Hat ou avalie na prática se a solução é adequada para ao caso de uso.

Leia mais

Por que escolher o Red Hat Ansible Automation Platform como sua base para IA?

O Red Hat® Ansible® Automation Platform estabelece uma base sólida para implementações de IA, simplificando a implantação, o gerenciamento, a configuração e o ciclo de vida de modelos de IA e componentes da infraestrutura.

Como criar uma estratégia de automação de TI

Isolada, a automação tem alcance limitado. Para ampliar a automação a todas as áreas das suas operações de TI, você precisa de uma estratégia que integre equipes, processos e fluxos de trabalho desconectados.

O que é controle de acesso?

O controle de acesso é uma técnica de autorização de segurança que determina os recursos específicos que um usuário ou sistema pode visualizar e utilizar em uma infraestrutura de TI.

Automação e gerenciamento: leitura recomendada

Produto em destaque

Artigos relacionados