マイクロソフトのAzure Incubationsチームは、複雑なインフラにおけるクリティカルなイベントの検出簡素化するオープンソースシステムである、Drasiを発表した。Drasiはリアルタイムのモニタリングと自動応答を提供し、手作業によるイベント処理を不要にする。柔軟なコンポーネントと統合により、様々なデータソースにおける変更検知を合理化する。DrasiはApache 2.0ライセンスで提供され、イベントドリブンシステムを管理するための適応可能なソリューションを開発者に提供する。
Drasiは、変更を監視し、適切な反応を自動化するための統合ソリューションを提供することで、イベント駆動型システムのスケーリングの課題に対処する。複雑さを軽減し、タイムリーなレスポンスを保証する統一されたフレームワークを提供することで、開発者が手作業でイベント処理メカニズムを構築する必要性を排除する。
Drasiは3つの主要コンポーネントを軸に構成されている。
-
Sources: アプリケーション・ログ、データベースの変更、システム・メトリクスなど、さまざまなデータ・ポイントを監視する。ソースはリアルタイムで変更を追跡し、中央リポジトリやデータレイクにコピーすることなくデータを取得します。
-
Continuous Queries: 従来のポイントインタイムクエリに頼る代わりに、Drasiはデータが到着するたびに評価するコンティニュアスクエリを使用します。これらのクエリはCypher Query Languageで記述され、複数のソースからの情報を統合し、手動による操作なしで常にデータを更新します。
-
Reactions: 変更がContinuous Queryで定義された基準を満たすと、Drasiは自動リアクションを開始します。これには、アラートの送信、システムの更新、特定のビジネスニーズに基づく修復作業の開始などのタスクが含まれます。
Drasiのアーキテクチャ(出典:Microsoft Blog)
Drasiは柔軟性と拡張性を持つように設計されており、ユーザーは独自の要件に基づいてカスタムソースとリアクションを統合できる。PostgreSQL、Microsoft Dataverse、Azure Event Gridのようなプラットフォームとのプリビルト統合も可能だ。
このシステムは、一定のクエリ、ポーリング、またはバッチ処理に依存する従来のデータ処理方法に代わる、より効率的な代替手段を提供する。Drasiは遅延や処理のオーバーヘッドを排除することで、企業が重要なイベントが発生したときに確実に対応できるようにし、機会損失やリスクの回避を役立ちます。
マイクロソフトのCTOであるAllen Jones氏は、次のように語っている。
Drasiは、私がここ数年Azure Incubationsチームでここ数年間主導してきたプロジェクトです。これは私のキャリアの中で何度も使うことができた製品であり、それを世に出して、コミュニティがどう考えるかを見て、彼らがどのように使うかを理解するのはとても楽しみです。
コミュニティからのフィードバックはポジティブなものだった。例えば、Tejaswi Redkar氏はこう書いている。
Drasiは、データ→分析情報→アクションが当たり前のほとんどのOpsドメインに関連しているように見えるが、自動化するためにこれら3つをつなげるのはまだ難しい。
DrasiはGitHubを通じて利用可能であり、Apache 2.0の下でライセンスされている。