Przegląd systemów integracji samodzielnie hostowanych

Opcje systemów integracji

Page content

Systemy integracyjne mogą być komercyjne z wieloma płatnymi modułami połączeń i kilkoma darmowymi; Lub w zasadzie darmowe, ale z dziwną licencją; Lub gotowe do samozhostowania i nie.

Dostępnych jest wiele systemów integracyjnych…

Zadowolona kobieta użytkownica dobrze zintegrowanego systemu w pomieszczeniu serwerowym

Przypadki użycia

Może być przydatne do

  • organizowania własnej integracji między różnymi [platformami sieci społecznościowych],
  • konfigurowania powiadomień na wydarzenia IoT, lub
  • ustawiania pełnoprawnego systemu POSSE.

Jeśli jesteś ciekaw, co to jest POSSE… POSSE to skrót od Publish (na) Own Site, Syndicate Elsewhere, praktyka publikowania treści na własnej stronie, a następnie publikowania kopii lub udostępniania linków na stronach trzecich (np. silosach mediów społecznościowych) z linkami do oryginalnego posta, aby widzom dać ścieżkę do bezpośredniego interakcji z Twoją treścią.

A IoT to Internet of Things, w razie jeśli zapomniałeś.

Oparte o chmurę

Uniwersalne platformy

Jak AWS z SNS, SQS, EventBridge, AppFlow i innymi

Dostosowane

Dużo możliwości wyboru

i inne.

Dość wygodne, ale mogą być drogie.

Samozhostowane systemy integracyjne

Apache

Apache ma wiele projektów, a w zakresie integracji warto spojrzeć na Nifi

Mulesoft’s ESB

Ten Mule ESB wraz ze studiem i innymi narzędziami tworzy platformę z dość dobrym zestawem Connectors.

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

Zachowuję to tutaj. Może być zbyt skomplikowane do projektu osobistego.

Można go pobrać tutaj: https://www.mulesoft.com/lp/dl/anypoint-mule-studio

Sprawdź licencję.

Huginn

Zaimplementowane w rubyonrails

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

Jedna z najbardziej dojrzałych systemów integracyjnych open source.

Activepieces

Zaimplementowane w JavaScript

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

node-RED

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

Świetna platforma integracyjna z dość niskimi wymaganiami sprzętowymi.

Interfejs jest przemysłowy.

Niestandardowe połączenia są kodowane w JavaScript.

Windmill

https://github.com/javipalanca/spade

Inteligentne środowisko programistyczne dla agentów w Pythonie

Platforma systemów wieloagentowych napisana w Pythonie i oparta na komunikacji w czasie rzeczywistym (XMPP).

Twórz agentów, którzy mogą rozmawiać zarówno z innymi agentami, jak i z ludźmi.

Licencja MIT

StackStorm

https://stackstorm.com/

z ich strony:

StackStorm to platforma integracyjna i automatyzacyjna dla usług i narzędzi…

StackStorm pomaga automatyzować typowe wzorce operacyjne. Przykłady to:

  • Ułatwione rozwiązywanie problemów - uruchamianie na awariach systemu wykrytych przez Nagios, Sensu, New Relic i inne systemy monitoringu, uruchamianie serii testów diagnostycznych na węzłach fizycznych, instancjach OpenStack lub Amazon, oraz komponentach aplikacji, a następnie publikowanie wyników w wspólnym kontekście komunikacyjnym, takim jak Slack lub JIRA.
  • Automatyczne naprawy - identyfikowanie i weryfikowanie awarii sprzętu na węźle obliczeniowym OpenStack, odpowiednie wycofywanie instancji i wysyłanie e-maila administratorom o potencjalnym czasie przestoju, ale jeśli coś pójdzie źle - zatrzymywanie przepływu pracy i wywoływanie PagerDuty, aby obudzić człowieka.
  • Ciągła wdrażanie - budowanie i testowanie z Jenkins, wdrażanie nowego klastra AWS, włączanie ruchu za pomocą balansera obciążenia, a następnie przewijanie w przód lub w tył, w zależności od danych o wydajności aplikacji z NewRelic.

Luigi

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

Luigi to pakiet Pythona, który pomaga tworzyć złożone potoki zadań w partii. Obsługuje rozwiązywanie zależności, zarządzanie przepływem pracy, wizualizację, obsługa błędów, integrację z wierszem poleceń i wiele więcej.

BeeHive

https://github.com/muesli/beehive

Wrażliwy system zdarzeń/agenta i automatyzacji, który pozwala tworzyć własne agenty, które wykonują automatyczne zadania wyzwalane przez zdarzenia i filtry. Jest modularyczny, elastyczny i naprawdę łatwy do rozszerzenia przez każdego. Ma moduły (nazywamy je Hives), więc może interagować, komunikować się lub pobierać informacje z Twittera, Tumblr, e-maila, IRC, Jabbera, RSS, Jenkinsa, Hue - by wymienić tylko kilka.

Lista systemów integracyjnych

Licencja Apache-2.0

Nazwa systemu Język implementacji
airflow Python
luigi Python
mage Python
node-red Javascript/node.js
prefect Python
taskflow Python
StackStorm Python
syndesis Java
thingsboard Java

Licencja MIT

Nazwa systemu Język implementacji
actionsflow Javascript/Typescript
active_workflow Ruby
huginn Ruby
jitsu Javascript
novu Javascript/Typescript
pydoit Python

Licencja BSD

Nazwa systemu Język implementacji
apprise Python
flogo Golang

Licencja GPL

Nazwa systemu Język implementacji
automatisch Javascript/Typescript
beehive Golang
spiffworkflow Python

Inne licencje (sprawdź je najpierw!)

Nazwa systemu Język implementacji
activepieces Javascript/Typescript
chainjet Javascript/Typescript
n8n Javascript/Typescript

Moje zdanie

Najbardziej lubię node-RED.

  • Dobry zestaw dostępnych łączników
  • Niskie wymagania systemowe (np. Raspberry PI?)
  • Łatwe kodowanie w JS
  • ALE Sprawdź sam, krzywa uczenia może być stroma w zależności od Twojej doświadczenia.