Bagikan melalui


Hosting paket Konsumsi Fleksibel untuk Azure Functions

Flex Consumption adalah paket hosting Azure Functions berbasis Linux yang didasarkan pada model penagihan tanpa server bayar sesuai penggunaan Anda. 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.

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 paket Konsumsi tanpa server, yang mencakup penskalaan dinamis dan penagihan berbasis eksekusi. Dengan Flex Consumption, Anda juga mendapatkan fitur tambahan ini:

  • Waktu Mulai Dingin Berkurang: Aktifkan instans yang selalu siap untuk mencapai waktu mulai dingin yang lebih cepat dibandingkan dengan paket Konsumsi.
  • Dukungan jaringan virtual: Integrasi jaringan virtual memungkinkan aplikasi tanpa server Anda berjalan di jaringan virtual.
  • Per-Function Penskalaan: Setiap fungsi dalam aplikasi Anda diskalakan secara independen berdasarkan beban kerjanya, berpotensi menghasilkan alokasi sumber daya yang lebih efisien.
  • Penanganan Konkurensi yang Ditingkatkan: Penanganan eksekusi bersamaan yang lebih baik dengan pengaturan konkurensi yang dapat dikonfigurasi per fungsi.
  • Konfigurasi Memori Fleksibel: Flex Consumption menawarkan beberapa opsi ukuran memori instans , memungkinkan Anda mengoptimalkan persyaratan beban kerja spesifik Anda.

Tabel ini membantu Anda secara langsung membandingkan fitur Konsumsi Flex dengan paket hosting Konsumsi:

Fitur Konsumsi Flex Consumption
Skalakan ke nol ✅ Ya ✅ Ya
Perilaku skala Digerakkan oleh peristiwa Berbasis peristiwa (cepat)
Jaringan virtual ❌ Tidak didukung ✅ Didukung
Komputasi khusus (mengurangi startup lambat) ❌ Tidak ✅ Instans selalu siap (opsional)
Penagihan Hanya saat waktu eksekusi Waktu pelaksanaan + instans yang siap setiap saat
Instans peluasan skala (maks) 200 1000

Untuk perbandingan lengkap antara paket Flex Consumption, paket Konsumsi, dan semua jenis paket serta hosting lainnya, lihat pilihan skala fungsi dan hosting.

Integrasi jaringan virtual

Rencana Konsumsi Flex memperluas 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 Anda masih dapat memanfaatkan penagihan dan skala tanpa server, sekaligus menikmati manfaat skala dan throughput dari rencana Konsumsi Fleksibel. Untuk informasi selengkapnya, lihat Mengaktifkan integrasi jaringan virtual.

Memori yang terinstansiasi

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, Flex Consumption menawarkan opsi ukuran memori instans ini: 512 MB, 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. Ukuran memori instans 512 MB dan 4.096 MB tersedia untuk skenario yang paling sesuai dengan persyaratan daya konkurensi atau pemrosesan aplikasi Anda. 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 terkait skalabilitas yang spesifik untuk konteks 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 dalam 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. Selalu siap adalah opsi yang bagus untuk skenario di mana Anda harus memiliki jumlah minimum instans yang selalu siap untuk menangani permintaan. Misalnya, untuk mengurangi latensi startup aplikasi Anda. Defaultnya adalah 0 (nol).

Misalnya, jika Anda mengatur nilai 2 untuk selalu siap pada grup fungsi HTTP Anda, platform akan menjaga dua instance selalu berjalan dan ditetapkan ke aplikasi Anda untuk fungsi HTTP tersebut. Instans tersebut memproses eksekusi fungsi Anda, tetapi tergantung pada pengaturan konkurensi, platform menskalakan di luar dua instans tersebut dengan instans sesuai permintaan.

Tidak kurang dari dua instans yang selalu siap dapat dikonfigurasi per fungsi atau grup fungsi saat redundansi zona diaktifkan.

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. 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. Untuk mempelajari cara mengatur batas konkurensi untuk fungsi pemicu non-HTTP, lihat Target Base Scaling.

Penyebaran

Penyebaran pada rencana Konsumsi Fleksibel mengikuti satu jalur, dan tidak ada lagi kebutuhan untuk pengaturan aplikasi untuk mempengaruhi perilaku penyebaran. 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.

Penagihan

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 on demand secara aktif menjalankan fungsi (dalam GB-detik), dikurangi kuota 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 siap 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 baseline (dalam GB-detik).
• Jumlah total memori yang disediakan selama waktu setiap instans yang selalu siap sedang aktif menjalankan fungsi (dalam GB-detik).
• Jumlah total eksekusi.

Dalam penagihan yang selalu siap, tidak ada pemberian gratis.

Untuk informasi terbaru tentang penetapan harga eksekusi, biaya dasar yang selalu siap, dan hibah gratis untuk eksekusi berdasarkan permintaan, silakan lihat halaman harga Azure Functions.

Periode eksekusi minimum yang dapat ditagih untuk kedua mode eksekusi adalah 1.000 md. Setelah itu, 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.

Versi tumpukan bahasa yang didukung

Tabel ini memperlihatkan versi stack bahasa yang saat ini didukung untuk aplikasi Flex Consumption:

