Skip to content

About

Infraestrutura de código aberto como ferramenta de software de código que permite criar, alterar e melhorar a infraestrutura de forma segura e previsível.

Resources

Stars

1 star

Watchers

1 watching

Forks

Latest commit

 

History

44 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

🛠 Dev Terraform

Automatizando sua infraestrutura como código

Terraform AWS GCP Azure Kubernetes


📑 Índice


🔷 O que é Terraform?

Terraform é uma ferramenta open source criada pela HashiCorp para construir, alterar e versionar infraestrutura com segurança e eficiência através de código — o conceito de Infrastructure as Code (IaC).


✅ Principais Características

📦 Infraestrutura como Código (IaC)

Característica Descrição
Open source e declarativo Define o estado desejado, não os passos para chegar lá
Versionamento Evolução da infraestrutura com histórico e automação
Idempotência Aplicar o mesmo plano múltiplas vezes gera o mesmo resultado
Sintaxe high-level (HCL) Linguagem legível e altamente reutilizável
Paridade de ambiente Ambientes dev, staging e prod com a mesma configuração

📋 Plano de Execução

  • Segurança e previsibilidade — visualize as mudanças antes de aplicá-las
  • Separação de planejamento e aplicação — terraform plan → terraform apply

🌐 Suporte Híbrido e Multi-Cloud

  • Agnóstico — funciona com qualquer provedor de infraestrutura
  • Permite provisionar para múltiplos provedores simultaneamente

⚙️ Como o Terraform funciona?

O core do Terraform utiliza duas fontes de entrada:

┌─────────────────────────────────────────────────────┐
│                   TERRAFORM CORE                    │
│                                                     │
│  ┌──────────────────┐    ┌──────────────────────┐  │
│  │ Arquivos de      │    │  Estado Atual        │  │
│  │ Configuração     │    │  (terraform.tfstate) │  │
│  │ (estado desejado)│    │                      │  │
│  └────────┬─────────┘    └──────────┬───────────┘  │
│           └──────────┬──────────────┘              │
│                      ▼                              │
│              [ Plano de Execução ]                  │
│                      ▼                              │
│              [ Aplicar Mudanças ]                   │
└──────────────────────┬──────────────────────────────┘
                       │
              ┌────────┴────────┐
              ▼                 ▼
         Providers           Resources

Providers

Os provedores expõem recursos que possibilitam criar infraestrutura em diferentes plataformas:

Categoria Exemplos
IaaS AWS, GCP, Azure, OCI, VMware
PaaS Kubernetes, Heroku, Digital Ocean
SaaS New Relic, Datadog

🎯 Casos de Uso

  • ✔️ Criar ou provisionar nova infraestrutura do zero
  • ✔️ Gerenciar infraestrutura existente com controle de mudanças
  • ✔️ Replicar infraestrutura entre ambientes (dev, staging, prod)

⚖️ Terraform vs. Outros Softwares

Terraform é uma ferramenta de alto nível de orquestração de infraestrutura, diferente de:

Ferramenta Propósito Diferença
Ansible, Puppet, Chef Gerenciamento de configuração Terraform não gerencia configuração de SO/app — foca no provisionamento
CloudFormation, ARM IaC de vendor único Terraform suporta múltiplos provedores simultaneamente

💡 Terraform pode ser combinado com Ansible/Chef para provisionamento + configuração.


☁️ Provedores Suportados

Provider Recursos Manutenção
AWS EC2, Lambda, EKS, ECS, VPC, S3, RDS, DynamoDB HashiCorp AWS Provider
GCP Compute Engine, Cloud Storage, Cloud SQL, GKE, BigQuery Google + HashiCorp
Azure Azure Resource Manager (ARM) completo Microsoft + HashiCorp
Kubernetes Deployments, Services, CRDs, Policies, Quotas HashiCorp
OCI Recursos Oracle Cloud Infrastructure via APIs OCI HashiCorp

🏗 Modelos de Computação em Nuvem

┌─────────────────────────────────────────────────────────────┐
│                    NÍVEL DE ABSTRAÇÃO                       │
├──────────┬──────────────────────────────────────────────────┤
│  SaaS    │ Aplicação completa (Gmail, Salesforce)           │
├──────────┼──────────────────────────────────────────────────┤
│  FaaS    │ Funções serverless (Lambda, Cloud Functions)     │
├──────────┼──────────────────────────────────────────────────┤
│  PaaS    │ Executáveis e Containers (App Engine, Heroku)    │
├──────────┼──────────────────────────────────────────────────┤
│  CaaS    │ Ferramentas de Gestão (Kubernetes, ECS)          │
├──────────┼──────────────────────────────────────────────────┤
│  IaaS    │ Servidores, Storage, Rede (EC2, GCE, Azure VM)   │
├──────────┼──────────────────────────────────────────────────┤
│  On-prem │ Co-Location / DataCenter próprio                 │
└──────────┴──────────────────────────────────────────────────┘

🔗 Links Úteis

Recurso Link
🟠 AWS CLI aws.amazon.com/pt/cli
🟣 Terraform Registry registry.terraform.io
📘 Docs AWS Provider registry.terraform.io/providers/hashicorp/aws

🚧 Tutorial de instalação — Em construção... 🚀

Mantido por josenilto

About

Infraestrutura de código aberto como ferramenta de software de código que permite criar, alterar e melhorar a infraestrutura de forma segura e previsível.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages