Aperçu des systèmes d'intégration autohébergés
Options des systèmes d'intégration
Systèmes d’intégration peuvent être commerciaux avec beaucoup de modules de connexion payants et quelques-uns gratuits ; Ou de type gratuit mais avec une licence un peu étrange ; Ou prêts à l’hébergement local et non.
Il existe de nombreux systèmes d’intégration disponibles…
Cas d’utilisation
Peut être utile pour
- organiser votre propre intégration entre différentes plateformes de [réseaux sociaux],
- configurer des notifications sur des événements IoT, ou
- mettre en place un système POSSE complet.
Si vous êtes curieux de savoir ce qu’est un POSSE… POSSE est une abréviation de Publish (on your) Own Site, Syndicate Elsewhere, la pratique de publier du contenu sur votre propre site en premier, puis de publier des copies ou de partager des liens vers des tiers (comme des silos de réseaux sociaux) avec des liens vers le post original pour permettre aux spectateurs d’interagir directement avec votre contenu.
Et IoT est un Internet des objets, au cas où vous l’auriez oublié.
Basés en nuage
Plateformes universelles
Comme AWS avec SNS, SQS, EventBridge, AppFlow et d’autres
Sur mesure
Beaucoup de choix
et d’autres.
Très pratique mais peut être coûteux.
Systèmes d’intégration auto-hébergés
Apache
Apache a de nombreux projets et dans le domaine de l’intégration, regardez Nifi
Mulesoft ESB
Ce Mule ESB avec studio et d’autres outils forment une plateforme avec un ensemble de Connecteurs très complet.
https://www.mulesoft.com/platform/studio
Je le garde ici. Peut être surdimensionné pour un projet personnel.
Téléchargeable ici : https://www.mulesoft.com/lp/dl/anypoint-mule-studio
Vérifiez la licence.
Huginn
Implémenté en rubyonrails
https://github.com/huginn/huginn/blob/master/doc/docker/install.md
L’un des systèmes d’intégration open source les plus matures.
Activepieces
Implémenté en Javascript
https://www.activepieces.com/docs/contributing/overview
node-RED
https://nodered.org/docs/tutorials/first-flow
Plateforme d’intégration incroyable avec des exigences matérielles assez faibles.
L’interface est de type industrielle.
Les connexions personnalisées sont codées en JavaScript.
Windmill
https://github.com/javipalanca/spade
Environnement de développement d’agents intelligents en Python
Une plateforme de systèmes à agents multiples écrite en Python et basée sur le messagerie instantanée (XMPP).
Développez des agents capables de chatter à la fois avec d’autres agents et des humains.
Licence MIT
StackStorm
d’après leur site :
StackStorm est une plateforme d’intégration et d’automatisation entre services et outils…
StackStorm aide à automatiser les schémas opérationnels courants. Quelques exemples sont :
- Dépannage facilité - déclenché par des défaillances système capturées par Nagios, Sensu, New Relic et d’autres systèmes de surveillance, exécuter une série de vérifications diagnostiques sur des nœuds physiques, des instances OpenStack ou Amazon, et des composants d’applications, puis publier les résultats dans un contexte de communication partagé, comme Slack ou JIRA.
- Réparation automatisée - identifier et vérifier une défaillance matérielle sur un nœud de calcul OpenStack, évacuer correctement les instances et envoyer un e-mail aux administrateurs concernant un potentiel temps d’arrêt, mais si quelque chose se passe mal - figer le workflow et appeler PagerDuty pour réveiller un humain.
- Déploiement continu - construire et tester avec Jenkins, provisionner un nouveau cluster AWS, activer un peu de trafic avec le balanceur de charge, et effectuer un roll-forward ou un roll-back, en fonction des données de performance de l’application de NewRelic.
Luigi
https://luigi.readthedocs.io/en/stable/
Luigi est un package Python qui vous aide à construire des pipelines complexes de tâches en lots. Il gère la résolution des dépendances, la gestion des workflows, la visualisation, la gestion des échecs, l’intégration en ligne de commande, et bien plus encore.
BeeHive
https://github.com/muesli/beehive
Un système flexible d’événements/agents & d’automatisation, qui permet de créer vos propres agents qui exécutent des tâches automatisées déclenchées par des événements et des filtres. Il est modulaire, flexible et très facile à étendre par quiconque. Il a des modules (que nous appelons Hives), donc il peut interagir avec, parler à, ou récupérer des informations de Twitter, Tumblr, Email, IRC, Jabber, RSS, Jenkins, Hue - pour n’en nommer que quelques-uns.
Liste des systèmes d’intégration
Licence Apache-2.0
Nom du système | Langage d’implémentation |
---|---|
airflow | Python |
luigi | Python |
mage | Python |
node-red | Javascript/node.js |
prefect | Python |
taskflow | Python |
StackStorm | Python |
syndesis | Java |
thingsboard | Java |
Licence MIT
Nom du système | Langage d’implémentation |
---|---|
actionsflow | Javascript/Typescript |
active_workflow | Ruby |
huginn | Ruby |
jitsu | Javascript |
novu | Javascript/Typescript |
pydoit | Python |
Licence BSD
Nom du système | Langage d’implémentation |
---|---|
apprise | Python |
flogo | Golang |
Licence GPL
Nom du système | Langage d’implémentation |
---|---|
automatisch | Javascript/Typescript |
beehive | Golang |
spiffworkflow | Python |
Autres licences (vérifiez-les d’abord !)
Nom du système | Langage d’implémentation |
---|---|
activepieces | Javascript/Typescript |
chainjet | Javascript/Typescript |
n8n | Javascript/Typescript |
Mon avis
J’aime le plus node-RED.
- Bon ensemble de connecteurs disponibles
- Faibles exigences système (comme un Raspberry PI ?)
- Facile à coder avec le JS
- MAIS Voyez par vous-mêmes, la courbe d’apprentissage peut être raide selon votre niveau d’expérience.