Workflows は、フルマネージドのオーケストレーション プラットフォームで、定義した順序(ワークフロー)でサービスを実行します。これらのワークフローでは、Cloud Run や Cloud Run 関数でホストされているカスタム サービス、Cloud Vision AI や BigQuery などの Google Cloud サービス、任意の HTTP ベースの API などのサービスを組み合わせることができます。
ソリューションにワークフローを組み込むことで、サービスの依存関係をエンドツーエンドで明示的にモニタリングできます。アプリケーション、オペレーション、またはビジネス プロセスを指定するワークフローは、プロセスの信頼できる情報源または正規のナラティブを提供します。
Workflows はサーバーレスで、必要に応じてスケールアップし、アイドル状態の間は料金が発生しません。ワークフローにはコードやライブラリの依存関係がないため、セキュリティ パッチは必要ありません。ワークフローをデプロイすると、メンテナンスなしで確実に実行されるようになります。ワークフローは、最長 1 年間、状態の保持、再試行、ポーリング、待機が可能です。
Workflows は、これらの認定と基準に準拠しています。
次の図は、Workflows を使用してサービスをオーケストレートする例を示しています。
主なユースケース
Workflows はさまざまなユースケースに対応しています。以下に例を示します。
| サービス オーケストレーション | サービスを組み合わせてソリューションを作成する - 複数のシステム全体で一連のオペレーションを実行し、すべてのオペレーションが完了するのを待ちます。イベント ドリブンにできます。例:
|
| バッチジョブ | 複数のアイテムへの操作 - 一連のアイテムまたはバッチデータに対してオペレーションを実行します。多くの場合、スケジュール設定されています。例:
|
| ビジネス プロセス | 基幹業務のワークフローを自動化する - 条件、アクション、人間参加型イベントなど、ビジネス プロセスのステップをエンコードします。例:
|
| IT プロセスの自動化 | サービス オペレーションのマネージド実行 - Google Cloud サービス オペレーションのシーケンスを簡単にスクリプト化できます。次に例を示します。
|
基本コンセプト
ワークフローは、Workflows 構文を使用して記述された一連のステップで構成され、YAML または JSON のいずれかで記述できます。これがワークフローの定義です。Workflows 構文の詳細については、構文リファレンスをご覧ください。
ワークフローを作成するとデプロイされ、ワークフローを実行する準備が整います。 Google Cloud コンソールまたは Google Cloud CLI を使用して、ワークフローの作成と更新を行う方法を確認してください。ワークフローを作成する場合は、任意の IDE またはソースコード エディタを使用し、予測入力と構文検証を設定することもできます。
実行とは、ワークフローの定義に含まれるロジックを 1 回だけ実行することです。実行されなかったワークフローは課金されません。ワークフローのそれぞれの実行はすべて独立しています。また、このプロダクトの迅速なスケーリングにより、多数の同時実行が可能です。 クライアント ライブラリ、 Google Cloud コンソール、Google Cloud CLI を使用するか、Workflows REST API を使用して HTTP POST リクエストをワークフローの呼び出し URL に送信して、ワークフローを実行できます。詳細については、ワークフローを実行するをご覧ください。
リージョン
Workflows はリージョン サービスであり、ワークフローはリージョン リソースであり、リソース ロケーションの制約を受けます。リソース ロケーション ポリシーを使用して、データ所在地を制御できます。
ワークフローが特定のリージョンにデプロイされると、そのリージョンでのみ実行されます。ただし、ワークフローが HTTP リクエストを行うか、コネクタを使用する場合、HTTP 呼び出しは同じリージョンから発信されないことがあります。
主な機能
Workflows の主な機能は次のとおりです。
実行の制御
- 手順
- ワークフローを作成するには、Workflows 構文を使用して必要なステップと実行順序を定義します。すべてのワークフローには、少なくとも 1 つのステップが必要です。 デフォルトで、Workflows は、ステップが順序付きのリストにあるかのように扱い、すべてのステップが実行されるまで、ステップを 1 つずつ実行します。詳細については、Stepsをご覧ください。
- 条件
switchブロックを選択メカニズムとして使用して、式の値はワークフローの実行フローを制御できます。詳しくは、条件をご覧ください。- 繰り返し
forループを使用すると、一連の数字に対して、またはリストやマップなどのデータのコレクションを介して反復処理できます。詳細については、繰り返しをご覧ください。- 並列ステップ