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