Обзор самохостед-систем интеграции

Опции систем интеграции

Содержимое страницы

Системы интеграции могут быть коммерческими с множеством платных модулей подключения и некоторыми бесплатными;
Или вроде бы бесплатными, но с необычной лицензией;
Или готовыми к самохостингу и не быть.

Доступно множество систем интеграции…

Счастливая женщина, использующая хорошо интегрированную систему в серверной комнате

Сценарии использования

Могут быть полезны для

  • организации собственной интеграции между различными [платформами социальных сетей],
  • настройки уведомлений по событиям IoT, или
  • настройки полноценной системы POSSE.

Если вы хотите узнать, что такое POSSE…
POSSE — это аббревиатура от Publish (on your) Own Site, Syndicate Elsewhere, практика публикации контента сначала на вашем собственном сайте, а затем публикации копий или делится ссылками на третьи стороны (например, социальные медиа-силосы) с ссылками на оригинальный пост, чтобы предоставить просмотру путь к прямому взаимодействию с вашим контентом.

А IoT — это Интернет вещей, на случай, если вы забыли.

Облачные системы

Универсальные платформы

Как AWS с SNS, SQS, EventBridge, AppFlow и другими

Настроенные

Почти неограниченный выбор

и другие.

Достаточно удобно, но может быть дорогим.

Системы интеграции для самохостинга

Apache

Apache имеет множество проектов, и в нише интеграции обратите внимание на Nifi

Mulesoft’s ESB

Эта Mule ESB со студией и некоторыми другими инструментами формируют платформу с отличным набором Connectors.

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

Оставлю здесь. Возможно, это излишне для личного проекта.

Можно загрузить здесь: https://www.mulesoft.com/lp/dl/anypoint-mule-studio

Проверьте лицензию.

Huginn

Реализован на rubyonrails

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

Один из самых зрелых открытых источников систем интеграции.

Activepieces

Реализован на Javascript

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

node-RED

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

Отличная платформа интеграции с довольно низкими требованиями к оборудованию.

Интерфейс промышленного стиля.

Пользовательские подключения кодируются на JavaScript.

Windmill

https://github.com/javipalanca/spade

Умная среда разработки агентов на Python

Платформа многоагентных систем, написанная на Python и основанная на мгновенном сообщении (XMPP).

Разрабатывайте агенты, которые могут общаться как с другими агентами, так и с людьми.

Лицензия MIT

StackStorm

https://stackstorm.com/

с их сайта:

StackStorm — это платформа для интеграции и автоматизации между сервисами и инструментами…

StackStorm помогает автоматизировать распространенные операционные паттерны. Некоторые примеры:

  • Облегченная диагностика — запуск при сбоях системы, захваченных Nagios, Sensu, New Relic и другими системами мониторинга, выполнение серии диагностических проверок на физических узлах, экземплярах OpenStack или Amazon, и компонентах приложений, а затем публикация результатов в общем контексте коммуникации, например, в Slack или JIRA.
  • Автоматическое восстановление — определение и проверка аппаратного сбоя на вычислительном узле OpenStack, правильное эвакуирование экземпляров и отправка электронной почты администраторам о потенциальном простоое, но если что-то пойдет не так — блокировка потока и вызов PagerDuty для пробуждения человека.
  • Непрерывная доставка — сборка и тестирование с помощью Jenkins, прописывание нового кластера AWS, включение трафика с помощью балансировщика нагрузки, а затем переход вперед или назад на основе данных о производительности приложения NewRelic.

Luigi

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

Luigi — это пакет Python, который помогает создавать сложные потоки пакетных задач. Он обрабатывает разрешение зависимостей, управление рабочими процессами, визуализацию, обработку сбоев, интеграцию командной строки и многое другое.

BeeHive

https://github.com/muesli/beehive

Гибкая система событий/агентов и автоматизации, которая позволяет создавать собственные агенты, выполняющие автоматические задачи, запускаемые событиями и фильтрами. Она модульная, гибкая и действительно легко расширяема для любого человека. У нее есть модули (мы называем их Hives), поэтому она может взаимодействовать, общаться или получать информацию из Twitter, Tumblr, Email, IRC, Jabber, RSS, Jenkins, Hue и т. д.

Список систем интеграции

Лицензия Apache-2.0

Название системы Язык реализации
airflow Python
luigi Python
mage Python
node-red Javascript/node.js
prefect Python
taskflow Python
StackStorm Python
syndesis Java
thingsboard Java

Лицензия MIT

Название системы Язык реализации
actionsflow Javascript/Typescript
active_workflow Ruby
huginn Ruby
jitsu Javascript
novu Javascript/Typescript
pydoit Python

Лицензия BSD

Название системы Язык реализации
apprise Python
flogo Golang

Лицензия GPL

Название системы Язык реализации
automatisch Javascript/Typescript
beehive Golang
spiffworkflow Python

Другие лицензии (проверьте их сначала!)

Название системы Язык реализации
activepieces Javascript/Typescript
chainjet Javascript/Typescript
n8n Javascript/Typescript

Мое мнение

Я больше всего люблю node-RED.

  • Хороший набор доступных соединителей
  • Низкие системные требования (например, Raspberry PI?)
  • Легкое программирование на JS
  • НО Посмотрите сами, кривая обучения может быть крутой в зависимости от вашего опыта.