このトピックでは、サービスのエクスペリエンスを向上させるためのFunction Computeの基本概念を紹介します。Function Compute
概要
カテゴリ | コンセプト |
一般的な概念 | |
課金関連の概念 | |
インスタンス関連の概念 | CPUインスタンス、GPUアクセラレーションインスタンス、コールドスタート、オンデマンドモード、プロビジョニングモード、アイドルモード |
呼び出し関連の概念 |
関数
関数は、Function Computeがリソースをスケジュールおよび実行する単位です。 FC関数は、関数コードと設定で構成されます。 詳細については、「関数の作成」をご参照ください。
version
バージョンは、関数のスナップショットと見なすことができます。 バージョンには、関数の設定やコードなどの情報が含まれます。 バージョンにはトリガー情報が含まれていません。 バージョンはGitのコミットに似ています。 各コミットには、1つ以上のコードファイルまたは設定に対する変更が含まれており、特定の時点でのリポジトリのスナップショットを表します。 詳細については、「バージョンの管理」をご参照ください。
alias
エイリアスは、特定の関数バージョンへのポインタと見なすことができます。 バージョンを効果的に管理できます。 たとえば、エイリアスを使用してバージョンをリリースまたはロールバックしたり、カナリアリリースを実装したりできます。 エイリアスはGitのタグに似ています。 コミットにタグを追加し、コミットをリリースして業務のイテレーションを実行できます。 詳細については、「エイリアスの管理」をご参照ください。
tag
タグはサービスリソースを分類するために使用され、リソースの検索と集約が容易になります。 タグを使用してサービスをグループ化し、それらのサービスグループに対するさまざまな権限を異なるロールに割り当てることもできます。 詳細については、「タグの管理」をご参照ください。
レイヤー
レイヤーを使用すると、パブリック依存関係ライブラリ、ランタイム、関数拡張などのカスタムリソースを公開および展開できます。 レイヤーを使用して、関数が依存するパブリックライブラリを抽象化できます。 これにより、関数を展開または更新するときの関数コードパッケージのサイズが小さくなります。 カスタムランタイムをレイヤーとしてデプロイして、複数の関数間でランタイムを共有することもできます。 詳細については、「カスタムレイヤーの作成」をご参照ください。
trigger
トリガーは、関数の実行をトリガーする方法です。 イベント駆動型コンピューティングモデルでは、イベントソースはイベントプロデューサーであり、関数はイベントハンドラーです。 トリガは、異なるイベントソースを集中的に管理する。 トリガーに定義されたルールに一致するイベントが発生すると、イベントソースはトリガーに関連付けられた関数を自動的に呼び出します。 詳細については、「トリガーの概要」をご参照ください。
runtime
ランタイムは、関数コードが実行される環境である。 Function Computeで定義されているランタイムは組み込みランタイムと呼ばれ、Python、Node.js、Javaランタイムなどがあります。 詳細については、「Function Computeランタイム」をご参照ください。
カスタムランタイムとカスタムコンテナランタイムを作成することもできます。 詳細については、以下のトピックをご参照ください。
カスタムドメイン名
カスタムドメイン名をアプリケーションまたは関数にバインドできます。 これにより、ユーザーは固定ドメイン名を使用してアプリケーションまたは機能にアクセスできます。 カスタムドメイン名をオリジンドメイン名として設定し、そのカスタムドメイン名にCDN高速化ドメイン名を追加することもできます。 これにより、ユーザーはリソースにすばやくアクセスできるため、サービス品質が向上します。 詳細については、「カスタムドメイン名の設定」をご参照ください。
従量課金
従量課金は、リソースを最初に使用し、後でそれらの料金を支払うことを可能にする課金方法です。 従量課金方式を使用する場合、使用した Function Compute リソースに対してのみ課金されます。 事前にリソースを購入する必要はありません。 詳細については、「従量課金」をご参照ください 。
リソースプラン
リソースプランは、リソース使用料を相殺するためのプリペイドパッケージです。 従量課金制と比較して、リソースプランの方が費用対効果が高くなります。 Function Computeは、5層のリソースプランを提供します。 詳細については、「リソースプラン」をご参照ください。
CPUインスタンス
CPUインスタンスは、Function Computeの基本インスタンスタイプです。 CPUインスタンスは、バーストトラフィックを含み、重い計算能力を必要とするシナリオに適しています。 詳細については、「インスタンスタイプと使用モード」をご参照ください。
GPU を備えたインスタンス
Turingアーキテクチャに基づいて、GPU高速化インスタンスはGPUハードウェアを使用してサービスの負荷を加速します。 このように、サービス処理はより効率的である。 GPU高速化インスタンスは、オーディオおよびビデオ処理、AIワークロード、画像処理などのシナリオに適しています。 詳細については、「インスタンスタイプと使用モード」をご参照ください。
コールドスタート
関数が呼び出されると、function Computeはまず関数のコードをダウンロードし、新しい関数インスタンスを起動し、初期化プロセスとコードを実行します。 これらのステップは、コールドスタートと呼ばれる。 コールドスタートが完了すると、関数インスタンスは、最初のレイテンシなしで、着信リクエストをすぐに処理できる状態になります。 詳細については、「コールドスタートの待ち時間を短縮するためのベストプラクティス」をご参照ください。
オンデマンドモード
オンデマンドモードでは、Function Computeは関数インスタンスを自動的に割り当て、リリースします。 詳細については、「インスタンスタイプと使用モード」をご参照ください。
プロビジョニングモード
プロビジョニングモードでは、関数インスタンスは自分で割り当てられ、リリースされます。 Function Computeは、リクエストをプロビジョニングされたインスタンスに優先的に転送します。 プロビジョニングされたインスタンスがリクエストを処理するのに十分でない場合、残りのリクエストはオンデマンドインスタンスに転送されます。 詳細については、「インスタンスタイプと使用モード」をご参照ください。
プロビジョニングモードのインスタンスの実行環境は、非決定的な期間維持され、コールドスタートの影響を排除するのに役立ちます。
固定数のプロビジョニング済みインスタンスを作成すると、完全に使用されない可能性があります。 インスタンスの使用率を向上させるために、プロビジョニング済みインスタンスのスケジュールまたはメトリックベースの自動スケーリングを有効にできます。
スケジュールされた自動スケーリング
スケジュールされた自動スケーリングを使用すると、特定の時間に計画されたレベルにプロビジョニングされたインスタンスの数を調整するアクションを設定できます。 詳細については、「プロビジョニング済みインスタンスポリシーの変更または削除」をご参照ください。
メトリックベースの自動スケーリング
メトリックベースの自動スケーリングは、指定された追跡メトリックの値に応じて、プロビジョニングされたインスタンスの数を動的に調整します。 詳細については、「プロビジョニング済みインスタンスポリシーの変更または削除」をご参照ください。
アイドルモード
プロビジョニングされたインスタンスのアイドルモードを有効にできます。 このモードでは、インスタンスに割り当てられたGPUまたはvCPUリソースは、リクエストが処理されていないときにフリーズされ、インスタンスはアイドル状態になります。 アイドルリソースの使用量は、アクティブな使用量よりもはるかに低い料金で請求されるため、プロビジョニングされたインスタンスのコストが大幅に削減されます。
インスタンスの同時実行性
インスタンスの同時実行は、関数インスタンスが一度に処理できる同時リクエストの最大数を指定します。 詳細については、「インスタンス同時実行の設定」をご参照ください。
同期呼び出し
同期呼び出しでは、関数がイベントの処理を終了した後にのみ応答が返されます。 詳細については、「同期呼び出し」をご参照ください。
非同期呼び出し
非同期呼び出しでは、イベントが関数をトリガーした直後に応答が返されます。 関数によってイベントが処理されるのを待つ必要はありません。 Function Computeは、呼び出しの詳細と関数の実行ステータスを返さずに、信頼できる方法でイベントを処理します。 非同期呼び出しの結果を取得するには、関数の宛先を設定する必要があります。 詳細については、「非同期呼び出し」をご参照ください。
呼び出し分析
呼び出し分析機能は、関数要求の実行状態を要約します。 この機能を有効にすると、システムは関数の各呼び出しに関するメトリックを収集します。 詳細については、「リクエストレベルのメトリックログ」をご参照ください。