Обзор самохостед-систем интеграции
Опции систем интеграции
Системы интеграции могут быть коммерческими с множеством платных модулей подключения и некоторыми бесплатными;
Или вроде бы бесплатными, но с необычной лицензией;
Или готовыми к самохостингу и не быть.
Доступно множество систем интеграции…
Сценарии использования
Могут быть полезны для
- организации собственной интеграции между различными [платформами социальных сетей],
- настройки уведомлений по событиям 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
с их сайта:
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
- НО Посмотрите сами, кривая обучения может быть крутой в зависимости от вашего опыта.