Ciência e Dados
Menu
  • Home
  • Sobre
  • Contato
Menu
Terraform Para Automacao em Projetos de Engenharia de Dados

Terraform Para Automação em Projetos de Engenharia de Dados

Posted on 21 de novembro de 202221 de novembro de 2022 by David Matos

Há muito tempo atrás, em um datacenter muito, muito distante, um antigo grupo de seres poderosos conhecidos como “sysadmins” costumava implantar a infraestrutura manualmente.

Cada servidor, cada banco de dados, cada balanceador de carga e cada bit de configuração de rede era criado e gerenciado manualmente. Foi uma era sombria e assustadora: medo do tempo de inatividade, medo de configuração incorreta acidental, medo de implantações lentas e frágeis e medo do que aconteceria se os administradores de sistema caíssem no lado negro (ou seja, tirassem férias).

A boa notícia é que, graças ao movimento DevOps, agora existe uma maneira melhor de fazer as coisas: Terraform.

Se você é Engenheiro de Dados que trabalha com provedores de Cloud Computing, provavelmente já passou pela situação de ter construir a infraestrutura do seu projeto e ter dificuldade em criar tudo no seu provedor de nuvem e manter as mesmas versões em todos os lugares. Infrastructure as Code (IaC) é a prática de automatizar a criação e manutenção de infraestrutura (arquivos, buckets, bancos de dados…) em seu ecossistema por meio de código.

Terraform é uma ferramenta de código aberto criada pela HashiCorp que permite definir a infraestrutura como código usando uma linguagem simples e declarativa e implantar e gerenciar essa infraestrutura em uma variedade de provedores de nuvem pública (por exemplo, Amazon Web Services [AWS], Microsoft Azure , Google Cloud Platform, DigitalOcean) e plataformas de nuvem privada e virtualização (por exemplo, OpenStack, VMware) usando alguns comandos.

Por exemplo, em vez de clicar manualmente em uma página web de configuração de um serviço em nuvem ou executar dezenas de comandos, aqui está todo o código necessário para configurar um servidor na AWS:

provider “aws” {
region = “us-east-2”
}

resource “aws_instance” “exemplo” {
ami = “ami-9jk825ca2d3203ac1”
instance_type = “t2.micro”
}

E então fazer o deploy com esses 2 comandos:

terraform init

terraform apply

Graças à sua simplicidade e poder, o Terraform emergiu como um participante importante no mundo do DevOps. Ele permite que você substitua as partes tediosas, frágeis e manuais do gerenciamento de infraestrutura por uma base sólida e automatizada sobre a qual você pode construir todas as suas outras práticas de DevOps (por exemplo, teste automatizado, Integração Contínua, Entrega Contínua) e ferramentas (por exemplo, Docker , Chef, Puppet).

Se você está procurando uma ferramenta que possa ajudá-lo a construir, alterar e também controlar a versão da infraestrutura, não há plataforma melhor do que o Terraform. Na Engenharia de Dados o Terraform pode ajudar a reduzir o tempo de implantação da infraestrutura, reduzir erros de configuração e, consequentemente, aumentar a eficiência.

Esta é uma ferramenta independente de plataforma que é muito segura e eficiente, sendo uma das melhores ferramentas de código aberto e foi desenvolvida como uma multinuvem da Hashicorp e como uma solução de infraestrutura como código que usa a linguagem de configuração declarativa da Hashicorp. Uma das principais características dessa ferramenta é que ela ajuda no gerenciamento de vários provedores de serviços conhecidos, incluindo AWS, Azure e GCP, e isso também é ótimo para usar com as soluções domésticas.

Uma das principais características dessa ferramenta é que ela pode gerenciar provedores de serviços de nuvem convencionais, bem como soluções internas exclusivas. Além disso, pode ser usado para gerenciar os recursos externos usados para as colaborações com os provedores. Esses recursos incluem infraestrutura de nuvem pública, infraestrutura de nuvem privada, software como serviço, dispositivos de rede e plataformas.

Termos Importantes do Terraform

Veja abaixo alguns termos frequentemente usados ​​no Terraform.

Provedores: Os provedores do Terraform são responsáveis ​​por desenvolver e gerenciar os recursos que estão presentes na infraestrutura. O Terraform é construído na arquitetura plug-in e o binário do provedor pode ser baixado e instalado usando o comando “init”. Os vários exemplos de provedores são AWS, Azure, GCP e Kubernetes, etc.

Recursos: Conhecidos como as pequenas peças de construção que são usadas em uma ou mais infraestruturas, são componentes como uma máquina virtual, uma sub-rede ou o balanceador de carga. Ele deve ser exclusivo porque o servidor de nome e tipo de recurso é uma das identificações do recurso específico.

Módulos: Se você deseja organizar o código de configuração e torná-lo reutilizável, ir para os módulos é a melhor maneira. Eles são usados ​​como recipientes no Terraform e contêm muitos recursos. Você pode encontrar vários módulos no repositório do Terraform ou pode escrever o seu próprio. Um módulo conhecido como módulo Root estará presente em todas as configurações do Terraform.

Variáveis ​​de Entrada: São as variáveis ​​que servem para definir os valores de configuração da infraestrutura. Esses valores podem ser usados ​​com frequência sem chamá-los em todas as instâncias. Eles podem ser facilmente modificados sem recall.

Variáveis ​​de Saída: Uma vez que a infraestrutura está sendo implantada, o uso de variáveis ​​de saída pode ser útil, pois isso pode ajudar na obtenção de informações sobre a implantação e a infraestrutura. Informações como endereços IP podem ser fornecidas ao servidor.

Terraform Remote: Você pode executar o Terraform em um ambiente remoto com acesso compartilhado ao estado para compartilhar a responsabilidade da infraestrutura. O back-end remoto é o nome desse recurso e pode ser usado com frequência no Terraform.

O Terraform pode ser totalmente operado via API, CLI e UI, o que permite que as organizações o integrem facilmente a seus pipelines de CI/CD existentes, interfaces de gerenciamento de serviços de TI e processos do sistema de controle de versão. Esse nível de integração com os fluxos de trabalho existentes minimiza as alterações de processo, agiliza o processo de instalação e execução e garante consistência em todo o processo.

Conheça mais sobre o Terraform no site oficial: www.terraform.io

Se quiser aprender sobre o Terraform na prática, recomendo este treinamento em português:

Infraestrutura Como Código com Terraform, AWS, Azure e Databricks

David Matos

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