Infrastructure as Code für industrielle Automatisierungsumgebungen
SEW-EURODRIVE stellt einen Terraform Provider vor, mit dem Kunden SEW-Plattformressourcen mittels Infrastructure as Code (IaC) definieren, bereitstellen und verwalten können. Diese Funktion wird derzeit als Private Preview angeboten. Wenn Ihr Unternehmen an einer Teilnahme interessiert ist, wenden Sie sich bitte an SEW.
Warum wir es entwickelt haben
Wenn in SEW ein neuer Tenant erstellt wird, müssen Kunden typischerweise eine Vielzahl von Ressourcen konfigurieren – Projekte, Geräte, Gateways, Vaults, Dokumente, Ressourcengruppen und mehr. Heute ist dies nur auf zwei Wege möglich:
1. Manuelle Einrichtung in der Web-Konsole
- Zeitaufwendig und repetitiv
- Anfällig für Konfigurationsfehler
- Nicht einfach wiederholbar oder auditierbar
- Keine Versionskontrolle und kein Änderungsverlauf
2. Individuelle Automatisierung über SEW-APIs
Die Nutzung von REST- oder GraphQL-APIs ist skalierbarer als eine manuelle Konfiguration, bringt jedoch eigene Herausforderungen mit sich:
- Erfordert erheblichen Entwicklungsaufwand und Vertrautheit mit unseren APIs
- Skripte neigen dazu, Boilerplate-Code anzusammeln
- Kunden müssen Idempotenz, Wiederholungsversuche und die Wiederherstellung nach Teilfehlern selbst handhaben
- Erfordert eine eigene State-Verwaltung
- Schwieriger über Standorte, Teams und Lieferanten hinweg zu standardisieren
Insgesamt verlangsamen diese Herausforderungen das Onboarding neuer Standorte und Tenants unnötig und bergen vermeidbare operative Risiken.
Was wir entwickeln
Um diese Probleme zu lösen, entwickelt SEW einen eigenen (first-party) Terraform Provider, der das branchenübliche IaC-Framework von HashiCorp nutzt. Terraform ermöglicht Benutzern, den gewünschten Systemzustand in einer einfachen deklarativen Sprache (HCL) zu definieren, und Terraform übernimmt:
- Deployment
- Updates
- Rollbacks
- Drift-Erkennung
- Löschung
- State-Verwaltung
Dies ist dieselbe Technologie, die SEW intern zur Verwaltung seiner eigenen AWS-Cloud-Infrastruktur einsetzt.
Was der Terraform Provider ermöglicht
Nach vollständiger Implementierung können Kunden alle SEW-Ressourcen über Terraform bereitstellen und verwalten, darunter:
- Ressourcengruppen (einschließlich verschachtelter Gruppen)
- Projekte
- Geräte
- Gateways
- Dokumente
- Vaults und Secrets
- Zukünftige SEW-Objekte
Terraform-Konfigurationen können wie jeder andere Code in Git gespeichert werden und ermöglichen so:
- Änderungsverfolgung
- Peer-Review
- Reproduzierbare Deployments
- Automatisierte CI/CD-Workflows
So funktioniert es
Terraform kommuniziert mit SEW über einen benutzerdefinierten Provider, der als Brücke zwischen den deklarativen Konfigurationsdateien von Terraform und den APIs von SEW (REST und GraphQL) fungiert.
-
Benutzer definieren Ressourcen in HCL:
resource "sda_resource_group" "example" \{name = "Production"parent_id = "root"\} -
Terraform übersetzt dies in API-Aufrufe an SEW
-
SEW erstellt, aktualisiert oder löscht die Ressourcen entsprechend
-
Terraform verwaltet den State und stellt sicher, dass der tatsächliche Systemzustand der gewünschten Konfiguration entspricht
Aktuelle Verfügbarkeit
Der aktuelle Terraform Provider bietet die folgenden Funktionen:
- Lesen von Ressourcengruppen
- Erstellen von Ressourcengruppen
- Aktualisieren von Ressourcengruppen
- Löschen von Ressourcengruppen
(einschließlich verschachtelter Hierarchien)
Wesentliche Teile der Provider-Architektur, der API-Abstraktionen und der Muster sind bereits etabliert und werden hier im Zuge der Weiterentwicklung des Produkts dokumentiert.
Technologische Hinweise
Das Projekt wurde mit den GraphQL- und REST-APIs von SEW umgesetzt:
- GraphQL ist für die interne Kommunikation zwischen Frontend und Backend von SEW äußerst effizient, in einem Terraform Provider jedoch aufwendiger zu implementieren.
- REST bleibt der Industriestandard für externe Automatisierungswerkzeuge, und wir werden REST-Endpunkte für Kunden weiterhin unterstützen und ausbauen.
Interesse an der Nutzung des Terraform Providers?
Der SEW Terraform Provider befindet sich derzeit in der Private Preview.
Wir freuen uns über Early Adopters, die Infrastructure as Code für SEW-Umgebungen erkunden möchten.
Wenn Sie an einer Teilnahme interessiert sind, wenden Sie sich bitte an SEW.
Wir arbeiten direkt mit Ihnen zusammen, um:
- Ihre Anwendungsfälle zu bewerten
- Zugang zur Private Preview freizuschalten
- Onboarding-Unterstützung bereitzustellen
- Feedback zu sammeln, das das endgültige Release mitgestaltet