ブログ

アナリティクスに関する聡明な考えに触れ、インサイトとアイデアが得られます。
aihua
Alteryx
Alteryx

@aihua による投稿(英語から翻訳)

 

オーケストレーションとは何でしょうか?

 

休暇中に自宅の安全について不安を感じたことはありませんか?私たちはこの不安を解消するため、次のような機能を備えたホームセキュリティシステムを設置しました:

 

image001.png

 

本質的に、オーケストレーションはこのセキュリティシステムのように複数のワークフロー、タスク、イベントを統合し、一貫したエンドツーエンドのプロセスとして機能させるものです。各タスクは前工程のタスクの出力結果に基づいて実行されます。さらに、タスクを順次実行することも並列実行することにも対応可能です。

 

なぜワークフローのオーケストレーションが必要なのでしょうか?

 

データ専門家として頻繁にワークフローを構築していると、分析目標を達成するために複雑なプロセスやロジックを必要とするビジネス課題に直面することがあります。たとえば、ワークフローには次のような複数のタスクが含まれる場合があります:

image002.png

 

 

複数のプロセスを1つのワークフローに組み込むこともできますが、その場合、実行時間が長くなり、エラーの修正も困難になります。より効果的な方法はワークフローを複数の専用ワークフローに分割し、それぞれが特定のタスクを処理するようにすることです。ここでこのような質問が浮かびます:「それらのワークフローをどうすれば連続的に、条件に応じて、自動的に実行させ、前のワークフローの出力を使えるようにできるか?」

 

image003.png

 

 

というものです。そこで登場するのがオーケストレーションです。以下に自動化されたワークフローパイプラインの例を示します。

 

オーケストレーションはプロセスを運用化・自動化し、複雑な処理を効果的かつ効率的に管理する能力を高めてくれます。

 

従来の解決策

 

オーケストレーションはAlteryxコミュニティで人気のあるテーマです。多くのユーザーが連鎖型の分析アプリやCrew Runnerマクロ、Run Commandイベント、プロセスフローを動的に変更するカスタムマクロ(コンテナの有効/無効化)など、革新的な解決策を生み出してきました。これらの回避策は多くの問題を解決しますが、開発に時間がかかり、自動化が難しい場合が多いです。また、パイプラインの可視性や柔軟性にも欠けているケースが見られます。

 

新しいソリューション 

 

コントロールコンテナ

 

バージョン2023.1でリリースされた「コントロールコンテナ(CC)」は、Alteryxにおけるオーケストレーションを一変させる画期的な機能です。見た目は通常のコンテナと変わりませんが、オプションで入力アンカーとエンジンログ出力アンカーを備えています。

 

以下が動作の流れです:入力アンカーにデータが接続され、1件以上のレコードを受信したときにのみCCがアクティブになり、内部のツールを実行します。これにより、複数のプロセスを別々のCCに分けて配置し、それらを接続してオーケストレーションを実現できます。さらに、条件分岐ロジックを用いてデータフローを動的に制御することも可能で、特定条件を満たした場合のみ実行されます。出力アンカーは、内部ツールのエンジンメッセージを実データとして出力し、条件分岐のロジック作成に活用できます。CCのパワーを理解していただくために以下の例を紹介します:

 

 

ある銀行では顧客の継続率を定期的に分析するためにAlteryxを活用しています。以下の手順でこのタスクを実施します。

  1. 別々のExcelファイルに格納されたデータを統合・クレンジングし、1つのExcelファイルに変換します。

  2. そのデータセットを同じワークフローに取り込み、後続の計算に活用します。

  3. 2つのコントロールコンテナをワークフローに追加します。1つはデータ変換用、もう1つは継続率計算用とします。1つ目のCCの出力は、2つ目のCCの入力に接続されます。
    Alteryxは通常、同一ワークフロー内で同じExcelファイルへの読み書きを同時に実行できないため、2つのCCを接続することでシーケンシャルな実行が可能になります(Alteryx Engineは最初のCCを処理し、最初のCCが完了すると2番目のCCを実行し、2番目のCCは最初のCCからすべての行のデータを受け取ります)。

  4. 現実のデータ変換はより複雑なため、レコードの欠損を防ぐ検証ステップを追加します。この検証プロセスは別のCC内に配置され、データ作成後に実行されます。

  5. 正確な計算を行うため、フィルターツールによって条件分岐ロジックを構築し、レコード数が一致するかどうかを確認します。検証が成功した場合、データは計算用コンテナへ、不一致の場合はメール通知用の別のコンテナに流れ込みオーナーにメールを送信します。

  6. このワークフローは定期的に自動実行されるようスケジュール設定されています。銀行は顧客の継続率に関する最新レポートを取得しつつ、データの整合性も確保しています。

 

