Hosting paket Konsumsi Flex Azure Functions
Konsumsi Flex adalah paket hosting Azure Functions berbasis Linux yang dibangun di konsumsi membayar untuk apa yang Anda gunakan model penagihan tanpa server. Ini memberi Anda lebih banyak fleksibilitas dan penyesuaian dengan memperkenalkan jaringan privat, pemilihan ukuran memori instans, dan fitur peluasan skala cepat/besar yang masih didasarkan pada model tanpa server.
Penting
Paket Konsumsi Flex saat ini dalam pratinjau. Untuk daftar batasan saat ini saat menggunakan paket hosting ini, lihat Pertimbangan. Untuk informasi saat ini tentang penagihan selama pratinjau, lihat Penagihan.
Anda dapat meninjau sampel end-to-end yang menampilkan paket Konsumsi Flex di repositori sampel paket Konsumsi Flex.
Keuntungan
Paket Konsumsi Flex dibangun berdasarkan kekuatan rencana Konsumsi, yang mencakup penskalaan dinamis dan penagihan berbasis eksekusi. Dengan Flex Consumption, Anda juga mendapatkan fitur tambahan ini:
- Instans yang selalu siap
- Integrasi Virtual Network
- Penskalaan cepat berdasarkan konkurensi untuk aplikasi HTTP dan non-HTTP
- Beberapa pilihan untuk ukuran memori instans
Tabel ini membantu Anda secara langsung membandingkan fitur Konsumsi Flex dengan paket hosting Konsumsi:
Fitur | Konsumsi | Konsumsi Flex |
---|---|---|
Skalakan ke nol | ✅ Ya | ✅ Ya |
Perilaku skala | Digerakkan oleh peristiwa | Digerakkan oleh peristiwa (cepat) |
Jaringan virtual | ❌ Tidak didukung | ✅ Didukung |
Komputasi khusus (mengurangi awal dingin) | ❌ Tidak | ✅ Instans selalu siap (opsional) |
Billing | Hanya waktu eksekusi | Waktu eksekusi + instans yang selalu siap |
Instans peluasan skala (maks) | 200 | 1000 |
Untuk perbandingan lengkap paket Konsumsi Flex terhadap paket Konsumsi dan semua jenis paket dan hosting lainnya, lihat opsi skala fungsi dan hosting.
Integrasi jaringan virtual
Konsumsi Flex diperluas pada manfaat tradisional paket Konsumsi dengan menambahkan dukungan untuk integrasi jaringan virtual. Saat aplikasi Anda berjalan dalam paket Konsumsi Flex, aplikasi tersebut dapat terhubung ke layanan Azure lainnya yang diamankan di dalam jaringan virtual. Meskipun masih memungkinkan Anda untuk memanfaatkan penagihan dan skala tanpa server, bersama dengan manfaat skala dan throughput dari paket Konsumsi Flex. Untuk informasi selengkapnya, lihat Mengaktifkan integrasi jaringan virtual.
Memori instans
Saat membuat aplikasi fungsi dalam paket Konsumsi Flex, Anda dapat memilih ukuran memori instans tempat aplikasi Anda berjalan. Lihat Penagihan untuk mempelajari bagaimana ukuran memori instans memengaruhi biaya aplikasi fungsi Anda.
Saat ini, Konsumsi Flex menawarkan opsi ukuran memori instans 2.048 MB dan 4.096 MB.
Saat memutuskan ukuran memori instans mana yang akan digunakan dengan aplikasi Anda, berikut adalah beberapa hal yang perlu dipertimbangkan:
- Ukuran memori instans 2.048-MB adalah default dan harus digunakan untuk sebagian besar skenario. Gunakan ukuran memori instans 4.096-MB untuk skenario di mana aplikasi Anda memerlukan lebih banyak konkurensi atau daya pemrosesan yang lebih tinggi. Untuk informasi selengkapnya, lihat Mengonfigurasi memori instans.
- Anda dapat mengubah ukuran memori instans kapan saja. Untuk informasi selengkapnya, lihat Mengonfigurasi memori instans.
- Sumber daya instans dibagikan antara kode fungsi Anda dan host Functions.
- Semakin besar ukuran memori instans, semakin banyak setiap instans dapat menangani sejauh eksekusi bersamaan atau beban kerja CPU atau memori yang lebih intensif. Keputusan skala tertentu khusus untuk beban kerja.
- Konkurensi default pemicu HTTP tergantung pada ukuran memori instans. Untuk informasi selengkapnya, lihat Konkurensi pemicu HTTP.
- CPU dan bandwidth jaringan yang tersedia disediakan sebanding dengan ukuran instans tertentu.
Penskalakan per fungsi
Konkurensi adalah faktor kunci yang menentukan bagaimana aplikasi fungsi Konsumsi Flex menskalakan. Untuk meningkatkan performa skala aplikasi dengan berbagai jenis pemicu, paket Konsumsi Flex menyediakan cara yang lebih deterministik untuk menskalakan aplikasi Anda berdasarkan per fungsi.
Perilaku penskalaan per fungsi ini adalah bagian dari platform hosting, sehingga Anda tidak perlu mengonfigurasi aplikasi Anda atau mengubah kode. Untuk informasi selengkapnya, lihat Penskalaan per fungsi di artikel Penskalaan berbasis peristiwa.
Dalam penskalaan per fungsi, keputusan dibuat untuk pemicu fungsi tertentu berdasarkan agregasi grup. Tabel ini memperlihatkan kumpulan grup skala fungsi yang ditentukan:
Grup skala | Pemicu dalam grup | Nilai pengaturan |
---|---|---|
Pemicu HTTP | Pemicu HTTP Pemicu SignalR |
http |
Pemicu penyimpanan blob (Berbasis Event Grid) |
Pemicu penyimpanan blob | blob |
Fungsi Tahan Lama | Pemicu orkestrasi Pemicu aktivitas Pemicu entitas |
durable |
Semua fungsi lain dalam aplikasi diskalakan satu per satu dalam sekumpulan instans mereka sendiri, yang dirujuk menggunakan konvensi function:<NAMED_FUNCTION>
.
Instans yang selalu siap
Konsumsi Flex menyertakan fitur yang selalu siap yang memungkinkan Anda memilih instans yang selalu berjalan dan ditetapkan ke masing-masing grup atau fungsi skala per fungsi Anda. Ini adalah opsi yang bagus untuk skenario di mana Anda harus memiliki jumlah minimum instans yang selalu siap untuk menangani permintaan, misalnya, untuk mengurangi latensi mulai dingin aplikasi Anda. Defaultnya adalah 0 (nol).
Misalnya, jika Anda mengatur selalu siap untuk 2 untuk grup fungsi HTTP Anda, platform menjaga dua instans selalu berjalan dan ditetapkan ke aplikasi Anda untuk fungsi HTTP Anda di aplikasi. Instans tersebut memproses eksekusi fungsi Anda, tetapi tergantung pada pengaturan konkurensi, platform menskalakan di luar dua instans tersebut dengan instans sesuai permintaan.
Untuk mempelajari cara mengonfigurasi instans yang selalu siap, lihat Mengatur jumlah instans yang selalu siap.
Konkurensi
Konkurensi mengacu pada jumlah eksekusi paralel fungsi pada instans aplikasi Anda. Anda dapat mengatur jumlah maksimum eksekusi bersamaan yang harus ditangani setiap instans pada waktu tertentu. Untuk informasi selengkapnya, lihat Konkurensi pemicu HTTP.
Konkurensi memiliki efek langsung pada bagaimana aplikasi Anda menskalakan karena pada tingkat konkurensi yang lebih rendah, Anda memerlukan lebih banyak instans untuk menangani permintaan berbasis peristiwa untuk fungsi. Meskipun Anda dapat mengontrol dan menyempurnakan konkurensi, kami menyediakan default yang berfungsi untuk sebagian besar kasus. Untuk mempelajari cara mengatur batas konkurensi untuk fungsi pemicu HTTP, lihat Mengatur batas konkurensi HTTP.
Penyebaran
Penyebaran dalam paket Konsumsi Flex mengikuti satu jalur. Setelah kode proyek Anda dibangun dan di-zip ke dalam paket aplikasi, kode tersebut disebarkan ke kontainer penyimpanan blob. Saat memulai, aplikasi Anda mendapatkan paket dan menjalankan kode fungsi Anda dari paket ini. Secara default, akun penyimpanan yang sama yang digunakan untuk menyimpan metadata host internal (AzureWebJobsStorage) juga digunakan sebagai kontainer penyebaran. Namun, Anda dapat menggunakan akun penyimpanan alternatif atau memilih metode autentikasi pilihan Anda dengan mengonfigurasi pengaturan penyebaran aplikasi Anda. Dalam menyederhanakan jalur penyebaran, tidak perlu lagi pengaturan aplikasi memengaruhi perilaku penyebaran.
Billing
Ada dua mode di mana biaya Anda ditentukan saat menjalankan aplikasi Anda dalam paket Konsumsi Flex. Setiap mode ditentukan berdasarkan per instans.
Mode penagihan | Deskripsi |
---|---|
Sesuai Permintaan | Saat berjalan dalam mode sesuai permintaan , Anda hanya ditagih untuk jumlah waktu kode fungsi Anda dijalankan pada instans yang tersedia. Dalam mode sesuai permintaan, tidak diperlukan jumlah instans minimum. Anda ditagih untuk: • Jumlah total memori yang disediakan saat setiap instans sesuai permintaan secara aktif menjalankan fungsi (dalam GB-detik), dikurangi pemberian gratis GB per bulan. • Jumlah total eksekusi, dikurangi pemberian gratis (jumlah) eksekusi per bulan. |
Selalu siap | Anda dapat mengonfigurasi satu atau beberapa instans, yang ditetapkan ke jenis pemicu tertentu (HTTP/Durable/Blob) dan fungsi individual, yang selalu tersedia untuk dapat menangani permintaan. Ketika Anda mengaktifkan instans yang selalu siap, Anda akan ditagih untuk: • Jumlah total memori yang disediakan di semua instans Anda yang selalu siap, yang dikenal sebagai garis besar (dalam detik GB). • Jumlah total memori yang disediakan selama waktu setiap instans yang selalu siap secara aktif menjalankan fungsi (dalam detik GB). • Jumlah total eksekusi. Dalam penagihan yang selalu siap, tidak ada pemberian gratis. |
Periode eksekusi minimum yang dapat ditagih untuk kedua mode eksekusi adalah 1.000 md. Sebelumnya, periode aktivitas yang dapat ditagih dibulatkan ke atas hingga 100 ms terdekat. Anda dapat menemukan detail tentang meter penagihan paket Konsumsi Flex dalam referensi Pemantauan.
Untuk detail tentang bagaimana biaya dihitung saat Anda menjalankan dalam paket Konsumsi Flex, termasuk contoh, lihat Biaya berbasis konsumsi.
Untuk informasi terbaru tentang harga eksekusi, biaya garis besar yang selalu siap, dan pemberian gratis untuk eksekusi sesuai permintaan, lihat halaman harga Azure Functions.
Versi tumpukan bahasa yang didukung
Tabel ini memperlihatkan versi tumpukan bahasa yang saat ini didukung untuk aplikasi Konsumsi Flex:
Tumpukan bahasa komputer | Versi yang diperlukan |
---|---|
C# (mode proses terisolasi)1 | .NET 82 |
Java | Java 11, Java 17 |
Node.js | Simpul 20 |
PowerShell | PowerShell 7.4 |
Python | Python 3.10, Python 3.11 |
1C# dalam mode proses tidak didukung. Sebagai gantinya, Anda perlu memigrasikan proyek kode .NET Anda untuk berjalan dalam model pekerja yang terisolasi.
2Memerlukan versi atau yang 1.20.0
lebih baru dari Microsoft.Azure.Functions.Worker dan versi atau yang 1.16.2
lebih baru dari Microsoft.Azure.Functions.Worker.Sdk.
Kuota memori langganan regional
Saat ini dalam pratinjau setiap wilayah dalam langganan tertentu memiliki batas 512,000 MB
memori untuk semua instans aplikasi yang berjalan pada paket Konsumsi Flex. Ini berarti bahwa, dalam langganan dan wilayah tertentu, Anda dapat memiliki kombinasi ukuran dan jumlah memori instans, selama mereka tetap di bawah batas kuota. Misalnya, setiap contoh berikut berarti kuota telah tercapai dan aplikasi akan berhenti menskalakan:
- Anda memiliki satu aplikasi 2.048 MB yang diskalakan ke 100 dan aplikasi 2.048 MB kedua diskalakan menjadi 150 instans
- Anda memiliki satu aplikasi 2.048 MB yang diskalakan menjadi 250 instans
- Anda memiliki satu aplikasi 4.096 MB yang diskalakan menjadi 125 instans
- Anda memiliki satu aplikasi 4.096 MB yang diskalakan ke 100 dan satu aplikasi 2.048 MB diskalakan ke 50 instans
Kuota ini dapat ditingkatkan untuk memungkinkan aplikasi Konsumsi Flex Anda menskalakan lebih lanjut, tergantung pada kebutuhan Anda. Jika aplikasi Anda memerlukan kuota yang lebih besar, buat tiket dukungan.
Properti dan pengaturan yang tidak digunakan lagi
Dalam Konsumsi Flex, banyak pengaturan aplikasi standar dan properti konfigurasi situs yang digunakan dalam Bicep, templat ARM, dan sarana kontrol keseluruhan tidak digunakan lagi atau telah dipindahkan dan tidak boleh digunakan saat mengotomatiskan pembuatan sumber daya aplikasi fungsi. Untuk informasi selengkapnya, lihat Penghentian paket Konsumsi Flex.
Pertimbangan
Ingatlah pertimbangan lain ini saat menggunakan paket Konsumsi Flex selama pratinjau saat ini:
- Host: Ada batas waktu 30 detik untuk inisialisasi aplikasi. Jika aplikasi fungsi Anda membutuhkan waktu lebih dari 30 detik untuk memulai, Anda akan melihat entri System.TimeoutException terkait gRPC. Batas waktu ini akan dapat dikonfigurasi dan pengecualian yang lebih jelas akan diterapkan sebagai bagian dari item kerja host ini.
- Durable Functions: Karena sifat penskalaan per fungsi dari Konsumsi Flex, untuk memastikan performa terbaik untuk Durable Functions, sebaiknya atur jumlah instans Always Ready untuk
durable
grup ke1
. Selain itu, dengan penyedia Azure Storage, pertimbangkan untuk mengurangi interval polling antrean menjadi 10 detik atau kurang. Hanya Azure Storage yang didukung sebagai penyedia penyimpanan backend untuk fungsi tahan lama yang dihosting Flex Consumption. - Integrasi VNet Pastikan bahwa
Microsoft.App
penyedia sumber daya Azure diaktifkan untuk langganan Anda dengan mengikuti instruksi ini. Delegasi subnet yang diperlukan oleh aplikasi Flex Consumption adalahMicrosoft.App/environments
. - Pemicu: Semua pemicu didukung sepenuhnya kecuali untuk pemicu Kafka dan Azure SQL. Pemicu penyimpanan Blob hanya mendukung sumber Event Grid. Aplikasi fungsi non-C# harus menggunakan versi
[4.0.0, 5.0.0)
bundel ekstensi, atau versi yang lebih baru. - Wilayah: Tidak semua wilayah saat ini didukung. Untuk mempelajari selengkapnya, lihat Menampilkan wilayah yang saat ini didukung.
- Penyebaran: Slot penyebaran saat ini tidak didukung.
- Skala: Skala maksimum terendah dalam pratinjau adalah
40
. Nilai tertinggi yang saat ini didukung adalah1000
. - Dependensi terkelola: Dependensi terkelola di PowerShell tidak didukung oleh Konsumsi Flex. Anda harus menentukan modul kustom Anda sendiri.
- Pengaturan diagnostik: Pengaturan diagnostik saat ini tidak didukung.
- Sertifikat: Memuat sertifikat dengan pengaturan aplikasi WEBSITE_LOAD_CERTIFICATES saat ini tidak didukung.
- Referensi Key Vault: Referensi Key Vault di pengaturan aplikasi tidak berfungsi saat Key Vault dibatasi akses jaringan, bahkan jika aplikasi fungsi memiliki integrasi Virtual Network. Solusi saat ini adalah secara langsung mereferensikan Key Vault dalam kode dan membaca rahasia yang diperlukan.
- Pemasangan berbagi file Azure Files: Memasang berbagi file Azure Files tidak berfungsi saat aplikasi fungsi memiliki integrasi Virtual Network.
Artikel terkait
Opsihosting Azure Functions Membuat dan mengelola aplikasi fungsi dalam paket Konsumsi Flex