During our Open Source Week we identified a few topics we could work on. Today I would like to focus on one of those and share our findings:
In projects and also during everyday operations we are confronted with ad-hoc and repeated tasks that are simple enough not to be included into the software solution and yet need some tooling and are composed of several workflow steps to be completed. This can be data crunching, sending information to REST-Endpoints or fetching information from a running system and depending on the state, do one or another thing.
For some of those tasks we currently use Integromat. This is a SaaS service, an IFTTTalternative. As always, such SaaS solutions are easy to use but have some drawbacks: The largest is the cloud nature of the platforms. Most of our customers are very careful about their data and most choose to stay within Swiss territory.
We gathered some additional ideas to build a command line tool piping information aligning multiple atomic operations building a configurable workflow for rapid prototyping. Being aware that we are not the first and only ones to come up with this idea, the first step is always to see if an existing tool covers all or most of the requirements.
This is actually the case: n8n is an platform installable on our own, swiss-based cloud environment. It features the capabilities of Integromat and some additional features such as file system triggers and database connectivity.
Since n8n is published under a particular license (Sustainable Use License), we needed to investigate this quirky fact. The n8n team points out a fact many startups are struggling with: Publishing a software tool or platform under an open license and making money with it at the same time is not easy. Thus they came up with the fair-code model. It allows the use of a tool within a company but restricts the commercialization. We are able to relate to this reasoning.
Our own instance of n8n was up and running within no time. Currently used internal workflows were migrated from Integromat and we've created a first pull-request for a MariaDB node integrating mariadb-connector-nodejs.
n8n: Great tool, weird name 🙃