Self hosted Workflow Automation mit n8n
Im Vorfeld unserer Open Source Week haben wir einige Themenfelder gesammelt, an welchen wir arbeiten möchten. Heute möchte ich auf eines davon eingehen und unsere Erkenntnisse teilen:
In Kundenprojekten sowie für unser internes Tooling müssen wir immer wieder ad-hoc oder repetitiv simple Aufgaben automatisieren, bei welchen eine Integration in die Hauptapplikation nicht zielführend wäre. Dennoch bedingen diese den Einsatz eines passenden Toolings. Oft bestehen diese Aufgaben aus mehreren Workflow-Schritten. 'data crunching', Senden/Empfagen und Weiterverarbeiten von Daten unter Einbezug von Regeln und viele weitere Anwendungsfälle sind denkbar.
Für einige der Aufgaben setzen wir gegenwärtigIntegromat ein, ein SaaS-Dienst und IFTTTAlternative. Wie immer sind solche SaaS-Dienste einfach einzusetzen, haben aber einige Nachteile: Der gewichtigste ist die Cloud-Natur diser Plattformen. Unserer Kunden behandeln ihre Daten mit viel Sorgfalt und fordern eine Datenhaltung in der Schweiz.
Ein neues Projekt starten oder ein bestehendes nutzen und aktiv contributen?
Wir hatten einige Ideen zusammengetragen wie bspw. das "Pipen" von Daten durch das Zusammenfügen mehreren atomarer Operationen auf der Kommandozeile um so einen konfigurierbaren Workflow zusammenstellen zu können für ein schnelles Prototyping. Im Wissen, dass wir nicht die Ersten und Einzigen sind, welche ähnliche Ideen haben, muss ein erster Schritt immer die Evaluation von bestehenden Tools sein. Existiert ein Projekt, welches alle oder die überwiegende Menge der Anforderungen abdeckt, ist eine Neuimplementierung kaum sinnvoll.
Dies ist hier der Fall: n8n ist eine lokal, auf unserer Cloud Infrastruktur installierbare Workflow Automations Plattform. Diese beinhaltet den Funktionsumfang von Integromat sowie eingie zusätzliche Möglichkeiten wie bspw. Dateisystem-Triggers oder den Zugriff auf lokale Datenbanken.
Lizenz
n8n wird unter einer eigenen Lizenz publiziert (Sustainable Use License). Vor einem breiten Einsatz muss diesem Fakt natürlich genügend Aufmerksamkeit gewidmet werden. In ihrer Begründung zeigt das n8n-Team eine Tatsache auf, mit welcher viele Startups kämpfen: Geld verdienen und die Softwarelösung oder das Plattform-Tool unter einer Open Source Lizenz publizieren steht bis zu einem gewissen Grad in Konflikt. n8n hat sich als Reaktion darauf das Fair-Code Modell überlegt und eine entsprechende Lizenz kreiert. Diese erlaubt die Nutzung innerhalb einer Firma und in Projekten, schränkt aber das Anbieten als SaaS oder in Form anderer kommerzieller Dienste ein. Diese Argumentation ist nachvollziehbar.
Nutzen und Contributen
Unsere eigene n8n-Instanz war rasch aufgesetzt. Die intern genutzten Workflows konnten wir in kurzer Zeit von Integromat nach n8n migrieren. Zudem haben wir auch einen ersten Pull-Request erstellt, der mariadb-connector-nodejs für einen MariaDB-Node integriert.
n8n: Grossartiges Tool, komischer Name 🙃