すべてのプロダクト
Search
ドキュメントセンター

Function Compute:関数の種類選択

最終更新日:Apr 30, 2025

さまざまなシナリオにおけるユーザーニーズに対応するため、Function Compute は、イベント関数、Web 関数、タスク関数、GPU 関数の 4 種類の関数を用意しています。このトピックでは、Function Compute がサポートする関数の種類の適用可能なシナリオと相違点について説明し、技術選択を支援します。

選択の概要

Function Compute を使用する場合、ビジネスシナリオと技術スタックのプリファレンスに基づいて、適切な関数の種類とランタイム環境を選択できます。

  • Web アプリケーションおよび API サービスの場合は、Web 関数[カスタムランタイム] を組み合わせて使用できます。この関数は、さまざまな一般的な Web アプリケーションフレームワークをサポートしており、ブラウザからアクセスしたり、URL によって直接呼び出したりできます。

  • ファイル処理データストリーム処理などのシナリオでは、イベント関数[組み込みランタイム] を組み合わせて使用することをお勧めします。イベントトリガーを設定し、Object Storage ServiceApsaraMQ for RocketMQSimple Log Service などのさまざまな Alibaba Cloud プロダクトを統合できます。

  • チャットボットテキストから画像への変換などのモデル推論シナリオでは、GPU 関数[カスタムイメージ] を組み合わせて使用できます。ComfyUI、RAG、TensorRT などの人気のある AI プロジェクトのコンテナイメージに基づいて、AI モデル推論サービスを迅速に構築できます。

  • 非同期タスクなどの スケジュールされたタスクオーディオおよびビデオのトランスコードのシナリオでは、タスク関数[組み込みランタイム] を組み合わせて使用することをお勧めします。

関数の種類とランタイム環境の詳細については、以下の表を参照してください。

説明
  • [組み込みランタイム][カスタムランタイム] はどちらも、コードパッケージの形式で関数にデプロイされます。コンテナ化されたデプロイが必要な場合は、ランタイム環境として [カスタムイメージ] を選択することもできます。

  • [GPU 関数] は、ランタイム環境として [カスタムイメージ] の使用のみをサポートしています。

選択の分析

関数の種類の選択

比較項目

[イベント関数]

[Web 関数]

[タスク関数]

[GPU 関数]

機能

OSS トリガーKafka トリガーSLS トリガー など、さまざまなクラウドプロダクトからのイベントによってトリガーされる、ファイルとデータストリームの処理に使用されます。

一般的な Web アプリケーションフレームワークをサポートし、ブラウザからアクセスしたり、URL を使用して呼び出したりできます。

非同期リクエストの処理に使用され、各フェーズでの非同期呼び出しの状態を追跡および保存できます。

Stable Diffusion WebUI、ComfyUI、RAG、TensorRT などの人気のある AI プロジェクトのコンテナイメージをサポートし、AI モデル推論サービスを迅速に構築できます。

適用可能なシナリオ

  • クラウドプロダクトの統合: OSS を使用したリアルタイムファイル処理、SLS を使用したログ操作など

  • ETL データ変換: データベースデータクレンジング、メッセージキュー処理など

  • 一般的な Web フレームワークを使用してアプリケーションを迅速に構築: SpringBootExpressFlask など

  • 既存のアプリケーションの移行: HTML5 Web サイト、REST API、BFF、モバイルアプリ、ミニアプリ、ゲーム決済など

  • 定期タスク: スケジュールされたタスク、定期タスク、スクリプトタスクなど

  • マルチメディア処理: オーディオおよびビデオのトランスコード、ライブ録画、画像操作など

  • 従来のオンライン推論: CV 視覚認識、NLP 自然言語処理など

  • AIGC モデル推論: テキストからテキスト、テキストから画像、テキストからオーディオなど

ランタイム環境

組み込みランタイムの使用をお勧めします

カスタムランタイムの使用をお勧めします

組み込みランタイムの使用をお勧めします

カスタムイメージのみをサポート

非同期タスク

デフォルトで無効

デフォルトで無効

デフォルトで有効

デフォルトで無効

説明

既存の関数で非同期タスクを有効にする必要がある場合は、タスクの管理の手順に従ってください。

関数のランタイム環境の選択

比較項目

組み込みランタイム

カスタムランタイム

カスタムイメージ

開発ワークフロー

Function Compute によって定義されたインターフェイスに基づいてハンドラを作成します。

フレームワークテンプレートに基づいて Web アプリケーションを開発し、パブリックエンドポイントを介してリアルタイムで結果を確認します。

カスタムイメージを Alibaba Cloud Container Registry にアップロードするか、Container Registry ですでに利用可能なイメージを使用します。

サポートされている インスタンスタイプ

CPU インスタンス

CPU インスタンス

CPU インスタンスと GPU インスタンス

単一インスタンス複数同時実行

サポートされていません

サポートされています

サポートされています

コールドスタート

最短。ランタイムはコードパッケージに含まれていないため、コールドスタートが最短になります。

短い。コードパッケージは HTTP サーバーであるため、比較的大きいですが、イメージをプルする必要がないため、コールドスタートは短くなります。

比較的長い。イメージをプルする必要があるため、コールドスタートが比較的長くなります。

コードの配信可能形式

ZIP、JAR(Java)、およびフォルダ

コンテナイメージ

コードの配信可能サイズ制限

一部のリージョン(杭州など)では最大 500 MB、その他のリージョンでは最大 100 MB です。

説明

レイヤーを設定して依存関係を追加し、コードパッケージのサイズを削減できます。

  • 解凍された CPU インスタンスイメージのサイズは 10 GB を超えることはできません。

  • 解凍された GPU インスタンスイメージのサイズは 15 GB を超えることはできません。

説明

AI 推論アプリケーションの場合は、大規模モデルを NAS または OSS に保存して、イメージサイズを削減できます。

サポートされているプログラミング言語

Node.js、Python、PHP、Java、C#、Go

制限なし

制限なし

コンソールから関数を作成する

イベント関数

OSS トリガーKafka トリガーSLS トリガー などのイベントトリガーを介して関連付けられた関数を呼び出す場合は、イベント関数を作成し、[ランタイム環境] として組み込みランタイムを使用することをお勧めします。

image

Web 関数

Java SpringBootNode.js ExpressPython FlaskGolang Gin など、さまざまな言語の一般的なフレームワークに基づいてプログラムを作成する場合は、Web 関数を作成し、[ランタイム環境] としてカスタムランタイムを使用することをお勧めします。

image

タスク関数

関数の非同期呼び出しを開始し、非同期呼び出しの各フェーズの状態を追跡および保存する必要がある場合は、タスク関数を作成し、[ランタイム環境] として組み込みランタイムを使用することをお勧めします。

image

GPU 関数

Stable Diffusion WebUI、ComfyUI、RAG、TensorRT などの人気のある AI プロジェクトのコンテナイメージを使用して GPU インスタンスを作成する場合は、GPU 関数を作成することをお勧めします。この関数は、[カスタムイメージ] ランタイム環境のみをサポートしています。

image