このトピックでは、Function Computeの理解と使用に役立つFunction Computeの用語について説明します。
概要
カテゴリ | 条件 |
一般的な概念 | service、function、Handler、version、alias、tag、layer、trigger、runtime、カスタムドメイン名 |
課金関連 | |
インスタンス関連 | エラスティックインスタンス、GPUアクセラレーションインスタンス、コールドスタート、オンデマンドモード、プロビジョニングモード、およびインスタンス同時実行 |
関数の呼び出し |
service
サービスは、マイクロサービスアーキテクチャに基づくFunction Computeのリソース管理の単位です。 ビジネスの観点から、アプリケーションは複数のサービスに分割できます。 リソース使用の観点から、サービスは複数の機能を含むことができる。 例えば、データ処理サービスは、2つの機能、すなわち、より少ないリソースを必要とするデータ準備機能と、より多くのリソースを必要とするデータ処理機能とからなる。 仕様の低いインスタンスを設定して、データ準備機能を実行できます。 ただし、データ処理中は、関数リソースの要件が厳しいため、高仕様のインスタンスを選択する必要があります。
関数を作成する前に、サービスを作成する必要があります。 サービス内のすべての機能は、サービスの権限設定やログ設定などの一部の設定を共有します。 詳細については、「サービスの管理」をご参照ください。
関数
関数は、function Computeがリソースをスケジュールおよび実行する単位です。 Function Compute関数は、関数コードと関数設定で構成されます。
Function Compute関数はサービスに属します。 サービス内のすべての機能は、サービスの権限設定やログ設定などの一部の設定を共有します。 詳細については、「関数の管理」をご参照ください。
Function Computeは、イベント関数とHTTP関数の2種類の関数をサポートしています。 2つのタイプの関数の違いの詳細については、「関数タイプの選択」をご参照ください。
ハンドラ
- イベントハンドラー
イベントハンドラーは、OSSトリガー、Log Serviceトリガー、Message Queue for Apache RocketMQトリガーなど、HTTPトリガー以外のさまざまなイベントソースによってトリガーされたイベントリクエストを処理するために使用されます。
- HTTPハンドラー
HTTPハンドラーは、HTTPトリガーによってトリガーされるリクエストを処理します。 詳細については、「HTTPトリガーの設定と使用」をご参照ください。
Function ComputeコンソールのRequest handlerパラメーターを使用して、関数のハンドラーを設定できます。 詳細については、「関数の作成」をご参照ください。
version
バージョンは、サービスのスナップショットと見なすことができます。 バージョンには、サービスの設定、サービスに属する機能のコードや設定などの情報が含まれています。 バージョンにはトリガー情報が含まれていません。 バージョンはGitのコミットに似ています。 各コミットには、1つ以上のコードファイルまたは設定に対する変更が含まれ、指定された時点でのリポジトリのスナップショットを表します。 詳細については、「バージョンの管理」をご参照ください。
alias
エイリアスは、特定のサービスバージョンへのポインタと見なすことができます。 エイリアスを使用してバージョンを管理できます。 たとえば、エイリアスを使用してサービスバージョンをリリースまたはロールバックしたり、カナリアリリースを実装したりできます。 エイリアスはGitのタグに似ています。 コミットにタグを追加し、コミットをリリースして業務のイテレーションを実行できます。 詳細については、「エイリアスの管理」をご参照ください。
tag
タグはサービスリソースを分類するために使用されます。 これにより、リソースの検索と集約が容易になります。 タグ付け機能を使用して、サービスをグループ化し、異なるロールを許可して、異なるグループのサービスを管理できます。 メッセージルーティング機能の詳細については、「タグ管理」をご参照ください。
レイヤー
レイヤーを使用すると、パブリック依存関係ライブラリ、ランタイム、関数拡張などのカスタムリソースを公開および展開できます。 レイヤーを使用して、関数が依存するパブリックライブラリを抽象化できます。 これにより、関数を展開または更新するときの関数コードパッケージのサイズが小さくなります。 カスタムランタイムをレイヤーとしてデプロイして、複数の関数間でランタイムを共有することもできます。 詳細については、「カスタムレイヤーの作成」をご参照ください。
trigger
トリガーは、関数の実行をトリガーする方法です。 イベント駆動型コンピューティングモデルでは、イベントソースはイベントプロデューサーであり、関数はイベントハンドラーです。 トリガは、異なるイベントソースを集中的に管理する。 トリガーに定義されたルールに一致するイベントが発生すると、イベントソースはトリガーに関連付けられた関数を自動的に呼び出します。 詳細については、「トリガーの概要」をご参照ください。
runtime
ランタイムは、関数が実行される環境である。 Function Computeは、複数のプログラミング言語でランタイムを提供します。 詳細については、「Function Computeランタイム」をご参照ください。
カスタムドメイン名
カスタムドメイン名を、HTTPトリガーで設定されたアプリケーションまたは関数にバインドできます。 これにより、ユーザーは固定ドメイン名を使用してアプリケーションまたは機能にアクセスできます。 カスタムドメイン名をオリジンドメイン名として設定し、CDN高速化ドメイン名をカスタムドメイン名に追加することもできます。 これにより、ユーザーはリソースにすばやくアクセスでき、アクセス遅延を短縮してサービス品質を向上させます。 詳細については、「カスタムドメイン名の設定」をご参照ください。
従量課金
従量課金は、リソースを最初に使用し、後でそれらの料金を支払うことを可能にする課金方法です。 従量課金方法を使用する場合、使用したFunction Computeリソースに対してのみ課金されます。 事前にリソースを購入する必要はありません。 詳細については、「従量課金」をご参照ください。
resource plan, リソースプラン
リソースプランは、リソース使用料を相殺するためのプリペイドクォータです。 従量課金制と比較して、リソースプランの方が費用対効果が高くなります。 Function Computeは、さまざまなリソース使用タイプのリソースプランを提供します。 詳細については、「リソースプラン」をご参照ください。
elasticインスタンス
Function Computeの基本的なインスタンスタイプ。 Elasticインスタンスは、バーストトラフィックが発生するシナリオや計算集約型のシナリオに適しています。 詳細については、「インスタンスタイプと使用モード」をご参照ください。
GPU高速化インスタンス
Turingアーキテクチャに基づいており、GPUハードウェアを使用してサービスの負荷を高速化するインスタンスの種類。 このように、サービス処理はより効率的である。 GPU高速化インスタンスは、主にオーディオおよびビデオ処理、AI、画像処理などのシナリオで使用されます。 詳細については、「インスタンスタイプと使用モード」をご参照ください。
コールドスタート
関数のコールドスタートには、コードのダウンロード、関数の実行に使用されるインスタンスの開始、プロセスの初期化、関数の呼び出し中のコードの初期化などの手順が含まれます。 コールドスタートが完了すると、関数の実行に使用されるインスタンスは、後続のリクエストを処理する準備が整います。 詳細については、「コールドスタートの待ち時間を短縮するためのベストプラクティス」をご参照ください。
オンデマンドモード
オンデマンドモードでは、Function Computeは関数のインスタンスを自動的に割り当て、リリースします。 詳細については、「インスタンスタイプとインスタンスモード」の「オンデマンドモード」セクションをご参照ください。
プロビジョニングモード
プロビジョニングモードでは、関数のインスタンスを割り当て、リリースします。 Function Computeは、リクエストをプロビジョニングされたインスタンスに優先的に転送します。 プロビジョニングされたインスタンスがリクエストを処理するのに十分でない場合、残りのリクエストはオンデマンドインスタンスに転送されます。 詳細については、「インスタンスタイプとインスタンスモード」の「プロビジョニングモード」セクションをご参照ください。
プロビジョニングされたインスタンスは、作成後に使用できる状態になります。 これにより、コールドスタートによる影響が排除されます。
固定数のプロビジョニング済みインスタンスを作成する場合、すべてのインスタンスが使用されるとは限りません。 プロビジョニングされたインスタンスのスケジュールまたはメトリックベースの自動スケーリングを有効にして、インスタンスの使用率を向上させることができます。
スケジュールされた自動スケーリング
スケジュールされた自動スケーリングを使用すると、指定された時点でプロビジョニングされたインスタンスの数を指定された値に自動的に調整するルールを設定できます。 詳細については、「プロビジョニング済みインスタンスのスケーリングポリシー」をご参照ください。
メトリックベースの自動スケーリング
メトリックベースの自動スケーリングは、メトリックを追跡することにより、プロビジョニングされたインスタンスの数を動的に調整します。 詳細については、「プロビジョニング済みインスタンスのスケーリングポリシー」をご参照ください。
インスタンスの同時実行性
インスタンスの同時実行性は、1つのインスタンスで同時に処理できるリクエストの数を示します。 詳細については、「インスタンス同時実行の設定」をご参照ください。
同期呼び出し
同期呼び出しでは、イベントが関数によって処理された後に結果が返されます。 詳細については、「同期呼び出し」をご参照ください。
非同期呼び出し
非同期呼び出しでは、イベントが関数をトリガーした直後に応答が返されます。 関数によってイベントが処理されるのを待つ必要はありません。 Function Computeはイベントを処理しますが、関数の呼び出しの詳細または実行ステータスを返しません。 非同期呼び出しの結果を取得するには、非同期呼び出しの宛先を設定する必要があります。 詳細については、「機能の概要」をご参照ください。 各フェーズで非同期呼び出しの状態を追跡して保存する場合は、非同期タスク機能を有効にして非同期リクエストを処理できます。 詳細については、「機能の概要」をご参照ください。
洞察
Insightsは、関数リクエストの実行状態を要約する機能です。 Insightsを有効にすると、システムは関数の各実行に関するメトリクスを収集します。 詳細については、「リクエストレベルのメトリックログ」をご参照ください。
Tracing Analysis
Tracing Analysisは、分散アプリケーション開発用のツールセットを提供します。 これらのツールには、トレースマッピング、要求カウント、トレーストポロジ、およびアプリケーション依存関係分析用のツールが含まれます。 これらのツールを使用して、分散アプリケーションアーキテクチャのパフォーマンスのボトルネックを分析および診断し、マイクロサービスの開発と診断をより効率的にすることができます。 詳細については、「概要」をご参照ください。