Panoramica dei sistemi di integrazione selfhosted

Opzioni dei sistemi di integrazione

Indice

Sistemi di integrazione potrebbero essere commerciali con molti moduli di connessione a pagamento e alcuni gratuiti; Oppure di tipo gratuito ma con licenze strane; Oppure pronti per l’hosting autonomo e non.

Esistono molti sistemi di integrazione disponibili…

Utente femmina felice di un sistema ben integrato nella stanza dei server

Caso d’uso

Potrebbe essere utile per

  • organizzare la propria integrazione tra diverse piattaforme di [social network],
  • configurare notifiche sugli eventi IoT, o
  • impostare un sistema POSSE completo.

Se sei curioso di sapere cosa è un POSSE… POSSE è un’abbreviazione di Publish (on your) Own Site, Syndicate Elsewhere, la pratica di pubblicare contenuti sul proprio sito prima, quindi pubblicare copie o condividere link a terze parti (come silos social media) con link all’articolo originale per fornire agli utenti un percorso per interagire direttamente con il tuo contenuto.

E IoT è un Internet of Things, nel caso tu l’abbia dimenticato.

Sulla base del cloud

Piattaforme universali

Come AWS con SNS, SQS, EventBridge, AppFlow e altri

Personalizzate

Molte opzioni disponibili

e altre.

Abbastanza conveniente ma potrebbe essere costosa.

Sistemi di integrazione self-hosted

Apache

Apache ha molti progetti e nell’ambito dell’integrazione puoi dare un’occhiata a Nifi

Mulesoft’s ESB

Questo Mule ESB con studio e alcuni altri strumenti formano una piattaforma con un insieme di Connectors.

https://www.mulesoft.com/platform/studio

Lo tengo qui. Potrebbe essere troppo pesante per un progetto personale.

Può essere scaricato qui: https://www.mulesoft.com/lp/dl/anypoint-mule-studio

Controlla la licenza.

Huginn

Implementato in rubyonrails

https://github.com/huginn/huginn/blob/master/doc/docker/install.md

Uno dei sistemi di integrazione open source più maturi.

Activepieces

Implementato in JavaScript

https://www.activepieces.com/docs/contributing/overview

node-RED

https://nodered.org/docs/tutorials/first-flow

Piattaforma di integrazione fantastica con requisiti hardware abbastanza bassi.

L’interfaccia è di tipo industriale.

Le connessioni personalizzate vengono codificate con JavaScript.

Windmill

https://github.com/javipalanca/spade

Ambiente di sviluppo per agenti Python intelligenti

Una piattaforma di sistemi multi-agente scritta in Python e basata su messaggistica istantanea (XMPP).

Sviluppa agenti che possono chattare sia con altri agenti che con gli umani.

Licenza MIT

StackStorm

https://stackstorm.com/

dal loro sito:

StackStorm è una piattaforma per l’integrazione e l’automazione tra servizi e strumenti…

StackStorm aiuta ad automatizzare i pattern operativi comuni. Alcuni esempi sono:

  • Diagnosi facilitata - attivazione su fallimenti del sistema catturati da Nagios, Sensu, New Relic e altri sistemi di monitoraggio, esecuzione di una serie di controlli diagnostici su nodi fisici, istanze OpenStack o Amazon e componenti applicativi, e pubblicazione dei risultati in un contesto di comunicazione condiviso, come Slack o JIRA.
  • Rimozione automatica - identificazione e verifica di un guasto hardware su un nodo di calcolo OpenStack, evacuazione corretta delle istanze e invio di email agli amministratori riguardo a possibili interruzioni, ma se qualcosa va storto - blocco del flusso di lavoro e chiamata a PagerDuty per svegliare un umano.
  • Deployment continuo - costruzione e test con Jenkins, provisioning di un nuovo cluster AWS, attivazione di alcuni traffici con il bilanciatore di carico, e avanzamento o rollback in base ai dati di prestazioni dell’applicazione da NewRelic.

Luigi

https://luigi.readthedocs.io/en/stable/

Luigi è un pacchetto Python che ti aiuta a costruire pipeline complesse di lavori batch. Gestisce la risoluzione delle dipendenze, la gestione del flusso di lavoro, la visualizzazione, la gestione degli errori, l’integrazione della riga di comando e molto altro.

BeeHive

https://github.com/muesli/beehive

Un sistema flessibile di eventi/agenti & automazione, che ti permette di creare i propri agenti che eseguono compiti automatizzati attivati da eventi e filtri. È modulare, flessibile e molto facile da estendere per chiunque. Ha moduli (li chiamiamo Hives), quindi può interfacciarsi, comunicare o recuperare informazioni da Twitter, Tumblr, Email, IRC, Jabber, RSS, Jenkins, Hue - per citarne solo alcuni.

Elenco dei sistemi di integrazione

Licenza Apache-2.0

Nome del sistema Linguaggio di implementazione
airflow Python
luigi Python
mage Python
node-red Javascript/node.js
prefect Python
taskflow Python
StackStorm Python
syndesis Java
thingsboard Java

Licenza MIT

Nome del sistema Linguaggio di implementazione
actionsflow Javascript/Typescript
active_workflow Ruby
huginn Ruby
jitsu Javascript
novu Javascript/Typescript
pydoit Python

Licenza BSD

Nome del sistema Linguaggio di implementazione
apprise Python
flogo Golang

Licenza GPL

Nome del sistema Linguaggio di implementazione
automatisch Javascript/Typescript
beehive Golang
spiffworkflow Python

Altre licenze (controllale prima!)

Nome del sistema Linguaggio di implementazione
activepieces Javascript/Typescript
chainjet Javascript/Typescript
n8n Javascript/Typescript

La mia opinione

Mi piace di più node-RED.

  • Buon insieme di connettori disponibili
  • Basso requisito di sistema (come Raspberry PI?)
  • Facile coding con JS
  • MA vedete voi stessi, la curva di apprendimento potrebbe essere ripida a seconda della vostra esperienza.