Tumpukan bahasa komputer Versi yang diperlukan
C# (mode proses terisolasi)1 .NET 82, .NET 93
Java Java 11, Java 17, Java 21
Node.js Node.js 20, Node.js 22
PowerShell PowerShell 7.4
Phyton Python 3.10, Python 3.11, Python 3.12
  1. C# dalam mode proses tidak didukung. Sebagai gantinya, Anda perlu memigrasikan proyek kode .NET Anda untuk berjalan dalam model pekerja yang terisolasi.
  2. Memerlukan versi 1.20.0 atau yang lebih baru dari Microsoft.Azure.Functions.Worker dan versi 1.16.2 atau yang lebih baru dari Microsoft.Azure.Functions.Worker.Sdk.
  3. Memerlukan versi 2.0.0 atau lebih baru dari Microsoft.Azure.Functions.Worker dan Microsoft.Azure.Functions.Worker.Sdk.

Kuota memori untuk langganan regional

Saat ini, setiap wilayah dalam langganan tertentu memiliki batas 512,000 MB memori untuk semua instans aplikasi yang berjalan pada paket Konsumsi Flex. Kuota ini berarti bahwa, dalam langganan dan wilayah tertentu, Anda dapat memiliki kombinasi ukuran dan jumlah memori instans, selama tetap berada di bawah batas kuota. Misalnya, setiap contoh berikut berarti kuota tercapai dan aplikasi akan berhenti menskalakan:

  • Anda memiliki satu aplikasi 512-MB yang diskalakan menjadi 250 instans dan aplikasi 512 MB kedua yang diskalakan menjadi 750 instans.
  • Anda memiliki satu aplikasi 512-MB yang diskalakan ke 1.000 instans.
  • 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 berukuran 2.048 MB yang telah diskalakan menjadi 250 instans
  • Anda memiliki satu aplikasi 4,096-MB yang diperluas menjadi 125 instance
  • Anda memiliki satu aplikasi 4.096-MB yang diskalakan ke 100 dan satu aplikasi 2.048-MB diskalakan menjadi 50 instans

Aplikasi Konsumsi Flex diskalakan ke nol, atau instans yang ditandai untuk diskalakan dan dihapus, tidak dihitung terhadap kuota. 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 paket Konsumsi Flex, banyak pengaturan aplikasi standar dan properti konfigurasi situs 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:

  • Aplikasi per Paket: Hanya satu aplikasi yang diizinkan per paket Konsumsi Flex.
  • Host: Ada batas waktu 30 detik untuk inisialisasi aplikasi. Saat aplikasi fungsi Anda membutuhkan waktu lebih dari 30 detik untuk memulai, Anda mungkin melihat entri terkait System.TimeoutException gRPC dicatat. Saat ini Anda tidak dapat mengonfigurasi batas waktu ini. Untuk informasi selengkapnya, lihat item kerja host ini.
  • Durable Functions: Azure Storage saat ini adalah satu-satunya penyedia penyimpanan yang didukung untuk Durable Functions saat dihosting dalam paket Konsumsi Flex. Lihat rekomendasi saat menghosting Durable Functions dalam rencana Konsumsi Fleksibel.
  • Integrasi jaringan virtual Pastikan bahwa Microsoft.App penyedia sumber daya Azure diaktifkan untuk langganan Anda dengan mengikuti instruksi ini. Delegasi subnet yang diperlukan oleh aplikasi Flex Consumption adalah Microsoft.App/environments.
  • Pemicu: Meskipun semua pemicu didukung penuh dalam paket Konsumsi Flex, 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.
  • Proksi: Proksi untuk Fungsi tidak didukung. Pertimbangkan untuk mengintegrasikan aplikasi fungsi Anda dengan Azure API Management.
  • Skala: Skala maksimum terendah saat ini 40adalah . Nilai tertinggi yang saat ini didukung adalah 1000.
  • Dependensi terkelola: Dependensi terkelola di PowerShell tidak didukung oleh Flex Consumption. Anda harus mengunggah modul yang berisi konten aplikasi.
  • Pengaturan diagnostik: Pengaturan diagnostik saat ini tidak didukung.
  • Sertifikat: Memuat sertifikat dengan pengaturan aplikasi WEBSITE_LOAD_CERTIFICATES, sertifikat terkelola, sertifikat layanan aplikasi, dan fitur berbasis sertifikat platform lainnya saat ini tidak didukung.
  • Referensi Key Vault dan App Configuration: Saat ini Anda tidak dapat menggunakan referensi Azure Key Vault atau Azure App Configuration di pengaturan aplikasi paket Konsumsi Flex Anda saat layanan ini dibatasi akses jaringan. Batasan ini berlaku bahkan ketika aplikasi fungsi mengaktifkan integrasi Virtual Network. Jika Anda harus menggunakan instans Key Vault atau App Configuration yang dibatasi, Anda perlu menggunakan SDK klien untuk secara manual mengambil nilai dari referensi di layanan tersebut. Ekstensi pengikatan Fungsi juga tidak dapat mengakses referensi ini, yang berarti Anda juga harus menggunakan SDK klien Azure untuk mengakses data layanan jarak jauh dari kode fungsi Anda.
  • Zona waktu: WEBSITE_TIME_ZONE dan TZ pengaturan aplikasi saat ini tidak didukung saat berjalan pada paket Konsumsi Flex.

Opsi hosting untuk Azure FunctionsBuat dan kelola aplikasi fungsi dalam rencana Konsumsi Flex