低レイテンシーフローの基準
フローのレイテンシーには多くの要素が悪影響を与えます。
- サービスでのリソース競合
- 同じシステムで大量のデータを処理しながらフローを実行している場合は、利用可能なリソースが少なくなります。
- レート制限
- ほとんどのサードパーティー製コネクターには、システムへの過度の呼び出しを防止するロジックが組み込まれています(たとえば、サービス妨害攻撃を防止するため)。リモートシステムに対する実行を最小限に抑えるフローはこのようなレート制限を回避します。
- ロジックエラー
- Okta Workflowsの広範な機能により、ユーザーは大規模なデータスキャンを実行するフローを作成できます。このようなスキャンは、フローの意図したスコープを超えて拡張することがあります。場合によっては、意図しないループや再帰に入ることさえあります。フローを実装する前に慎重に計画およびテストすることで、この影響を軽減できます。
- サポートされる機能または統合の間でのパフォーマンスの違い
- さまざまなワーフクロー機能の間でスケールプロファイルが異なる場合があります。たとえば、WorkflowsのTables機能はコアランタイムシステムとは別に実行されます。Tables機能を使用するフローでは、コアシステム上で単独で実行される他のフローと比べてパフォーマンスの問題が多く発生する可能性があります。
低レイテンシー機能は、リソース競合の影響を解決するため、リソース競合が少ない環境に対象ユースケースを移動します。
サポートされるユースケース
当初、低レイテンシー機能では、次のユースケースについて低レイテンシーモードがサポートされます。下記の初期条件に該当するフローを作成すると、そのフローは常に低レイテンシーモードで開始します。
条件 |
ユースケース例 |
---|---|
フローがAPI Endpointカードで開始する |
インラインフック |
フローがいずれかのOktaコネクターイベントカードで開始する |
ファーストパーティーイベントフック |
フローがコネクターカードを介してWebhookで開始する |
サードパーティー製Webhook |
フローがDelegated Flowイベントカードを使用する |
委任されたフロー |
低レイテンシーの制約
フローが低レイテンシーモードで動作するには、いくつかの技術的要件を満たさなければなりません。フローが次のいずれかの制約に違反する場合、Oktaはそのフローを低レイテンシーモードから削除し、標準の実行モードに戻します。
制約 |
説明 |
---|---|
過剰なリソース使用 | フローが実行時にリソース制限を超過する。「サポートされるユースケース」を参照してください。 |
レート制限 | フローがサードパーティー製コネクターを使用し、HTTP 429 Too Many Requests(リクエストの数が多すぎる)エラーまたはその他のレート制限エラーを受け取る。 |
明示的な一時停止 | フローがWait For、Wait Until、またはPauseのいずれかのカードを使用して明示的に実行を一時停止する。 |
タイムアウト | フローがHTTP接続のデフォルトのタイムアウト期間(60秒)内に終了しない。 |
ストリーミングアクション | フローがデータストリーミング機能付きのコネクターカードを使用する。このようなカードは、ページネーションを使用して大きなデータセットを処理するように設計されており、タイムアウト制限内に終了することはほとんどありません。 |
非同期機能の使用 |
フローが別のフローをブロックせずにバックグラウンドで動作するようにマークされている(Call Flow Asyncカードなど)。 ヘルパーフローを同期的に呼び出す関数カードの場合、ヘルパーフローは低レイテンシーモードで開始しますが、親フローと同じ制約を受けます。 親がヘルパーフローを非同期的に呼び出す場合、親フローは低レイテンシーモードで動作し続けることができます。ただし、ヘルパーフローは低レイテンシーモードの対象ではなく、標準モードで実行されます。 |
HTTP Closeカード |
フローがHTTP Closeカードを使用して手動で接続を閉じる。 HTTP Closeカードは低レイテンシーモードの対象です。ただし、このカードを使用すると、フローの残りが低レイテンシーモードの対象ではなくなります。このカードは、フローの残りが非同期的に実行されることを暗に示しているからです。 |
特定の関数カードの制約
通常、Okta Workflows関数カードは、低レイテンシーモードで実行されるフローで使用できます。ただし、関数の実行には、次のようないくつかの例外が伴います。
-
大きなデータサイズ
-
ヘルパーフローの呼び出し
-
ループと再帰
-
テーブル操作
低レイテンシーモードの一般的な適格性を満たさないカードは、イエローゾーンまたはレッドゾーンのいずれかに分類できます。以下の表は、異なるゾーンに分類される特定のカードをまとめたものです。表内のダッシュは、そのゾーンにカードが存在しないことを示します。
-
イエロー分類は、該当するカードが低レイテンシーモードで開始できることを示します。ただし、そのカードは、処理対象のデータによっては、システムリソース制約に直面するリスクが高くなります。
-
低レイテンシーモードの対象ではないカードはレッドに分類されます。
カテゴリ |
イエロー |
レッド |
---|---|---|
イベント(フローを呼び出すために使用される) |
|
|
APIコネクター(HTTP) |
|
- |
ファイル |
|
- |
フロー制御 |
|
|
フロー |
|
- |
フォルダー |
|
- |
リスト |
|
- |
オブジェクト |
|
- |
テーブル |
|
- |
特定のコネクターの制約
ワークフローコネクターカードは低レイテンシーモードの対象です。カスタムコネクターイベントがWebhookを使用して実装され、呼び出されたフローが低レイテンシーモードで開始するためです。ただし、フローに含まれているコネクターアクションカードはすべて、60秒の時間制限内に完了する必要があります。サードパーティー製APIアクションは、フローが時間内に終了するように、迅速かつエラーなしに応答する必要があります。
また、実行中にストリーミングアクションが発生すると、フローが低レイテンシーモードから外れます。ストリーミングアクションは一般に大きなデータセットを処理し、完了するのに数分または数時間かかる場合があります。
通常、Okta Workflowsコネクターカードはイエローゾーンに分類されます。そのため、システムリソース制約またはネットワークレイテンシーに直面するリスクが高くなります。この分類の例外については、下の表で説明します。表内のダッシュは、そのゾーンにカードが存在しないことを示します。
-
グリーンゾーンのコネクターカードは低レイテンシーモードの対象です。
-
レッドゾーンのコネクターカードは低レイテンシーモードの対象ではありません。アスタリスクが付いているカードは、レコードをカードの一部としてストリーミングできます。そのため、レッドゾーンに分類されます。
ファーストパーティー製コネクター
コネクター名 |
グリーン |
レッド |
---|---|---|
Adobe User Managementコネクター | - |
|
Advanced Server Accessコネクター | - |
|
Airtableコネクター | - | - |
- |
- |
|
- |
- |
|
- |
- |
|
- |
|
|
- |
- |
|
- |
|
|
すべてのイベントカード |
- |
|
- |
- |
|
- |
- |
|
- |
- |
|
- |
- |
|
すべてのイベントカード |
- |
|
すべてのイベントカード |
- |
|
すべてのイベントカード |
|
|
- |
- |
|
すべてのイベントカード |
- |
|
すべてのイベントカード |
- |
|
- |
- |
|
すべてのイベントカード |
- |
|
すべてのイベントカード |
- |
|
- |
|
|
- |
- |
|
- |
- |
|
すべてのイベントカード |
- |
|
すべてのイベントカード |
- |
|
- |
- |
|
- |
|
|
- |
- |
|
- |
|
|
すべてのイベントカード |
|
|
すべてのイベントカード |
|
|
すべてのイベントカード |
|
|
- |
- |
|
- |
|
|
すべてのイベントカード |
|
|
すべてのイベントカード |
- |
|
すべてのイベントカード |
- |
|
- |
- |
|
すべてのイベントカード |
|
|
- |
- |
|
すべてのイベントカード |
- |
|
- |
- |
|
- |
- |
|
すべてのイベントカード |
|
|
すべてのイベントカード |
|
|
- |
- |
サードパーティー製コネクター
コネクター名 |
グリーン |
レッド |
---|---|---|
Kandjiコネクター |
- |
|
Pendoコネクター | - | - |
Recorded Future Identity Intelligenceコネクター | - | - |
Secure Code Warriorコネクター | - | - |