Paket Premium Azure Functions

Rencana Azure Functions Premium adalah opsi {i>hostingartikel paket hosting.

Penting

Azure Functions dapat berjalan di platform Azure App Service. Di platform App Service, paket yang menghosting aplikasi fungsi paket Premium disebut sebagai paket Elastic Premium, dengan nama SKU seperti EP1. Jika Anda memilih untuk menjalankan aplikasi fungsi Anda pada paket Premium, pastikan untuk membuat paket dengan nama SKU yang dimulai dengan huruf "E", seperti EP1. Nama SKU paket App Service yang dimulai dengan "P", seperti P1V2 (paket Premium V2 Small), sebenarnya adalah paket hosting Khusus. Karena mereka berdedikasi dan bukan Premium Elastis, paket dengan nama SKU dimulai dengan "P" tidak akan menskalakan secara dinamis dan dapat meningkatkan biaya Anda.

Hosting paket premium memberikan manfaat berikut untuk fungsi Anda:

  • Hindari awal yang dingin dengan contoh yang panas.
  • Konektivitas jaringan virtual.
  • Mendukung durasi runtime yang lebih lama.
  • Pilihan ukuran instans Premium.
  • Harga yang lebih dapat diprediksi, dibandingkan dengan paket Pemakaian.
  • Alokasi aplikasi dengan kepadatan tinggi untuk paket dengan beberapa aplikasi fungsi.

Saat Anda menggunakan paket Premium, instans host Azure Functions ditambahkan dan dihapus secara dinamis berdasarkan jumlah peristiwa masuk, seperti halnya Paket Pemakaian. Beberapa aplikasi fungsi dapat disebarkan ke paket Premium yang sama, dan paket memungkinkan Anda mengonfigurasi ukuran instans komputasi, ukuran paket dasar, dan ukuran paket maksimum.

Billing

Penagihan untuk paket Premium didasarkan pada jumlah detik inti dan memori yang dialokasikan di seluruh instans. Penagihan ini berbeda dari paket Konsumsi, yang ditagih berdasarkan konsumsi dan eksekusi sumber daya per detik. Paket Premium tidak mengenakan biaya eksekusi. Penagihan ini menghasilkan biaya bulanan minimum per paket aktif, baik fungsinya aktif atau tidak. Perlu diingat bahwa semua aplikasi fungsi dalam paket Premium berbagi instans yang dialokasikan. Untuk mempelajari selengkapnya, lihat halaman harga Azure Functions.

Catatan

Setiap paket premium memiliki setidaknya satu instans aktif (ditagih) setiap saat.

Membuat paket Premium

Saat Anda membuat aplikasi fungsi di portal Microsoft Azure, paket Pemakaian adalah default. Untuk membuat aplikasi fungsi yang berjalan dalam paket Premium, Anda harus secara eksplisit membuat atau memilih paket hosting Premium Azure Functions menggunakan salah satu SKU Premium Elastis. Aplikasi fungsi yang Anda buat kemudian dihosting dalam paket ini. Portal Microsoft Azure memudahkan untuk membuat paket Premium dan aplikasi fungsi secara bersamaan. Anda dapat menjalankan lebih dari satu aplikasi fungsi dalam paket Premium yang sama, tetapi keduanya harus berjalan di sistem operasi yang sama (Windows atau Linux).

Artikel berikut menunjukkan kepada Anda cara membuat aplikasi fungsi secara terprogram dengan paket Premium:

Menghilangkan cold starts

Saat peristiwa atau eksekusi tidak terjadi dalam paket Konsumsi, aplikasi Anda mungkin menskalakan ke nol instans. Saat peristiwa baru masuk, instans baru dengan aplikasi Anda yang berjalan di dalamnya harus dikhususkan. Mengkhususkan instans baru membutuhkan waktu, tergantung pada aplikasi. Latensi tambahan pada panggilan pertama ini sering disebut cold start aplikasi.

Paket premium menyediakan dua fitur yang bekerja sama untuk secara efektif menghilangkan cold start dalam fungsi Anda: instans yang selalu siap dan instans yang sudah ada sebelumnya. Instans yang selalu siap adalah kategori instans yang telah dialokasikan sebelumnya yang tidak terpengaruh oleh penskalaan, dan instans yang sudah ada sebelumnya adalah buffer saat Anda menskalakan karena peristiwa HTTP.

Saat peristiwa mulai memicu aplikasi, peristiwa tersebut pertama-tama dirutekan ke instans yang selalu siap. Saat fungsi menjadi aktif karena peristiwa HTTP, instans lain dihangatkan sebagai buffer. Instans yang di-buffer ini disebut instans yang sudah ada sebelumnya. Buffer ini mengurangi cold start untuk instans baru yang diperlukan selama penskalaan.

Instans yang selalu siap

Dalam paket Premium, Anda dapat membuat aplikasi selalu siap pada jumlah instans tertentu. Aplikasi Anda berjalan secara terus menerus pada instans tersebut, terlepas dari bebannya. Jika beban melebihi apa yang dapat ditangani instans Anda yang selalu siap, lebih banyak instans ditambahkan seperlunya, hingga maksimum yang Anda tentukan.

Pengaturan tingkat aplikasi ini juga mengontrol instans minimum paket Anda. Misalnya, pertimbangkan untuk memiliki tiga aplikasi fungsi dalam paket Premium yang sama. Ketika dua aplikasi Anda selalu menyiapkan jumlah instans yang diatur ke satu dan dalam instans ketiga, jumlah minimum untuk seluruh paket Anda adalah lima. Ini juga mencerminkan jumlah minimum instans di mana paket Anda ditagih. Jumlah maksimum instans yang selalu siap yang kami dukung per aplikasi adalah 20.

Anda dapat mengonfigurasi jumlah instans yang selalu siap di portal Microsoft Azure dengan memilih Aplikasi Fungsi Anda, masuk ke tab Fitur Platform, dan memilih opsi Scale Out. Di jendela edit aplikasi fungsi, instans selalu siap khusus untuk aplikasi tersebut.

Pengaturan skala elastis di portal

Instans yang sudah ada sebelumnya

Pengaturan jumlah instans yang sudah ada sebelumnya menyediakan instans yang dihangatkan sebagai buffer selama peristiwa skala dan aktivasi HTTP. Instans prewarmed terus buffer hingga batas peluasan skala maksimum tercapai. Jumlah instans bawaan default adalah 1 dan, untuk sebagian besar skenario, nilai ini harus tetap sebagai 1.

Pertimbangkan skenario yang kurang umum, seperti aplikasi yang berjalan di kontainer kustom. Karena kontainer kustom memiliki pemanasan yang lama, Anda dapat mempertimbangkan untuk meningkatkan buffer instans yang sudah ada sebelumnya ini. Instans yang sudah ada sebelumnya menjadi aktif hanya setelah semua instans aktif digunakan.

Anda juga dapat menentukan pemicu pemanasan yang dijalankan selama proses prawarming. Anda dapat menggunakan pemicu pemanasan untuk memuat dependensi kustom selama proses prapendahuluan sehingga fungsi Anda siap untuk segera mulai memproses permintaan. Untuk mempelajari lebih lanjut, lihat Pemicu pemanasan Azure Functions.

Pertimbangkan contoh bagaimana instans yang selalu siap dan instans yang sudah ada sebelumnya bekerja sama. Aplikasi fungsi premium memiliki dua instans yang selalu siap dikonfigurasi, dan default dari satu instans yang sudah ada sebelumnya.

Grafik peluasan skala

  1. Saat aplikasi tidak aktif dan tidak ada peristiwa yang dipicu, aplikasi disediakan dan dijalankan dengan dua instans. Saat ini, Anda ditagih untuk dua instans yang selalu siap tetapi tidak ditagih untuk instans yang sudah ada sebelumnya karena tidak ada instans yang dialokasikan sebelumnya.
  2. Saat aplikasi Anda mulai menerima lalu lintas HTTP, permintaan diseimbangkan beban di dua instans yang selalu siap. Segera setelah kedua instans tersebut mulai memproses peristiwa, instans akan ditambahkan untuk mengisi buffer yang sudah ada sebelumnya. Aplikasi ini sekarang berjalan dengan tiga instans yang disediakan: dua instans yang selalu siap, dan buffer ketiga yang sudah ada sebelumnya dan tidak aktif. Anda ditagih untuk tiga instans.
  3. Saat beban meningkat dan aplikasi Anda membutuhkan lebih banyak instans untuk menangani lalu lintas HTTP, instans yang telah dihangatkan tersebut ditukar ke instans yang aktif. Beban HTTP sekarang dirutekan ke ketiga instans, dan instans keempat langsung disediakan untuk mengisi buffer yang sudah ada sebelumnya.
  4. Urutan penskalaan dan prewarming ini berlanjut hingga jumlah instans maksimum untuk aplikasi tercapai atau beban berkurang menyebabkan platform menskalakan kembali setelah periode tertentu. Tidak ada instans yang diinisiasi sebelumnya atau diaktifkan di luar maksimum.

Anda tidak dapat mengubah pengaturan jumlah instans yang sudah ada sebelumnya di portal, Anda harus menggunakan Azure CLI atau Azure PowerShell.

Instans aplikasi fungsi maksimum

Selain jumlah burst maksimum paket, Anda dapat mengonfigurasi maksimum per aplikasi. Maksimum aplikasi dapat dikonfigurasi menggunakan batas skala aplikasi. Batas peluasan skala aplikasi maksimum tidak boleh melebihi instans burst maksimum paket.

Konektivitas jaringan privat

Aplikasi fungsi yang disebarkan ke paket Premium dapat memanfaatkan integrasi jaringan virtual untuk aplikasi web. Saat dikonfigurasi, aplikasi Anda dapat berkomunikasi dengan sumber daya dalam jaringan virtual Anda atau diamankan melalui titik akhir layanan. Pembatasan IP juga tersedia di aplikasi untuk membatasi lalu lintas masuk.

Saat menetapkan subnet ke aplikasi fungsi Anda dalam paket Premium, Anda memerlukan subnet dengan alamat IP yang cukup untuk setiap potensi instans. Kami memerlukan blok IP dengan setidaknya 100 alamat yang tersedia.

Untuk informasi selengkapnya, lihat mengintegrasikan aplikasi fungsi Anda dengan jaringan virtual.

Skala elastis yang cepat

Lebih banyak instans komputasi secara otomatis ditambahkan untuk aplikasi Anda menggunakan logika penskalaan cepat yang sama dengan paket Konsumsi. Aplikasi dalam Paket App Service yang sama diskalakan secara terpisah satu sama lain berdasarkan kebutuhan aplikasi individual. Namun, aplikasi Functions di Paket App Service yang sama berbagi sumber daya Komputer Virtual untuk membantu mengurangi biaya, jika memungkinkan. Jumlah aplikasi yang terkait dengan Komputer Virtual tergantung pada jejak setiap aplikasi dan ukuran Komputer Virtual.

Untuk mempelajari selengkapnya tentang cara kerja penskalaan, lihat Penskalaan berbasis peristiwa di Azure Functions.

Durasi eksekusi alur lebih lama

Fungsi dalam paket Konsumsi dibatasi hingga 10 menit untuk satu eksekusi. Dalam paket Premium, durasi eksekusi alur didefault sampai 30 menit untuk mencegah eksekusi tak terkendali. Namun, Anda dapat memodifikasi konfigurasi host.json untuk membuat durasi tidak terbatas untuk aplikasi paket Premium, dengan batasan berikut:

  • Peningkatan platform dapat memicu pematian terkelola dan menghentikan eksekusi fungsi.
  • Pemadaman platform dapat menyebabkan pematian yang tidak tertangani dan menghentikan eksekusi fungsi.
  • Ada timer diam yang menghentikan pekerja setelah 60 menit tanpa eksekusi baru.
  • Perilaku penyempurnaan skala dapat menyebabkan penonaktifan pekerja setelah 60 menit.
  • Pertukaran slot dapat mengakhiri eksekusi pada slot sumber dan target selama pertukaran.

Migration

Jika Anda memiliki aplikasi fungsi yang ada, Anda dapat menggunakan perintah Azure CLI untuk memigrasikan aplikasi Anda antara paket Konsumsi dan paket Premium di Windows. Perintah khusus tergantung pada arah migrasi. Untuk mempelajari selengkapnya, lihat Rencanakan migrasi.

Migrasi ini tidak didukung di Linux.

Pengaturan paket premium

Saat Anda membuat paket, ada dua pengaturan ukuran paket: jumlah minimum instans (atau ukuran paket) dan batas ledakan maksimum.

Jika aplikasi Anda memerlukan instans di luar instans yang selalu siap, aplikasi dapat terus meluaskan skala hingga jumlah instans mencapai batas burst maksimum paket, atau batas peluasan skala maksimum aplikasi jika dikonfigurasi. Anda ditagih untuk instans hanya saat berjalan dan dialokasikan untuk Anda, per detik. Platform ini melakukan upaya terbaik untuk menskalakan aplikasi Anda ke batas maksimum yang ditentukan.

Anda dapat mengonfigurasi ukuran paket dan maksimum di portal Microsoft Azure dengan memilih opsi Peluasan Skala pada Pengaturan aplikasi fungsi yang disebarkan ke paket tersebut.

Pengaturan ukuran paket elastis di portal

Minimum untuk setiap paket Premium adalah setidaknya satu instans. Jumlah minimum instans aktual ditentukan untuk Anda berdasarkan instans yang selalu siap yang diminta oleh aplikasi dalam paket. Misalnya, jika aplikasi A meminta lima instans yang selalu siap, dan aplikasi B meminta dua instans yang selalu siap dalam paket yang sama, ukuran paket minimum ditentukan sebagai lima. Aplikasi A berjalan pada kelimanya, dan aplikasi B hanya berjalan pada 2.

Penting

Anda dikenakan biaya untuk setiap instans yang dialokasikan dalam jumlah instans minimum baik fungsi dijalankan atau tidak.

Dalam kebanyakan keadaan, jumlah minimum yang dikalkulasi otomatis ini sudah cukup. Namun, penskalaan di luar minimum terjadi dengan upaya terbaik. Mungkin saja, meskipun tidak mungkin, bahwa pada waktu tertentu peluasan skala dapat ditunda jika instans lain tidak tersedia. Dengan menetapkan minimum yang lebih tinggi dari minimum yang dihitung otomatis, Anda memesan instans sebelum penskalaan.

Anda dapat mengonfigurasi instans minimum di portal Azure dengan memilih opsi Peluasan Skala pada Pengaturan aplikasi fungsi yang disebarkan ke paket tersebut.

Pengaturan instans minimum di portal

SKU instans yang tersedia

Saat membuat atau menskalakan paket, Anda dapat memilih antara tiga ukuran instans. Anda ditagih untuk jumlah total inti dan memori yang disediakan, per detik bahwa setiap instans dialokasikan untuk Anda. Aplikasi Anda dapat secara otomatis menskalakan ke beberapa instans sesuai kebutuhan.

SKU Core Memori Penyimpanan
EP1 1 3,5GB 250GB
EP2 2 7GB 250GB
EP3 4 14GB 250GB

Pertimbangan penggunaan memori

Berjalan di komputer dengan lebih banyak memori tidak selalu berarti bahwa aplikasi fungsi Anda menggunakan semua memori yang tersedia.

Misalnya, aplikasi fungsi JavaScript dibatasi oleh batas memori default di Node.js. Untuk meningkatkan batas memori tetap ini, tambahkan pengaturan aplikasi languageWorkers:node:arguments dengan nilai --max-old-space-size=<max memory in MB>.

Dan untuk rencana dengan memori lebih dari 4 GB, pastikan Pengaturan Platform Bitness diatur ke 64 Bit di bawah Pengaturan Umum.

Peluasan skala maks wilayah

Ini adalah nilai peluasan skala maksimum yang saat ini didukung untuk satu paket di setiap wilayah dan konfigurasi OS:

Wilayah Windows Linux
Australia Tengah 100 20
Australia Tengah 2 100 Tidak Tersedia
Australia Timur 100 40
Australia Tenggara 100 20
Brasil Selatan 100 20
Kanada Tengah 100 100
India Tengah 100 20
US Tengah 100 100
Tiongkok Timur 2 100 20
Tiongkok Utara 2 100 20
Asia Timur 100 20
AS Timur 100 100
AS Timur 2 100 100
Prancis Tengah 100 60
Jerman Barat Tengah 100 20
Israel Tengah 100 20
Italia Utara 100 20
Jepang Timur 100 20
Jepang Barat 100 20
Jio India Barat 100 20
Korea Tengah 100 20
Korea Selatan 40 20
US Tengah Utara 100 20
Eropa Utara 100 100
Norwegia Timur 100 20
Afrika Selatan Utara 100 20
Afrika Selatan Barat 20 20
US Tengah Selatan 100 100
India Selatan 100 Tidak Tersedia
Asia Tenggara 100 20
Swiss Utara 100 20
Swiss Barat 100 20
Arab Saudi Utara 100 20
UK Selatan 100 100
UK Barat 100 20
Gov (US) Arizona 100 20
Gov (US) Texas 100 Tidak Tersedia
Virginia Gov (US) 100 20
AS Tengah Bagian Barat 100 20
Eropa Barat 100 100
India Barat 100 20
AS Barat 100 100
US Barat 2 100 20
AS Barat 3 100 20

Untuk informasi selengkapnya, lihat ketersediaan regional lengkap Azure Functions.

Langkah berikutnya