Infraestructura como código para entornos de automatización industrial
SEW-EURODRIVE presenta un proveedor de Terraform que permite a los clientes definir, implementar y gestionar los recursos de la plataforma SEW mediante Infraestructura como código (IaC). Esta función se ofrece actualmente en vista previa privada. Si su organización está interesada en participar, póngase en contacto con SEW.
Por qué lo hemos desarrollado
Cuando se crea un nuevo tenant en SEW, los clientes normalmente necesitan configurar una amplia variedad de recursos: proyectos, dispositivos, gateways, vaults, documentos, grupos de recursos y más. Actualmente, esto solo puede hacerse de dos formas:
1. Configuración manual en la consola web
- Requiere mucho tiempo y es repetitiva
- Propensa a errores de configuración
- Difícil de repetir o auditar
- Sin control de versiones ni historial de cambios
2. Automatización personalizada mediante las API de SEW
El uso de las API REST o GraphQL es más escalable que la configuración manual, pero conlleva sus propios desafíos:
- Requiere un esfuerzo de desarrollo considerable y familiaridad con nuestras API
- Los scripts tienden a acumular código repetitivo (boilerplate)
- Los clientes deben gestionar la idempotencia, los reintentos y la recuperación ante fallos parciales
- Requiere una gestión de estado personalizada
- Es más difícil de estandarizar entre plantas, equipos y proveedores
En conjunto, estos desafíos hacen que la incorporación de nuevas plantas y tenants sea más lenta de lo necesario e introducen riesgos operativos innecesarios.
Qué estamos desarrollando
Para resolver estos problemas, SEW está desarrollando un proveedor de Terraform propio que utiliza el marco IaC estándar del sector de HashiCorp. Terraform permite a los usuarios definir el estado deseado del sistema en un lenguaje declarativo sencillo (HCL) y Terraform se encarga de:
- La implementación
- Las actualizaciones
- Las reversiones (rollbacks)
- La detección de desviaciones (drift)
- La eliminación
- La gestión del estado
Esta es la misma tecnología que SEW utiliza internamente para gestionar su propia infraestructura en la nube de AWS.
Qué permite el proveedor de Terraform
Una vez implementado por completo, los clientes podrán aprovisionar y gestionar todos los recursos de SEW mediante Terraform, incluidos:
- Grupos de recursos (incluidos grupos anidados)
- Proyectos
- Dispositivos
- Gateways
- Documentos
- Vaults y secretos
- Futuros objetos de SEW
Las configuraciones de Terraform pueden almacenarse en Git como cualquier otro código, lo que permite:
- Seguimiento de cambios
- Revisión por pares
- Implementaciones reproducibles
- Flujos de trabajo automatizados de CI/CD
Cómo funciona
Terraform se comunica con SEW a través de un proveedor personalizado que actúa como puente entre los archivos de configuración declarativa de Terraform y las API de SEW (REST y GraphQL).
-
Los usuarios definen los recursos en HCL:
resource "sda_resource_group" "example" \{name = "Production"parent_id = "root"\} -
Terraform traduce esto en llamadas a la API de SEW
-
SEW crea, actualiza o elimina los recursos correspondientes
-
Terraform mantiene el estado y garantiza que el estado real del sistema coincida con la configuración deseada
Disponibilidad actual
El proveedor de Terraform actual ofrece las siguientes capacidades:
- Lectura de grupos de recursos
- Creación de grupos de recursos
- Actualización de grupos de recursos
- Eliminación de grupos de recursos
(incluidas jerarquías anidadas)
Se han establecido partes importantes de la arquitectura del proveedor, las abstracciones de API y los patrones, que se documentarán aquí a medida que evolucione el producto.
Notas sobre la tecnología
El proyecto se ha desarrollado utilizando las API GraphQL y REST de SEW:
- GraphQL es muy eficiente para la comunicación interna front-end ↔ back-end de SEW, pero más complejo de implementar en un proveedor de Terraform.
- REST sigue siendo el estándar del sector para las herramientas de automatización externas y continuaremos dando soporte y mejorando los endpoints REST para los clientes.
¿Le interesa utilizar el proveedor de Terraform?
El proveedor de Terraform de SEW se encuentra actualmente en vista previa privada.
Damos la bienvenida a los primeros usuarios que deseen explorar la Infraestructura como código para entornos SEW.
Si está interesado en participar, póngase en contacto con SEW.
Trabajaremos directamente con usted para:
- Evaluar sus casos de uso
- Habilitar el acceso a la vista previa privada
- Proporcionar soporte de incorporación
- Recopilar comentarios para dar forma a la versión final