Visión general de sistemas de integración autohospedados

Opciones de sistemas de integración

Índice

Sistemas de integración podrían ser comerciales con muchos módulos de conexión pagos y algunos gratuitos; O de tipo gratuito pero con una licencia un poco extraña; O listos para autohospedaje y no.

Hay muchos sistemas de integración disponibles…

Usuario femenina feliz de un sistema bien integrado en la sala de servidores

Casos de uso

Podría ser útil para

  • organizar tu propia integración entre diferentes [redes sociales] plataformas,
  • configurar notificaciones en eventos de IoT, o
  • configurar un sistema completo de POSSE.

Si estás curioso sobre qué es un POSSE… POSSE es una abreviatura de Publish (en tu) Own Site, Syndicate Elsewhere, la práctica de publicar contenido en tu propio sitio primero, luego publicar copias o compartir enlaces a terceros (como silos de redes sociales) con enlaces a la publicación original para proporcionar a los espectadores un camino para interactuar directamente con tu contenido.

Y IoT es una Internet of Things, por si lo has olvidado.

Basado en la nube

Plataformas universales

Como AWS con SNS, SQS, EventBridge, AppFlow y otros

Personalizadas

Muchas opciones

y otras.

Muy conveniente pero podría ser costoso.

Sistemas de integración autohospedados

Apache

Apache tiene muchos proyectos y en el nicho de integración echa un vistazo a Nifi

ESB de Mulesoft

Este Mule ESB con studio y otras herramientas forman una plataforma con un buen conjunto de Conectores.

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

Lo dejo aquí. Podría ser excesivo para un proyecto personal.

Puede descargarse aquí: https://www.mulesoft.com/lp/dl/anypoint-mule-studio

Revisa la licencia.

Huginn

Implementado en rubyonrails

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

Uno de los sistemas de integración de código abierto más maduros.

Activepieces

Implementado en Javascript

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

node-RED

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

Plataforma de integración increíble con requisitos de hardware bastante bajos.

La interfaz es de estilo industrial.

Las conexiones personalizadas se codifican con JavaScript.

Windmill

https://github.com/javipalanca/spade

Entorno de desarrollo de agentes inteligentes en Python

Una plataforma de sistemas multiagente escrita en Python y basada en mensajería instantánea (XMPP).

Desarrolla agentes que pueden charlar tanto con otros agentes como con humanos.

Licencia MIT

StackStorm

https://stackstorm.com/

según su sitio web:

StackStorm es una plataforma para integración y automatización entre servicios y herramientas…

StackStorm ayuda a automatizar patrones operativos comunes. Algunos ejemplos son:

  • Diagnóstico facilitado - disparado por fallos del sistema capturados por Nagios, Sensu, New Relic y otros sistemas de monitoreo, ejecutando una serie de verificaciones diagnósticas en nodos físicos, instancias de OpenStack o Amazon y componentes de aplicación, y publicando resultados en un contexto de comunicación compartido, como Slack o JIRA.
  • Remedición automatizada - identificar y verificar fallos de hardware en un nodo de computación de OpenStack, evacuar correctamente las instancias y enviar un correo electrónico a los administradores sobre un posible tiempo de inactividad, pero si algo sale mal - congelar el flujo de trabajo y llamar a PagerDuty para despertar a un humano.
  • Despliegue continuo - construir y probar con Jenkins, provisionar un nuevo clúster de AWS, activar algunos tráfico con el balanceador de carga y avanzar o retroceder según los datos de rendimiento de la aplicación de NewRelic.

Luigi

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

Luigi es un paquete de Python que te ayuda a construir pipelines complejos de trabajos por lotes. Maneja la resolución de dependencias, gestión de flujos de trabajo, visualización, manejo de fallos, integración de línea de comandos y mucho más.

BeeHive

https://github.com/muesli/beehive

Un sistema flexible de eventos/agentes y automatización, que permite crear tus propios agentes que realizan tareas automatizadas disparadas por eventos y filtros. Es modular, flexible y muy fácil de extender para cualquiera. Tiene módulos (los llamamos Hives), por lo que puede interactuar, comunicarse o recuperar información de Twitter, Tumblr, Email, IRC, Jabber, RSS, Jenkins, Hue, entre otros.

Lista de sistemas de integración

Licencia Apache-2.0

Nombre del sistema Idioma de implementación
airflow Python
luigi Python
mage Python
node-red Javascript/node.js
prefect Python
taskflow Python
StackStorm Python
syndesis Java
thingsboard Java

Licencia MIT

Nombre del sistema Idioma de implementación
actionsflow Javascript/Typescript
active_workflow Ruby
huginn Ruby
jitsu Javascript
novu Javascript/Typescript
pydoit Python

Licencia BSD

Nombre del sistema Idioma de implementación
apprise Python
flogo Golang

Licencia GPL

Nombre del sistema Idioma de implementación
automatisch Javascript/Typescript
beehive Golang
spiffworkflow Python

Otras licencias (revisa antes!)

Nombre del sistema Idioma de implementación
activepieces Javascript/Typescript
chainjet Javascript/Typescript
n8n Javascript/Typescript

Mi opinión

Me gusta node-RED lo más.

  • Buena cantidad de conectores disponibles
  • Bajos requisitos del sistema (como Raspberry PI?)
  • Fácil programación con JS
  • PERO Mira por ti mismo, la curva de aprendizaje podría ser empinada dependiendo de tu experiencia.