Pular para o conteúdo principal

Infraestrutura como Código para Ambientes de Automação Industrial

A SEW-EURODRIVE está lançando um provider Terraform que permite aos clientes definir, implantar e gerenciar recursos da plataforma SEW utilizando Infrastructure as Code (IaC). Este recurso é atualmente oferecido em private preview. Se a sua organização tiver interesse em participar, entre em contato com a SEW.


Por Que Desenvolvemos​

Quando um novo tenant é criado na SEW, os clientes normalmente precisam configurar uma ampla gama de recursos — projetos, dispositivos, gateways, cofres, documentos, grupos de recursos e muito mais. Atualmente, isso só pode ser feito de duas maneiras:

1. Configuração Manual no Console Web​

  • Demorada e repetitiva
  • Sujeita a erros de configuração
  • Não é facilmente repetível ou auditável
  • Sem controle de versão ou histórico de alterações

2. Automação Personalizada Utilizando as APIs da SEW​

Utilizar APIs REST ou GraphQL é mais escalável do que a configuração manual, mas traz seus próprios desafios:

  • Exige esforço significativo de desenvolvimento e familiaridade com nossas APIs
  • Os scripts tendem a acumular código boilerplate
  • Os clientes precisam lidar com idempotência, novas tentativas e recuperação de falhas parciais
  • Exige gerenciamento de estado personalizado
  • Mais difícil de padronizar entre plantas, equipes e fornecedores

Em conjunto, esses desafios tornam a integração de novas plantas e tenants mais lenta do que o necessário e introduzem riscos operacionais desnecessários.


O Que Estamos Construindo​

Para resolver essas questões, a SEW está desenvolvendo um provider Terraform próprio (first-party) que utiliza o framework de IaC padrão de mercado da HashiCorp. O Terraform permite que os usuários definam o estado desejado do sistema em uma linguagem declarativa simples (HCL), e o Terraform cuida de:

  • Implantação
  • Atualizações
  • Rollbacks
  • Detecção de drift
  • Exclusão
  • Gerenciamento de estado

Essa é a mesma tecnologia que a SEW utiliza internamente para gerenciar sua própria infraestrutura de nuvem AWS.

O Que o Provider Terraform Possibilita​

Uma vez totalmente implementado, os clientes poderão provisionar e gerenciar todos os recursos SEW via Terraform, incluindo:

  • Grupos de Recursos (incluindo grupos aninhados)
  • Projetos
  • Dispositivos
  • Gateways
  • Documentos
  • Cofres e Segredos
  • Futuros objetos SEW

As configurações do Terraform podem ser armazenadas no Git como qualquer outro código, possibilitando:

  • Rastreamento de alterações
  • Revisão por pares
  • Implantações reproduzíveis
  • Fluxos de trabalho CI/CD automatizados

Como Funciona​

O Terraform se comunica com a SEW por meio de um provider personalizado que atua como ponte entre os arquivos de configuração declarativa do Terraform e as APIs da SEW (REST e GraphQL).

  • Os usuários definem recursos em HCL:

    resource "sda_resource_group" "example" \{
    name = "Production"
    parent_id = "root"
    \}
  • O Terraform traduz isso em chamadas de API para a SEW

  • A SEW cria, atualiza ou exclui os recursos correspondentes

  • O Terraform mantém o estado e garante que o estado real do sistema corresponda à configuração desejada


Disponibilidade Atual​

O provider Terraform atual oferece as seguintes capacidades:

  • Leitura de Grupos de Recursos
  • Criação de Grupos de Recursos
  • Atualização de Grupos de Recursos
  • Exclusão de Grupos de Recursos
    (incluindo hierarquias aninhadas)

Partes significativas da arquitetura do provider, das abstrações de API e dos padrões já foram estabelecidas e serão documentadas aqui conforme o produto evoluir.

Notas Tecnológicas​

O projeto foi construído utilizando as APIs GraphQL e REST da SEW:

  • GraphQL é altamente eficiente para a comunicação interna front-end ↔ back-end da SEW, porém mais complexo de implementar em um provider Terraform.
  • REST continua sendo o padrão de mercado para ferramentas externas de automação e continuaremos apoiando e aprimorando os endpoints REST para os clientes.

Interessado em Utilizar o Provider Terraform?​

O provider Terraform da SEW está atualmente em private preview.
Damos as boas-vindas a early adopters que desejem explorar Infrastructure as Code para ambientes SEW.

Se você tiver interesse em participar, entre em contato com a SEW.

Trabalharemos diretamente com você para:

  • Avaliar seus casos de uso
  • Habilitar o acesso ao private preview
  • Fornecer suporte de onboarding
  • Coletar feedback para moldar a versão final