Ciência e Dados
Menu
  • Home
  • Sobre
  • Contato
Menu
O Que e Infraestrutura como Codigo

O Que é Infraestrutura como Código (IaC)?

Posted on 15 de novembro de 202215 de novembro de 2022 by David Matos

Infraestrutura como código (IaC) é o gerenciamento e provisionamento de infraestrutura por meio de código em vez de processos manuais. E vem crescendo em popularidade.

Com IaC são criados arquivos de configuração que contêm as especificações de infraestrutura, o que facilita a edição e distribuição das configurações. IaC também garante que sempre o mesmo ambiente seja provisionado.

Ao codificar e documentar as especificações de configuração, IaC auxilia no gerenciamento de configuração e ajuda a evitar alterações de configuração não documentadas e ad-hoc.

O controle de versão é uma parte importante em IaC e os arquivos de configuração devem estar sob controle de versionamento como qualquer outro arquivo de código-fonte de software. A implantação da infraestrutura como código também significa que você pode dividir sua infraestrutura em componentes modulares que podem ser combinados de diferentes maneiras por meio de automação.

Automatizar o provisionamento de infraestrutura com IaC significa que os desenvolvedores não precisam provisionar e gerenciar manualmente servidores, sistemas operacionais, armazenamento e outros componentes de infraestrutura sempre que desenvolverem ou implantarem um aplicativo. A codificação da infraestrutura fornece um modelo a ser seguido para provisionamento e, embora isso ainda possa ser feito manualmente, uma ferramenta de automação pode tornar o trabalho mais simples e rápido.

IaC Declarativa versus IaC Imperativas

Existem 2 maneiras de abordar a IaC: declarativa ou imperativa.

Uma abordagem declarativa define o estado desejado do sistema, incluindo quais recursos você precisa e quaisquer propriedades que eles devem ter. Uma abordagem declarativa também mantém uma lista do estado atual dos objetos do sistema, o que torna a desativação da infraestrutura mais simples de gerenciar.

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

Muitas ferramentas de IaC usam uma abordagem declarativa e provisionam automaticamente a infraestrutura desejada. Se você fizer alterações no estado desejado, uma ferramenta IaC declarativa aplicará essas alterações para você. Uma ferramenta imperativa exigirá que você descubra como essas alterações devem ser aplicadas.

As ferramentas de IaC geralmente são capazes de operar em ambas as abordagens, mas tendem a preferir uma abordagem à outra.

Benefícios da IAC

A infraestrutura de provisionamento tem sido historicamente um processo manual demorado e caro. Agora, o gerenciamento de infraestrutura mudou do hardware físico em data centers, embora isso ainda possa ser um componente para sua organização, para virtualização, contêineres e computação em nuvem.

Com a computação em nuvem, o número de componentes de infraestrutura cresceu, mais aplicativos estão sendo lançados em produção diariamente e a infraestrutura precisa ser ativada, dimensionada e desativada com frequência. Sem uma prática de IaC, fica cada vez mais difícil gerenciar a escala da infraestrutura atual.

IaC pode ajudar uma empresa a gerenciar as necessidades de infraestrutura de TI, ao mesmo tempo em que melhora a consistência e reduz os erros e a configuração manual. Principais benefícios:

  • Redução de custos
  • Aumento na velocidade de implantações
  • Redução de erros
  • Melhora na consistência da infraestrutura
  • Redução (ou mesmo eliminação) do desvio de configuração

Ferramentas IaC

As ferramentas de gerenciamento de configuração e automação geralmente podem ser usadas para IaC. Existem também soluções específicas para IaC. Estas são algumas escolhas populares:

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

Por Que IaC é Importante em DevOps?

IaC é uma parte importante da implementação de práticas de DevOps, MLOps, DataOps e integração contínua/entrega contínua (CI/CD). IaC reduz a maior parte do trabalho de provisionamento pois permite executar um script e ter a infraestrutura pronta para funcionar.

Dessa forma, as implantações de aplicativos não ficam esperando pela infraestrutura e os administradores de sistema não estão gerenciando processos manuais demorados.

CI/CD depende de automação contínua e monitoramento contínuo em todo o ciclo de vida do aplicativo, desde a integração e teste até a entrega e implantação.

Para que um ambiente seja automatizado, ele precisa ser consistente. A automação de implantações de aplicativos não funciona quando a equipe de desenvolvimento implanta aplicativos ou configura ambientes de uma maneira e as equipes de operações implantam e configuram de outra maneira.

Alinhar as equipes de desenvolvimento e operações por meio de uma abordagem DevOps leva a menos erros, implantações manuais e inconsistências. E esse tem sido um movimento cada vez mais frequente em MLOps e DataOps, embora ainda esteja bem no começo.

IaC ajuda a alinhar o desenvolvimento e as operações porque ambas as equipes podem usar a mesma descrição da implantação do aplicativo, dando suporte a uma abordagem DevOps.

O mesmo processo de implantação deve ser usado para todos os ambientes, incluindo o ambiente de produção. IaC gera o mesmo ambiente toda vez que é usado.

IaC 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 que o ambiente de produção seja consistente.

As melhores práticas de DevOps também são aplicadas à infraestrutura em IaC. A infraestrutura pode passar pelo mesmo pipeline de CI/CD que um aplicativo faz durante o desenvolvimento de software, aplicando o mesmo teste e controle de versão ao código de infraestrutura.

David Matos

Referências:

Link 1 – What is Infrastructure as Code (IaC)?

Link 2 – What is infrastructure as code (IaC)?

Link 3 – What is infrastructure as code (IaC)?

Compartilhar

  • Clique para compartilhar no Twitter(abre em nova janela)
  • Clique para compartilhar no Facebook(abre em nova janela)
  • Clique para compartilhar no LinkedIn(abre em nova janela)
  • Clique para compartilhar no WhatsApp(abre em nova janela)
  • Clique para compartilhar no Telegram(abre em nova janela)
  • Clique para compartilhar no Tumblr(abre em nova janela)
  • Clique para compartilhar no Pinterest(abre em nova janela)

Relacionado

Deixe um comentário Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Buscar

Twitter

Meus Tuítes

Tags Mais Comuns nos Posts

Anaconda Analytics Análise de Negócios Apache Spark AWS Big Data Blockchain Business Intelligence ChatGPT Chief Data Officer Cientista de Dados Cientistas de Dados Ciência de Dados Cloud Computing Data Lake Data Mesh Data Science Data Scientist Data Warehouse Deep Learning Deploy Descriptive Analytics Diagnostic Analytics Engenharia de Dados Engenheiro de Dados Estatística GPU Hadoop Inteligência Artificial Internet of Things Linguagem Python Linguagem R Machine Learning MapReduce Metadados NoSQL NVIDIA Open Data Oracle Predictive Analytics Prescriptive Analytics Probabilidade Python Salários Data Science Visualização

Histórico de Posts

  • março 2023 (3)
  • fevereiro 2023 (3)
  • janeiro 2023 (5)
  • dezembro 2022 (8)
  • novembro 2022 (7)
  • outubro 2022 (2)
  • setembro 2022 (3)
  • agosto 2022 (2)
  • julho 2022 (2)
  • junho 2022 (3)
  • maio 2022 (1)
  • abril 2022 (3)
  • março 2022 (1)
  • fevereiro 2022 (3)
  • janeiro 2022 (2)
  • dezembro 2021 (1)
  • novembro 2021 (5)
  • outubro 2021 (2)
  • setembro 2021 (3)
  • agosto 2021 (1)
  • junho 2021 (1)
  • fevereiro 2021 (2)
  • janeiro 2021 (1)
  • dezembro 2020 (1)
  • novembro 2020 (1)
  • outubro 2020 (2)
  • agosto 2020 (1)
  • abril 2020 (1)
  • março 2020 (1)
  • fevereiro 2020 (2)
  • agosto 2019 (1)
  • abril 2019 (1)
  • setembro 2018 (2)
  • julho 2018 (1)
  • junho 2018 (3)
  • abril 2018 (1)
  • março 2018 (1)
  • fevereiro 2018 (2)
  • janeiro 2018 (1)
  • dezembro 2017 (1)
  • novembro 2017 (1)
  • outubro 2017 (1)
  • setembro 2017 (1)
  • julho 2017 (1)
  • junho 2017 (1)
  • maio 2017 (2)
  • abril 2017 (1)
  • janeiro 2017 (1)
  • novembro 2016 (1)
  • outubro 2016 (1)
  • setembro 2016 (1)
  • julho 2016 (1)
  • junho 2016 (1)
  • maio 2016 (1)
  • abril 2016 (1)
  • fevereiro 2016 (1)
  • janeiro 2016 (3)
  • dezembro 2015 (4)
  • novembro 2015 (6)
  • outubro 2015 (9)
  • setembro 2015 (9)
  • agosto 2015 (9)
©2022 Ciência e Dados