依存関係のあるワークフローが大きすぎて1つに収まらない場合は、マクロとしてパッケージ化し、オーケストレーションを管理するメインワークフローを構築することを検討してください。
コントロールコンテナの使い方については、以下をご確認ください:コントロールコンテナツール (Alteryx.com)コントロールコンテナ: ワークフローを完全に制御 - Alteryxコミュニティ


コントロールコンテナ + Server APIリクエスト

 

DesignerとServerの両方をお持ちの場合、Alteryx Server APIを活用することでワークフローを連鎖させる別の方法もあります。依存プロセスが完了した時点で、Alteryx Serverにジョブを実行させるためのAPI呼び出しをトリガーする仕組みです。マルチノードのServer環境では、異なるワーカーにジョブを割り当てることもできます。この方法は他プロセスに依存する大規模ワークフローを効率よく管理するのに非常に有効です。このツールはワークフローパイプラインの構築だけでなく、リソースの活用も最適化します。

 

AlteryxはServer v3エンドポイントとやり取りするためのマクロパックも提供しています。Alteryxのツールを使うことで、ワークフローのオーケストレーションをより柔軟かつ迅速に進めることが可能になります。

 

先ほどの例のように、検証が通過した時点でAlteryx Serverに保持計算ジョブを実行させるAPI呼び出しを実行できます。

 

 

Alteryx Server V3 APIマクロパックに関する詳細は以下をご覧ください:
Alteryx Server v3 APIエンドポイント

 

Alteryx One プラットフォーム内のPlansとイベントトリガー 

 

Alteryx Oneをご利用の場合は、組み込みのオーケストレーション機能「Plans」をぜひご活用ください。Plansを使えばワークフローやその他のタスクを指定した順番で自動実行し、効率的に進めることができます。

Plansのユーザーインターフェースは非常に直感的で使いやすいです。設計フェーズ中、すべてのタスクは左側のパネルに表示されます。これにはDesigner Cloud ワークフロータスク、Designer Desktop ワークフロータスクのほか、本番モデルを作成するためのMLタスク、外部APIにリクエストを送るHTTPタスク、Slackアラートを送信するSlackタスクなどが含まれます。各タスクには、成功時・失敗時・常時の3種類の実行トリガーがあります。 

 

Designer Desktopのワークフロータスクを使うには「Cloud Execution for Desktop」が必要です。Cloud Execution for Desktopを使えば、既存のデスクトップワークフローをAlteryx Oneに取り込んでオーケストレーションでき、クラウド上での再構築が不要になります。

 

Alteryxの使いやすさへのコミットメントに沿って、Plansではタスクのオーケストレーションが非常にシンプルに行えます。タスクをキャンバスにドラッグアンドドロップし、設定を調整して実行アンカーに接続するだけで、後続タスクの実行条件を設定できます。さらに、デザインインターフェース右上のスケジュール機能を使えば、Plansパイプラインのスケジュール設定も簡単に行えます。

以下に、同様の処理をPlansで行うデモを紹介します。

 

 

最後に、Alteryx Oneのもうひとつの革新的機能として「イベントトリガー」をご紹介します。多くのユーザーは、新しいファイルの到着やデータベースへのデータ追加のたびにワークフローを起動するのが課題です。一般的には、ソースデータの変化を定期的に確認し、変化があったら本番ワークフローを起動するという方法をとりますが、効率的とは言えません。イベントトリガーを使えば、指定されたファイルやDBに変化が起きた瞬間にワークフローが自動実行されます。この機能は強力な自動化・オーケストレーションを提供し、プロセスの最適化と効率化を実現します。

 

Plansの詳しい情報はこちらをご覧ください:
Alteryx Analytics Cloud Plansの紹介 - Alteryx

 

イベントトリガーの詳しい情報はこちらをご覧ください:
イベントトリガーの紹介: 自動化を開放する -Alteryxコミュニティ

 

まとめ

 

Alteryxはこれからも、皆様に価値ある新機能・製品を提供し続けてまいります。これらの進化は私たちを新たな時代へと導き、複雑なプロセス管理のオーケストレーションをより簡単にしてくれます。この記事が皆様の分析プロセスからさらに大きな価値を引き出すための堅牢で自動化されたパイプライン構築のきっかけとなれば幸いです。

まだAlteryx Oneをお使いでない方は、今すぐ無料トライアルを開始し、Plansとイベントトリガー機能をお試しください。