Function Compute menawarkan lima tipe fungsi, tiga lingkungan runtime, dan berbagai tipe instans. Topik ini mencakup perbedaan utama antara setiap opsi untuk membantu Anda memilih kombinasi yang tepat bagi workload Anda.
Ikhtisar pemilihan
Saat menggunakan Function Compute, Anda dapat memilih tipe fungsi dan lingkungan runtime yang sesuai berdasarkan skenario bisnis dan preferensi tumpukan teknologi Anda, lalu menggabungkannya dengan tipe instans untuk mengoptimalkan kinerja dan biaya.
-
Aplikasi web dan layanan API: Gunakan Web Functions dengan Custom Runtime. Web Functions mendukung berbagai framework aplikasi web populer dan dapat diakses langsung dari browser melalui URL.
-
Pemrosesan file dan pemrosesan aliran data: Gunakan Event Functions dengan Built-in Runtime. Anda dapat mengonfigurasi pemicu event untuk mengintegrasikan berbagai layanan Alibaba Cloud, seperti Object Storage Service (OSS), ApsaraMQ for RocketMQ, dan Simple Log Service (SLS).
-
Chatbot, teks-ke-gambar, dan skenario inferensi AI lainnya: Gunakan GPU Functions dengan Custom Container. Bangun layanan inferensi model AI secara cepat berdasarkan gambar kontainer dari proyek AI populer seperti ComfyUI, RAG, dan TensorRT.
-
Tugas asinkron: Gunakan Task Functions dengan Built-in Runtime untuk menangani tugas terjadwal, transkoding audio dan video, serta skenario serupa lainnya.
-
Code Interpreter, otomatisasi browser, dan skenario interaktif lainnya: Gunakan Sandbox Functions dengan Custom Container. Sandbox Functions menyediakan instans sandbox persisten dengan keep-alive instans berbasis sesi.
-
Built-in Runtime dan Custom Runtime keduanya diterapkan sebagai paket kode dan cocok untuk aplikasi ringan.
-
Untuk penerapan berbasis kontainer, pilih Custom Container. GPU Functions hanya mendukung Custom Container.
Pemilihan tipe fungsi
|
Event Function |
Web Function |
Task Function |
GPU Function |
Sandbox Function |
|
|
Deskripsi |
Memproses file dan aliran data yang dipicu oleh event layanan cloud, seperti pemicu OSS, pemicu Kafka, dan pemicu SLS. |
Mendukung framework web populer. Dapat diakses dari browser atau langsung melalui URL. |
Memproses permintaan asinkron. Melacak dan menyimpan status setiap tahap pemanggilan asinkron. |
Menjalankan gambar kontainer dari proyek AI populer seperti Stable Diffusion WebUI, ComfyUI, RAG, dan TensorRT. |
Menyediakan instans sandbox persisten dengan keep-alive instans berbasis sesi untuk lingkungan runtime interaktif. |
|
Kasus penggunaan |
Integrasi layanan cloud: Pemrosesan file real-time dengan OSS, pemrosesan log dengan Simple Log Service (SLS). Pemrosesan data ETL: Pembersihan database, pemrosesan antrian pesan. |
Framework web populer: SpringBoot, Express, Flask, dan lainnya. Migrasi aplikasi yang ada: Situs web HTML5, REST API, Backend for Frontend (BFF), aplikasi seluler, mini program, penyelesaian game, dan lainnya. |
Tugas tujuan umum: Tugas terjadwal, periodik, dan berbasis skrip. Pemrosesan multimedia: Transkoding video, perekaman siaran langsung, pemrosesan gambar. |
Inferensi tradisional: Computer vision (CV) dan natural language processing (NLP). Inferensi model AIGC: Generasi teks-ke-teks, teks-ke-gambar, dan teks-ke-audio. |
Code Interpreter: Eksekusi kode dan analisis data. Otomatisasi browser: Web scraping dan pengujian UI. Eksekusi tool agen AI: Menyediakan lingkungan eksekusi aman untuk panggilan tool model besar. |
|
Runtime yang direkomendasikan |
Hanya Custom Container |
Hanya Custom Container |
|||
|
Nonaktif secara default |
Nonaktif secara default |
Aktif secara default |
Nonaktif secara default |
Tidak berlaku |
|
|
Paling cocok untuk |
Mengintegrasikan layanan Alibaba Cloud melalui pemicu event |
Membangun dan memigrasikan aplikasi web serta API |
Pekerjaan berdurasi panjang yang memerlukan pelacakan status |
Workload inferensi AI/ML yang memerlukan akselerasi GPU |
Workload interaktif yang memerlukan instans persisten dengan keep-alive berbasis sesi |
Pemilihan lingkungan runtime
|
Built-in Runtime |
Custom Runtime |
Custom Container |
|
|
Alur kerja pengembangan |
Tulis penanganan permintaan menggunakan antarmuka yang didefinisikan oleh Function Compute. |
Kembangkan dengan templat framework web dan lihat hasilnya secara instan di titik akhir publik. |
Unggah gambar kustom ke Alibaba Container Registry (ACR) lalu terapkan, atau gunakan gambar yang sudah ada di ACR. |
|
Tipe instans yang didukung |
Instans CPU |
Instans CPU |
Instans CPU dan instans GPU |
|
Tidak didukung |
Didukung |
Didukung |
|
|
Paling cepat — paket kode tidak menyertakan runtime. |
Cepat — paket kode (server HTTP) lebih besar, tetapi tidak memerlukan pull image. |
Lebih lambat — memerlukan pull image saat cold start. |
|
|
Format paket kode |
ZIP, JAR (Java), atau folder |
Container Image |
|
|
500 MB di wilayah tertentu (seperti Hangzhou); 100 MB di wilayah lainnya. Gunakan Layers untuk menambahkan dependensi dan mengurangi ukuran paket. |
Gambar instans CPU: 10 GB tidak terkompresi. Gambar instans GPU: 15 GB tidak terkompresi. Untuk inferensi AI, simpan model besar di NAS atau OSS untuk mengurangi ukuran gambar. |
||
|
Bahasa yang didukung |
Node.js, Python, PHP, Java, C#, Go |
Tidak ada batasan |
Tidak ada batasan |
|
Paling cocok untuk |
Fungsi ringan menggunakan bahasa yang didukung dengan cold start tercepat |
Aplikasi web dan API menggunakan framework apa pun |
Workload GPU dan penerapan berbasis kontainer |
Pemilihan tipe instans
Fungsi CPU hanya mendukung Elastic Instances. GPU Functions mendukung tiga tipe instans, yang dapat Anda ganti kapan saja tanpa gangguan layanan.
Panduan pengambilan keputusan
Gunakan pertanyaan berikut untuk menemukan tipe instans yang tepat:
-
Apakah workload Anda sensitif terhadap latensi dan bersifat interaktif? Misalnya, chatbot real-time atau API generasi gambar. Jika ya, gunakan Provisioned Instances untuk menghilangkan cold start dan menjamin waktu respons.
-
Apakah trafik Anda mengikuti garis dasar yang dapat diprediksi dengan lonjakan sesekali? Jika ya, gunakan Mixed Mode (Provisioned + Elastic Instances) untuk mempertahankan kapasitas garis dasar yang stabil sekaligus menyerap lonjakan trafik.
-
Apakah trafik Anda bervariasi, meledak-ledak, atau frekuensi rendah? Jika ya, gunakan Elastic Instances dan bayar hanya untuk penggunaan aktif.
Perbandingan tipe instans
|
Elastic Instance |
Provisioned Instance |
Provisioned + Elastic (Mixed Mode) |
|
|
Berlaku untuk |
Fungsi CPU (satu-satunya opsi); GPU Functions |
Hanya Fungsi GPU |
GPU-Only Functions |
|
Cold start |
Ya, jika jumlah minimum instans = 0. Atur jumlah minimum instans menjadi 1 atau lebih untuk mengalokasikan sumber daya sebelumnya dan mengurangi cold start. |
Tidak ada. Semua permintaan dalam kapasitas yang dialokasikan mendapatkan respons real-time. |
Sebagian. Permintaan dalam kolam sumber daya khusus tidak mengalami cold start; instans skala keluar elastis mengalaminya. |
|
Model penagihan |
Bayar sesuai penggunaan |
Langganan |
Langganan (bagian provisioned) + bayar sesuai penggunaan (bagian elastis) |
|
Paling cocok untuk |
Trafik bervariasi atau frekuensi rendah; workload yang sensitif terhadap biaya |
Workload sensitif terhadap latensi atau trafik stabil |
Workload dengan garis dasar yang dapat diprediksi dan lonjakan trafik tak terduga |
Elastic Instance
Elastic Instances melakukan penskalaan otomatis sesuai volume permintaan dan dilepas saat tidak digunakan. Mengatur jumlah minimum instans menjadi 0 memberikan model murni bayar sesuai penggunaan — Anda hanya membayar untuk penggunaan aktif.
Perilaku cold start: Cold start terjadi ketika instans diskalakan dari nol. Untuk mengurangi latensi cold start, atur jumlah minimum instans menjadi 1 atau lebih. Hal ini mengalokasikan sumber daya elastis sebelumnya sehingga instans siap menangani permintaan masuk dengan cepat.
Penagihan: Biaya mencakup tagihan untuk instans baik dalam keadaan aktif maupun Shallow Hibernation. Dalam Shallow Hibernation, sumber daya vCPU tidak dikenai biaya dan sumber daya GPU ditagih seperlima dari tarif aktif. Jika Anda mengatur jumlah minimum instans menjadi 1 atau lebih, aktifkan Shallow Hibernation untuk mengurangi biaya saat idle.
Gunakan Elastic Instances saat:
-
Trafik Anda bervariasi, meledak-ledak, atau frekuensi rendah
-
Anda ingin membayar hanya untuk penggunaan aktual
-
Workload Anda dapat mentoleransi latensi cold start sesekali (atau Anda menguranginya dengan jumlah minimum instans)
Provisioned Instance
Provisioned Instances hanya berlaku untuk GPU Functions. Beli kolam sumber daya khusus (sebelumnya kolam sumber daya resident) terlebih dahulu, lalu alokasikan jumlah dan tipe instans tertentu ke fungsi Anda. Hal ini menghilangkan cold start dalam kapasitas yang dialokasikan dan memberikan biaya tetap yang dapat diprediksi.
Perilaku cold start: Tidak ada. Semua permintaan dalam kapasitas yang dialokasikan menerima respons real-time. Jumlah maksimum permintaan konkuren = (Jumlah Provisioned Instances yang dialokasikan) × (Kongkurensi instans). Permintaan yang melebihi batas ini akan dikendalikan alirannya.
Penagihan: Total biaya langganan untuk semua kolam sumber daya khusus yang dibeli.
Provisioned Instances hanya tersedia untuk GPU Functions dalam seri Ada, Ada.2, Ada.3, Hopper, atau Xpu.1.
Gunakan Provisioned Instances saat:
-
Workload Anda sensitif terhadap latensi dan bersifat interaktif (misalnya, chatbot real-time atau API generasi gambar)
-
Trafik Anda stabil dan dapat diprediksi
-
Anda memerlukan kapasitas terjamin dan waktu respons konsisten
Provisioned + Elastic Instances (Mixed Mode)
Mixed Mode hanya berlaku untuk GPU Functions. Mode ini menggabungkan Provisioned dan Elastic Instances: kolam sumber daya khusus menangani trafik steady-state terlebih dahulu, dan instans elastis melakukan penskalaan otomatis saat permintaan melebihi kapasitas kolam sumber daya khusus. Hal ini memberikan garis dasar terjamin dengan fleksibilitas untuk menyerap lonjakan trafik mendadak.
Perilaku cold start: Sebagian. Permintaan yang ditangani dalam kolam sumber daya khusus tidak mengalami cold start. Permintaan yang memicu auto-scaling ke instans elastis baru mengalami cold start.
Penagihan: Bagian provisioned ditagih berdasarkan kuota kolam sumber daya khusus yang dibeli. Instans elastis yang diluncurkan melebihi kuota kolam sumber daya khusus ditagih berdasarkan model bayar sesuai penggunaan, dengan tarif yang sama seperti instans elastis aktif dan Shallow Hibernation.
Gunakan Mixed Mode saat:
-
Trafik Anda memiliki garis dasar yang dapat diprediksi tetapi sesekali mengalami lonjakan
-
Anda menginginkan kinerja stabil untuk beban normal dengan kemampuan menangani trafik lonjakan
-
Anda memerlukan keseimbangan antara prediktabilitas biaya dan fleksibilitas penskalaan