セルフホストされた統合システムの概要
統合システムのオプション
統合システム(https://www.glukhov.org/ja/post/2024/11/selfhosted-integration/ “統合システムの比較”)は、多くの有料接続モジュールといくつかの無料モジュールを備えた商用のもの、または少し奇妙なライセンス付きの無料のもの、またはセルフホスティング用に準備済みでないものなど、さまざまな形態があります。
利用可能な統合システムは非常に多くあります…
使用例
以下のようなケースに適しています。
- 異なる[SNS]プラットフォーム間の統合を構築する
- IoTイベントでの通知の設定
- 完全なPOSSEシステムの構築
POSSEとは何なのか気になっている場合は… POSSEは、Publish (on your) Own Site, Syndicate Elsewhereの略で、自分のサイトにまず投稿し、その後、コピーを公開したり、リンクを共有したりして、第三者(SNSのシロウトなど)に投稿を公開する習慣です。これにより、閲覧者は直接コンテンツとやり取りできるパスが提供されます。
また、IoTはインターネット・オブ・シングスのことで、忘れてしまった場合は確認してください。
クラウドベース
ユニバーサルなプラットフォーム
AWSのSNS、SQS、EventBridge、AppFlowなどがあります。
カスタマイズされたもの
選択肢は豊富です。
他にもあります。
非常に便利ですが、費用がかかる可能性があります。
セルフホストされた統合システム
Apache
Apacheには多くのプロジェクトがあり、統合分野ではNifiを確認してください。
MulesoftのESB
このMule ESBとスタジオ、他いくつかのツールは、コネクタの豊富なセットを持つプラットフォームを形成しています。
https://www.mulesoft.com/platform/studio
ここに残しておきます。個人プロジェクトでは過剰かもしれません。
ここからダウンロードできます: https://www.mulesoft.com/lp/dl/anypoint-mule-studio
ライセンスを確認してください。
Huginn
Ruby on Railsで実装されています。
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
インスタントメッセンジング(XMPP)に基づくPythonで書かれたマルチエージェントシステムプラットフォーム。
他のエージェントや人間とチャットできるエージェントを開発できます。
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
イベント/エージェントと自動化システムで、イベントやフィルターによって自動的にタスクをトリガーする独自のエージェントを作成できる柔軟なシステムです。 モジュール性があり、柔軟性があり、誰にとっても簡単に拡張可能です。 モジュール(私たちがハーヴィーと呼ぶ)があるので、Twitter、Tumblr、メール、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が最も好きです。
- 利用可能なコネクタの豊富なセット
- 低システム要件(ラズベリーパイなど)
- JavaScriptでの簡単なコーディング
- ただし、学習曲線は、あなたの経験に応じて急峻である可能性がありますので、ご自身で確認ください。