Untuk memenuhi kebutuhan pengguna dalam berbagai skenario, Function Compute menyediakan empat jenis fungsi: fungsi event, fungsi Web, fungsi task, dan fungsi GPU. Untuk mendukung berbagai alur kerja pengembangan, Function Compute menawarkan tiga jenis runtime: built-in runtimes, custom runtimes, dan custom images. Untuk mengakomodasi perbedaan tingkat pemanfaatan sumber daya dan preferensi penagihan, Function Compute menyediakan dua tipe instans: instans elastis dan instans yang disediakan. Topik ini menjelaskan fitur-fitur Function Compute beserta skenario penerapannya guna membantu Anda memilih teknologi yang tepat.
Ikhtisar pemilihan
Saat menggunakan Function Compute, Anda dapat memilih jenis fungsi dan runtime yang sesuai berdasarkan skenario bisnis dan tumpukan teknologi Anda, serta memilih tipe instans untuk mengoptimalkan kinerja dan biaya.
Aplikasi Web dan layanan API: Gunakan fungsi Web dengan Custom Runtime. Jenis fungsi ini mendukung berbagai framework aplikasi web populer dan dapat diakses melalui browser atau dipanggil melalui URL.
Pemrosesan file dan pemrosesan aliran data: Gunakan fungsi event dengan Built-in Runtime. Anda dapat mengonfigurasi pemicu event untuk mengintegrasikan berbagai Produk Alibaba Cloud, seperti Object Storage Service, ApsaraMQ for RocketMQ, dan Simple Log Service (SLS).
Skenario inferensi AI seperti Chatbot dan teks-ke-gambar: Gunakan fungsi GPU dengan Custom Image. Anda dapat dengan cepat membangun layanan inferensi model AI berdasarkan gambar kontainer dari proyek AI populer, seperti ComfyUI, RAG, dan TensorRT.
Tugas asinkron: Gunakan fungsi task dengan Built-in Runtime untuk skenario seperti tugas terjadwal dan transkoding video.
Baik Built-in Runtimes maupun Custom Runtimes diterapkan ke fungsi sebagai paket kode dan cocok untuk aplikasi ringan.
Untuk penerapan berbasis kontainer, gunakan Custom Image. GPU Functions hanya mendukung Custom Images.
Pemilihan jenis fungsi
Item perbandingan | Event Function | Web Function | Task Function | GPU Function |
Fitur | Memproses file dan aliran data. Dapat dipicu oleh event dari berbagai produk cloud, seperti pemicu OSS, pemicu Kafka, dan pemicu SLS. | Mendukung framework aplikasi web populer. Dapat diakses dari browser atau dipanggil melalui URL. | Memproses permintaan asinkron. Dapat melacak dan menyimpan status setiap tahap pemanggilan asinkron. | Mendukung gambar kontainer dari proyek AI populer, seperti Stable Diffusion WebUI, ComfyUI, RAG, dan TensorRT, untuk membangun layanan inferensi model AI secara cepat. |
Skenario |
|
|
|
|
Runtime | Direkomendasikan: built-in runtime | Direkomendasikan: custom runtime | Direkomendasikan: built-in runtime | Hanya mendukung custom images |
Nonaktif secara default | Nonaktif secara default | Aktif secara default | Nonaktif secara default |
Pemilihan runtime
Item perbandingan | Built-in runtime | Custom runtime | Custom image |
Alur kerja pengembangan | Menulis penanganan berdasarkan antarmuka yang ditentukan oleh Function Compute. | Mengembangkan aplikasi web berdasarkan templat framework dan melihat hasilnya secara langsung di titik akhir publik. | Mengunggah gambar kustom ke ACR lalu menggunakan gambar tersebut, atau menggunakan gambar yang sudah ada di ACR. |
Tipe instans yang didukung | Instans CPU | Instans CPU | Instans CPU dan instans yang dipercepat GPU |
Tidak didukung | Didukung | Didukung | |
Paling cepat. Paket kode tidak menyertakan runtime, sehingga cold start paling cepat. | Cepat. Paket kode berupa HTTP Server. Ukurannya besar tetapi tidak perlu menarik gambar, sehingga cold start cepat. | Lambat. Perlu menarik gambar, sehingga cold start lambat. | |
Format paket kode | ZIP, JAR (Java), atau folder | Gambar kontainer | |
Ukuran maksimum adalah 500 MB di beberapa wilayah (seperti Hangzhou) dan 100 MB di wilayah lainnya. Catatan Anda dapat mengonfigurasi layers 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 terbatas | Tidak terbatas |
Pemilihan tipe instans
Fungsi CPU hanya mendukung instans elastis. Untuk fungsi GPU, Anda dapat memilih antara instans elastis dan instans yang disediakan sesuai kebutuhan pemanfaatan sumber daya, latensi, dan stabilitas biaya. Untuk panduan pemilihan terperinci, lihat bagan alir berikut.
Anda hanya dapat mengikat instans yang disediakan ke fungsi GPU yang termasuk dalam seri Ada, Ada.2, Ada.3, Hopper, atau Xpu.1.
Instans elastis
Jika Anda mengatur jumlah minimum instans untuk suatu fungsi menjadi 0, instans akan secara otomatis diskalakan berdasarkan volume permintaan dan dilepas saat tidak ada permintaan. Artinya, Anda ditagih berdasarkan penggunaan dan tidak membayar apa pun saat fungsi tidak digunakan, sehingga mengoptimalkan penghematan biaya. Semakin sering permintaan bisnis, semakin tinggi pemanfaatan sumber daya dan semakin besar penghematan biaya dibandingkan menggunakan mesin virtual elastis.
Apakah ada cold start?
Ya. Untuk bisnis yang sensitif terhadap latensi, Anda dapat mengatur jumlah minimum instans menjadi 1 atau lebih untuk mengurangi cold start. Metode ini mengalokasikan sumber daya elastis sebelumnya. Saat permintaan tiba, instans akan segera diaktifkan untuk mengeksekusi permintaan.
Penagihan (Pay-as-you-go)
Biaya penggunaan fungsi merupakan jumlah biaya untuk instans elastis aktif dan instans elastis hibernasi dangkal (sebelumnya idle). Jika Anda mengatur jumlah minimum instans menjadi 1 atau lebih, Anda dapat mengaktifkan mode hibernasi dangkal. Dalam keadaan hibernasi dangkal, penggunaan vCPU gratis, dan penggunaan GPU ditagih hanya 20% dari tarif reguler. Biaya ini jauh lebih rendah daripada instans elastis aktif.
Untuk informasi lebih lanjut tentang skenario penggunaan instans elastis aktif dan hibernasi dangkal, lihat Instans elastis.
Instans yang disediakan
Tipe instans ini hanya berlaku untuk fungsi GPU. Anda dapat membeli kolam sumber daya yang disediakan terlebih dahulu, lalu mengalokasikan jumlah dan tipe instans yang disediakan tertentu ke suatu fungsi dari kolam sumber daya tersebut. Metode ini memberikan biaya penggunaan yang dapat diprediksi dan tetap, serta cocok untuk skenario dengan pemanfaatan sumber daya tinggi, persyaratan latensi ketat, atau kebutuhan biaya yang stabil.
Apakah ada cold start?
Tidak. Saat menggunakan instans yang disediakan, jumlah maksimum permintaan yang dapat diproses fungsi secara bersamaan ditentukan oleh rumus berikut: = Jumlah instans yang disediakan yang dialokasikan × Konkurensi instans. Permintaan yang melebihi batas ini akan dikendalikan alirannya. Permintaan dalam batas tersebut menerima respons real-time, sehingga cold start benar-benar dihilangkan.
Penagihan (Subscription)
Biaya fungsi adalah total biaya langganan untuk semua kolam sumber daya yang disediakan yang telah dibeli.