@aihua による投稿(英語から翻訳)
休暇中に自宅の安全について不安を感じたことはありませんか?私たちはこの不安を解消するため、次のような機能を備えたホームセキュリティシステムを設置しました:
本質的に、オーケストレーションはこのセキュリティシステムのように複数のワークフロー、タスク、イベントを統合し、一貫したエンドツーエンドのプロセスとして機能させるものです。各タスクは前工程のタスクの出力結果に基づいて実行されます。さらに、タスクを順次実行することも並列実行することにも対応可能です。
データ専門家として頻繁にワークフローを構築していると、分析目標を達成するために複雑なプロセスやロジックを必要とするビジネス課題に直面することがあります。たとえば、ワークフローには次のような複数のタスクが含まれる場合があります:
複数のプロセスを1つのワークフローに組み込むこともできますが、その場合、実行時間が長くなり、エラーの修正も困難になります。より効果的な方法はワークフローを複数の専用ワークフローに分割し、それぞれが特定のタスクを処理するようにすることです。ここでこのような質問が浮かびます:「それらのワークフローをどうすれば連続的に、条件に応じて、自動的に実行させ、前のワークフローの出力を使えるようにできるか?」
というものです。そこで登場するのがオーケストレーションです。以下に自動化されたワークフローパイプラインの例を示します。
オーケストレーションはプロセスを運用化・自動化し、複雑な処理を効果的かつ効率的に管理する能力を高めてくれます。
オーケストレーションはAlteryxコミュニティで人気のあるテーマです。多くのユーザーが連鎖型の分析アプリやCrew Runnerマクロ、Run Commandイベント、プロセスフローを動的に変更するカスタムマクロ(コンテナの有効/無効化)など、革新的な解決策を生み出してきました。これらの回避策は多くの問題を解決しますが、開発に時間がかかり、自動化が難しい場合が多いです。また、パイプラインの可視性や柔軟性にも欠けているケースが見られます。
バージョン2023.1でリリースされた「コントロールコンテナ(CC)」は、Alteryxにおけるオーケストレーションを一変させる画期的な機能です。見た目は通常のコンテナと変わりませんが、オプションで入力アンカーとエンジンログ出力アンカーを備えています。
以下が動作の流れです:入力アンカーにデータが接続され、1件以上のレコードを受信したときにのみCCがアクティブになり、内部のツールを実行します。これにより、複数のプロセスを別々のCCに分けて配置し、それらを接続してオーケストレーションを実現できます。さらに、条件分岐ロジックを用いてデータフローを動的に制御することも可能で、特定条件を満たした場合のみ実行されます。出力アンカーは、内部ツールのエンジンメッセージを実データとして出力し、条件分岐のロジック作成に活用できます。CCのパワーを理解していただくために以下の例を紹介します:
ある銀行では顧客の継続率を定期的に分析するためにAlteryxを活用しています。以下の手順でこのタスクを実施します。
依存関係のあるワークフローが大きすぎて1つに収まらない場合は、マクロとしてパッケージ化し、オーケストレーションを管理するメインワークフローを構築することを検討してください。
コントロールコンテナの使い方については、以下をご確認ください:コントロールコンテナツール (Alteryx.com)コントロールコンテナ: ワークフローを完全に制御 - Alteryxコミュニティ
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」をぜひご活用ください。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とイベントトリガー機能をお試しください。
ここにコメントを追加するには、ご登録いただく必要があります。 ご登録済みの場合は、ログインしてください。 ご登録がまだの場合は、ご登録後にログインしてください。