Bagikan melalui


Paket Premium Azure Functions

Rencana Azure Functions Elastic Premium adalah opsi hosting dengan skala dinamis untuk aplikasi fungsi. Untuk opsi paket hosting lainnya, lihat Opsi hosting Azure Functions.

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 Didedikasikan dan bukan Elastis Premium, paket dengan nama SKU yang dimulai dengan "P" tidak akan menskalakan secara dinamis dan dapat menambah biaya Anda.

Hosting paket premium memberikan manfaat berikut untuk fungsi Anda:

Saat Anda menggunakan paket Premium, instans host Azure Functions ditambahkan dan dihapus berdasarkan jumlah peristiwa masuk, sama seperti paket Konsumsi Flex dan paket Konsumsi. 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.

Penagihan

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 fungsi aktif atau tidak aktif. Perlu diingat bahwa semua aplikasi fungsi dalam paket Premium berbagi instans yang telah dialokasikan. Untuk mempelajari selengkapnya, lihat 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 permulaan dingin

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 ekstra pada panggilan pertama ini sering disebut cold start.

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 selalu siap adalah kategori instans yang telah dialokasikan sebelumnya dan tidak terpengaruh oleh penskalaan, sedangkan instans yang dipanaskan sebelumnya berfungsi sebagai buffer ketika Anda melakukan penskalaan akibat peristiwa HTTP.

Saat peristiwa mulai memicu aplikasi, peristiwa tersebut pertama-tama dirutekan ke instans yang selalu siap sedia. Saat fungsi menjadi aktif karena peristiwa HTTP, instans lain dihangatkan sebagai buffer. Instans yang di-buffer ini disebut instans yang dipanaskan 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. Saat dua aplikasi Anda memiliki jumlah instans yang selalu siap diatur ke satu, dan aplikasi ketiga diatur ke lima, 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 Peluasan Skala . Di jendela pengeditan aplikasi fungsi, instans yang selalu siap adalah khusus untuk aplikasi tersebut.

Cuplikan layar yang memperlihatkan 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 dipanaskan sebelumnya akan terus menyimpan data sementara hingga batas maksimum peluasan skala 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 waktu pemanasan yang lama, Anda dapat mempertimbangkan untuk meningkatkan buffer instans yang telah dipanaskan sebelumnya ini. Instance prewarmed hanya akan menjadi aktif setelah semua instance lain yang aktif telah digunakan.

Anda juga dapat menentukan pemicu pemanasan yang berjalan selama proses pra-pemanasan. 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 ini yang menunjukkan 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.

Cuplikan layar memperlihatkan grafik peluasan skala.

  1. Saat aplikasi tidak aktif dan tidak ada peristiwa yang dipicu, aplikasi dipersiapkan dan dijalankan dengan dua instance. 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 secara beban di dua instance 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 atas tiga instance.
  3. Saat beban meningkat dan aplikasi Anda membutuhkan lebih banyak instans untuk menangani lalu lintas HTTP, instans yang sudah dipanaskan tersebut diubah menjadi instans yang aktif. Beban HTTP sekarang dirutekan ke ketiga instans, dan instans keempat langsung disediakan untuk mengisi buffer yang sudah disiapkan sebelumnya.
  4. Urutan penskalaan dan prewarming ini berlanjut hingga batas maksimum jumlah instans aplikasi tercapai atau beban menurun sehingga platform mengurangi skala setelah beberapa waktu. Tidak ada instans yang dipanaskan 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.

Jumlah maksimum instans aplikasi fungsi

Selain hitungan burst maksimum paket, Anda dapat mengonfigurasi batas maksimum untuk setiap aplikasi. Maksimum aplikasi dapat dikonfigurasi menggunakan batas skala aplikasi. Batas pengembangan skala aplikasi maksimum tidak dapat melebihi instans pelonjakan maksimum dari 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 pada paket Premium, Anda memerlukan subnet dengan alamat IP yang cukup untuk setiap instans potensial. Kami memerlukan blok IP dengan setidaknya 100 alamat yang tersedia.

Untuk informasi selengkapnya, lihat Mengintegrasikan Azure Functions 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 pelaksanaan lebih lama

Fungsi dalam paket Konsumsi dibatasi hingga 10 menit untuk satu eksekusi. Dalam paket Premium, durasi secara default diatur hingga 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:

  • Pembaruan platform dapat memicu pematian terkendali dan menghentikan eksekusi fungsi dengan periode tenggang 10 menit.
  • Ada timer diam yang menghentikan pekerja setelah 60 menit tanpa eksekusi baru.
  • Perilaku penskalaan masuk dapat menyebabkan pekerja dimatikan setelah 60 menit.
  • Pertukaran slot dapat mengakhiri eksekusi pada slot sumber dan target selama pertukaran.

Migrasi

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 rencana, ada dua pengaturan ukuran rencana: jumlah minimum instance (atau ukuran rencana) 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 hanya akan ditagih untuk instans ketika mereka berjalan dan dialokasikan untuk Anda, berdasarkan 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.

Tangkapan layar menampilkan pengaturan ukuran paket elastis di portal.

Jumlah minimum untuk setiap paket Premium adalah setidaknya satu unit. 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 maupun tidak.

Dalam kebanyakan keadaan, jumlah minimum yang dikalkulasi otomatis ini sudah cukup. Namun, penskalaan yang melampaui batas minimum dilakukan seoptimal mungkin. Mungkin saja, meskipun tidak mungkin terjadi, bahwa pada waktu tertentu peningkatan skala dapat ditunda jika instance lain tidak tersedia. Dengan menetapkan minimum yang lebih tinggi dari minimum yang dihitung otomatis, Anda memesan instans sebelum penskalaan terjadi.

Anda dapat mengonfigurasi instans minimum di portal Azure dengan memilih opsi Scale Out pada Pengaturan aplikasi fungsi yang diterapkan pada rencana tersebut.

Cuplikan layar pengaturan instans minimum di portal.

SKU instans yang tersedia

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

Kode Barang Core Ingatan Penyimpanan
Episode 1 1 3,5 GB 250 GB
Bagian 2 2 7 GB 250 GB
Episode 3 4 14 GB 250 GB

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 paket dengan memori lebih dari 4 GB, pastikan Pengaturan Platform Bitness diatur ke 64 Bit di bawah Pengaturan umum.

Skala keluar maksimum wilayah

Tabel berikut ini mencantumkan nilai peluasan skala maksimum yang saat ini didukung untuk satu rencana di setiap wilayah dan konfigurasi sistem operasi.

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
AS Tengah 100 100
Tiongkok Timur 2 20 20
Tiongkok Utara 2 20 20
Tiongkok Utara 3 20 20
Asia Timur 100 20
Amerika Serikat Timur 100 100
Wilayah AS Timur 2 80 100
Prancis Tengah 100 60 (enam puluh)
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
Meksiko Tengah 20 20
AS Tengah Bagian 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
Spanyol Tengah 20 20
Swiss Utara 100 20
Swissaya Barat 100 20
Arab Saudi Utara 100 100
UK Selatan 100 100
UK Barat 100 20
Pemerintah AS Arizona 20 20
Pemerintah AS Texas 20 Tidak Tersedia
Pemerintah AS Virginia 80 20
Tengah Barat AS 100 20
Eropa Barat 100 100
India Barat 100 20
US Barat 100 100
US Barat 2 100 20
AS Barat 3 100 20

Untuk informasi selengkapnya, lihat Produk yang tersedia berdasarkan wilayah.