Untuk memenuhi kebutuhan pengguna dalam berbagai skenario, Function Compute menyediakan empat jenis fungsi: fungsi event, fungsi web, fungsi tugas, dan fungsi GPU. Topik ini menjelaskan skenario aplikasi dan perbedaan antara jenis-jenis fungsi yang didukung oleh Function Compute untuk membantu Anda membuat pilihan teknologi.
Ikhtisar pemilihan
Saat menggunakan Function Compute, Anda dapat memilih jenis fungsi dan lingkungan runtime yang sesuai berdasarkan skenario bisnis dan preferensi teknologi Anda.
Untuk aplikasi web dan layanan API, gunakan fungsi web dikombinasikan dengan Custom Runtime. Fungsi ini mendukung berbagai kerangka aplikasi web populer dan dapat diakses melalui browser atau langsung dipanggil menggunakan URL.
Untuk skenario seperti pemrosesan file dan pemrosesan aliran data, disarankan menggunakan fungsi event dikombinasikan dengan Built-in Runtime. Anda dapat mengonfigurasi pemicu event dan mengintegrasikan berbagai produk Alibaba Cloud seperti Object Storage Service, ApsaraMQ for RocketMQ, dan Simple Log Service.
Untuk skenario inferensi model seperti chatbot dan teks-ke-gambar, gunakan fungsi GPU dikombinasikan dengan Custom Images. Berdasarkan gambar kontainer proyek AI populer seperti ComfyUI, RAG, dan TensorRT, Anda dapat dengan cepat membangun layanan inferensi model AI.
Untuk skenario tugas terjadwal dan transkoding audio video seperti tugas asinkron, disarankan menggunakan fungsi tugas dikombinasikan dengan Built-in Runtime.
Untuk informasi lebih rinci tentang jenis fungsi dan lingkungan runtime, lihat tabel di bawah ini.
Built-in Runtime dan Custom Runtime keduanya diterapkan pada fungsi dalam bentuk paket kode. Jika diperlukan penyebaran berbasis kontainer, Anda juga dapat memilih Custom Images sebagai lingkungan runtime.
GPU Functions hanya mendukung penggunaan Custom Images sebagai lingkungan runtime.
Analisis pemilihan
Pemilihan jenis fungsi
Item perbandingan | Event Function | Web Function | Task Function | GPU Function |
Fitur | Digunakan untuk memproses file dan aliran data. Dapat dipicu oleh event dari berbagai produk cloud seperti pemicu OSS, pemicu Kafka, dan pemicu SLS. | Mendukung kerangka aplikasi web populer dan dapat diakses melalui browser atau dipanggil menggunakan URL. | Digunakan untuk memproses permintaan asinkron dan dapat melacak serta menyimpan status pemanggilan asinkron di setiap fase. | Mendukung gambar kontainer proyek AI populer seperti Stable Diffusion WebUI, ComfyUI, RAG, dan TensorRT untuk dengan cepat membangun layanan inferensi model AI. |
Skenario aplikasi |
|
|
|
|
Lingkungan runtime | Disarankan menggunakan runtime bawaan | Disarankan menggunakan runtime kustom | Disarankan menggunakan runtime bawaan | Hanya mendukung gambar kustom |
Nonaktif secara default | Nonaktif secara default | Aktif secara default | Nonaktif secara default |
Jika Anda perlu mengaktifkan tugas asinkron untuk fungsi yang sudah ada, Anda dapat mengikuti langkah-langkah dalam Kelola Tugas.
Pemilihan lingkungan runtime fungsi
Item perbandingan | Runtime bawaan | Runtime kustom | Gambar kustom |
Alur kerja pengembangan | Tulis handler berdasarkan antarmuka yang ditentukan oleh Function Compute. | Kembangkan aplikasi web berdasarkan template kerangka dan amati hasilnya secara real-time melalui titik akhir publik. | Unggah gambar kustom ke Alibaba Cloud Container Registry, atau gunakan gambar yang sudah tersedia di Container Registry. |
Jenis instans yang didukung | Instans CPU | Instans CPU | Instans CPU dan instans yang dipercepat GPU |
Tidak didukung | Didukung | Didukung | |
Paling singkat. Runtime tidak termasuk dalam paket kode, sehingga cold start menjadi paling singkat. | Singkat. Paket kode adalah server HTTP, yang relatif besar tetapi tidak memerlukan penarikan gambar, sehingga cold start menjadi singkat. | Relatif lama. Memerlukan penarikan gambar, sehingga cold start menjadi relatif lama. | |
Format deliverable kode | ZIP, JAR (Java), dan folder | Gambar kontainer | |
Beberapa wilayah (seperti Hangzhou) memiliki maksimum 500 MB, sedangkan wilayah lainnya memiliki maksimum 100 MB. Catatan Anda dapat mengonfigurasi layer untuk menambahkan dependensi dan mengurangi ukuran paket kode. |
Catatan Untuk aplikasi inferensi AI, Anda dapat menyimpan model besar di NAS atau OSS untuk mengurangi ukuran gambar. | ||
Bahasa pemrograman yang didukung | Node.js, Python, PHP, Java, C#, Go | Tidak ada batasan | Tidak ada batasan |
Buat fungsi melalui konsol
Fungsi event
Jika Anda ingin memanggil fungsi terkait melalui pemicu event seperti pemicu OSS, pemicu Kafka, dan pemicu SLS, disarankan untuk membuat fungsi event dan menggunakan runtime bawaan sebagai Runtime Environment.

Fungsi web
Jika Anda ingin menulis program berdasarkan kerangka populer dalam berbagai bahasa seperti Java SpringBoot, Node.js Express, Python Flask, dan Golang Gin, disarankan untuk membuat fungsi web dan menggunakan runtime kustom sebagai Runtime Environment.

Fungsi tugas
Jika Anda ingin memulai pemanggilan asinkron untuk fungsi dan perlu melacak serta menyimpan status setiap fase pemanggilan asinkron, disarankan untuk membuat fungsi tugas dan menggunakan runtime bawaan sebagai Runtime Environment.

Fungsi GPU
Jika Anda ingin membuat instans GPU menggunakan gambar kontainer proyek AI populer seperti Stable Diffusion WebUI, ComfyUI, RAG, dan TensorRT, disarankan untuk membuat fungsi GPU. Fungsi ini hanya mendukung lingkungan runtime Custom Image.
