Slot penyebaran Azure Functions

Slot penyebaran Azure Functions memungkinkan aplikasi fungsi Anda menjalankan berbagai instans yang disebut slot. Slot adalah lingkungan yang berbeda yang diekspos melalui titik akhir yang tersedia untuk umum. Satu instans aplikasi selalu dipetakan ke slot produksi, dan Anda dapat menukar instans yang ditetapkan ke slot sesuai permintaan. Aplikasi fungsi yang berjalan dalam paket Konsumsi memiliki satu slot tambahan untuk penahapan. Anda dapat memperoleh lebih banyak slot penahapan dengan menjalankan aplikasi Anda dalam paket Premium atau paket Khusus (App Service). Untuk informasi selengkapnya, lihat Batas layanan.

Berikut ini mencerminkan bagaimana fungsi dipengaruhi dengan bertukar (swap) slot:

  • Pengalihan lalu lintas mulus; tidak ada permintaan yang dibatalkan karena pertukaran. Perilaku mulus ini terjadi karena pemicu fungsi berikutnya dirutekan ke slot yang ditukar.
  • Fungsi yang sedang dijalankan dihentikan selama pertukaran. Untuk mempelajari cara menulis fungsi stateless dan defensif, lihat Meningkatkan performa dan keandalan Azure Functions.

Mengapa menggunakan slot?

Ada banyak keuntungan menggunakan slot penyebaran, termasuk:

  • Lingkungan yang berbeda untuk tujuan yangberbeda: Menggunakan slot yang berbeda memberi Anda kesempatan untuk membedakan instans aplikasi sebelum bertukar ke produksi atau slot pementasan.
  • Prapemanasan: Deploying ke slot alih-alih langsung ke produksi memungkinkan aplikasi untuk melakukan pemanasan sebelum ditayangkan. Selain itu, menggunakan slot mengurangi latensi untuk beban kerja yang dipicu HTTP. Instans dihangatkan sebelum penyebaran, yang mengurangi cold start untuk fungsi yang baru diterapkan.
  • Penarikan kembali yang mudah:Setelah bertukar dengan produksi, slot dengan aplikasi yang sebelumnya ditempakan sekarang memiliki aplikasi produksi sebelumnya. Jika perubahan yang ditukar ke slot produksi tidak seperti yang Anda harapkan, Anda dapat segera membalikkan swap untuk mendapatkan kembali "instans baik terakhir yang diketahui".
  • Meminimalkan mulai ulang: Mengubah pengaturan aplikasi di slot produksi memerlukan mulai ulang aplikasi yang sedang berjalan. Anda dapat mengubah pengaturan di slot penahapan dan menukar pengaturan berubah menjadi produksi dengan instans yang telah dimulai sebelumnya. Slot adalah cara yang disarankan untuk bermigrasi antara versi runtime Functions sambil mempertahankan ketersediaan tertinggi. Untuk mempelajari selengkapnya, lihat Pembaruan waktu henti minimum.

Operasi penukaran

Selama pertukaran, satu slot dianggap sebagai sumber dan yang lainnya adalah target. Slot sumber memiliki instans aplikasi untuk diterapkan ke slot target. Langkah-langkah berikut memastikan slot target tidak mengalami downtime selama pertukaran:

  1. Terapkan setelan: Pengaturan dari slot target diterapkan ke semua instans slot sumber. Misalnya, pengaturan produksi diterapkan ke penempatan instans. Pengaturan yang diterapkan mencakup kategori berikut:

  2. Tunggu mulai ulang dan ketersediaan: Swap menunggu setiap instans di slot sumber untuk menyelesaikan restart dan tersedia untuk permintaan. Jika ada instans yang gagal memulai ulang, operasi pertukaran mengembalikan semua perubahan ke slot sumber dan menghentikan operasi.

  3. Pembaruan perutean: Jika semua instans pada slot sumber berhasil dihangatkan, kedua slot menyelesaikan swap dengan mengalihkan aturan perutean. Setelah langkah ini, slot target (misalnya, slot produksi) memiliki aplikasi yang sebelumnya dihangatkan di slot sumber.

  4. Ulangi operasi: Sekarang slot sumber memiliki aplikasi preswap sebelumnya di slot target, selesaikan operasi yang sama dengan menerapkan semua pengaturan dan memulai ulang instans untuk slot sumber.

Perlu diingat poin-poin berikut:

  • Pada setiap titik operasi swap, inisialisasi aplikasi yang ditukar terjadi pada slot sumber. Slot target tetap online selagi slot sumber disiapkan, apakah swap berhasil atau gagal.

  • Untuk menukar slot pementasan dengan slot produksi, pastikan slot produksi selalu menjadi slot target. Dengan cara ini, operasi pertukaran tidak memengaruhi aplikasi produksi Anda.

  • Pengaturan yang terkait dengan sumber peristiwa dan pengikatan data harus dikonfigurasikan sebagai pengaturan slot penyebaransebelum Anda memulai pertukaran. Menandai mereka sebagai "lengket" sebelumnya memastikan peristiwa dan output diarahkan ke instans yang tepat.

Kelola pengaturan

Beberapa pengaturan konfigurasi adalah khusus-slot. Yang berikut ini mencantumkan detail pengaturan mana yang berubah saat Anda bertukar slot, dan mana yang tetap sama.

Pengaturan khusus slot:

  • Titik akhir penerbitan
  • Nama domain kustom
  • Sertifikat nonpublik dan pengaturan TLS/SSL
  • Pengaturan skala
  • Batasan IP
  • Grup Ketersediaan AlwaysOn
  • Pengaturan diagnostik
  • Berbagi sumber daya lintas asal (CORS)
  • Titik Akhir Privat

Pengaturan khusus non slot-spesifik:

  • Pengaturan umum, seperti versi kerangka kerja, 32/64-bit, soket web
  • Pengaturan aplikasi (dapat dikonfigurasi untuk melekat pada slot)
  • String koneksi (dapat dikonfigurasi untuk melekat pada slot)
  • Pemetaan handler
  • Sertifikat publik
  • Hybrid Connections *
  • Integrasi jaringan virtual *
  • Titik akhir layanan *
  • Azure Content Delivery Network *

Fitur yang ditandai dengan tanda bintang (*) tidak ditukar, berdasarkan desain.

Catatan

Pengaturan aplikasi tertentu yang berlaku untuk pengaturan yang tidak ditukarkan juga tidak ditukar. Misalnya, karena pengaturan diagnostik tidak ditukar, pengaturan aplikasi terkait seperti WEBSITE_HTTPLOGGING_RETENTION_DAYS dan DIAGNOSTICS_AZUREBLOBRETENTIONDAYS juga tidak ditukar, meskipun pengaturan itu tidak muncul sebagai pengaturan slot.

Membuat pengaturan penyebaran

Anda dapat menandai pengaturan sebagai pengaturan penyebaran, yang membuatnya lengket. Pengaturan lekat tidak bertukar dengan instans aplikasi.

Jika Anda membuat pengaturan penyebaran dalam satu slot, pastikan untuk membuat pengaturan yang sama dengan nilai unik di slot lain yang terlibat dalam swap. Dengan cara ini, sementara nilai pengaturan tidak berubah, nama pengaturan tetap konsisten di antara slot. Konsistensi nama ini memastikan kode Anda tidak mencoba mengakses pengaturan yang ditentukan dalam satu slot dan bukan di slot lain.

Gunakan langkah-langkah berikut untuk membuat pengaturan penyebaran:

  1. Navigasi ke Slot penerapan di aplikasi fungsi, lalu pilih nama slot.

    Find slots in the Azure portal.

  2. Pilih Konfigurasi, lalu pilih nama pengaturan yang ingin Anda lekatkan dengan slot saat ini.

    Configure the application setting for a slot in the Azure portal.

  3. Pilih Pengaturan slot penyebaran,lalu pilih OK.

    Configure the deployment slot setting.

  4. Setelah bagian pengaturan menghilang, pilih Simpan untuk mempertahankan perubahan

    Save the deployment slot setting.

Penyebaran

Slot kosong saat Anda membuat slot. Anda dapat menggunakan salah satu teknologi penyebaran yang didukung untuk menerapkan aplikasi Anda ke slot.

Penskalaan

Semua slot menskalakan ke jumlah pekerja yang sama dengan slot produksi.

  • Untuk paket Konsumsi, slot diskalakan sebagai skala aplikasi fungsi.
  • Untuk paket App Service, aplikasi menskalakan ke jumlah pekerja tetap. Slot berjalan pada jumlah pekerja yang sama dengan paket aplikasi.

Lihat slot

Anda dapat melihat informasi tentang slot yang ada menggunakan Azure CLI atau melalui portal Azure.

Gunakan langkah-langkah ini untuk membuat slot baru di portal:

  1. Navigasi ke aplikasi fungsi Anda.

  2. Pilih Slot penyebaran dan slot yang ada ditampilkan.

Menambahkan slot

Anda dapat menambahkan slot menggunakan Azure CLI atau melalui portal Azure.

Gunakan langkah-langkah ini untuk membuat slot di portal:

  1. Navigasi ke aplikasi fungsi Anda.

  2. Pilih Slot penyebaran,lalu pilih + Tambahkan Slot.

    Add Azure Functions deployment slot.

  3. Ketik nama slot dan pilih Tambahkan.

    Name the Azure Functions deployment slot.

Mengakses sumber daya slot

Anda mengakses sumber daya (pemicu HTTP dan titik akhir administrator) di slot penahapan dengan cara yang sama seperti slot produksi. Namun, alih-alih nama host aplikasi fungsi, Anda menggunakan nama host khusus slot di URL permintaan, bersama dengan kunci khusus slot. Karena slot penahapan adalah aplikasi langsung, Anda harus mengamankan fungsi Anda di slot penahapan seperti yang Anda lakukan di slot produksi.

Bertukar slot

Anda dapat menukar slot di luar produksi menggunakan Azure CLI atau melalui portal Azure.

Gunakan langkah-langkah ini untuk menukar slot penahapan ke dalam produksi:

  1. Navigasi ke aplikasi fungsi.

  2. Pilih Slot penyebaran,lalu pilih Swap.

    Screenshot that shows the 'Deployment slot' page with the 'Add Slot' action selected.

  3. Verifikasi pengaturan konfigurasi untuk swap Anda dan pilih Swap

    Swap the deployment slot.

Operasi pertukaran dapat memakan waktu beberapa detik.

Gulung balik pertukaran

Jika swap menghasilkan kesalahan atau Anda hanya ingin "membatalkan" swap, Anda dapat kembali ke keadaan awal. Untuk kembali ke status yang telah ditukar, lakukan pertukaran lain untuk membalikkan pertukaran.

Menghapus slot

Anda dapat menghapus slot menggunakan Azure CLI atau melalui portal Azure.

Gunakan langkah-langkah ini untuk menghapus slot dari aplikasi Anda di portal:

  1. Navigasi ke Slot penerapan di aplikasi fungsi, lalu pilih nama slot.

    Find slots in the Azure portal.

  2. Pilih Hapus.

    Screenshot that shows the 'Overview' page with the 'Delete' action selected.

  3. Ketik nama slot penyebaran yang ingin Anda hapus, lalu pilih Hapus.

    Delete the deployment slot in the Azure portal.

  4. Tutup panel konfirmasi.

    Deployment slot delete confirmation.

Ubah paket App Service

Dengan aplikasi fungsi yang berjalan di bawah paket App Service, Anda dapat mengubah paket App Service yang mendasarinya untuk satu slot.

Catatan

Anda tidak dapat mengubah paket App Service slot di bawah paket Konsumsi.

Gunakan langkah-langkah berikut untuk mengubah paket App Service slot:

  1. Navigasi ke Slot penerapan di aplikasi fungsi, lalu pilih nama slot.

    Find slots in the Azure portal.

  2. Di bawah Paket Layanan Aplikasi, pilih Ubah paket App Service .

  3. Pilih paket yang ingin Anda mutakhirkan, atau buat paket baru.

    Change the App Service plan in the Azure portal.

  4. Pilih OK.

Pertimbangan

Slot penyebaran Azure Functions memiliki pertimbangan berikut:

  • Jumlah slot yang tersedia untuk aplikasi tergantung pada paket. Paket Konsumsi hanya diperbolehkan satu slot penyebaran. Lebih banyak slot tersedia untuk aplikasi yang berjalan di bawah paket lain. Selengkapnya, lihat Batas layanan.
  • Menukar slot mengatur ulang kunci untuk aplikasi yang memiliki pengaturan AzureWebJobsSecretStorageType aplikasi sama dengan files.
  • Saat slot diaktifkan, aplikasi fungsi diatur ke mode hanya-baca pada portal.
  • Pertukaran slot mungkin gagal saat aplikasi fungsi Anda menggunakan akun penyimpanan aman sebagai akun penyimpanan defaultnya (diatur dalam AzureWebJobsStorage). Untuk informasi selengkapnya, lihat WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS referensi.
  • Gunakan nama aplikasi fungsi yang kurang dari 32 karakter. Nama yang lebih panjang dari 32 karakter berisiko menyebabkan tabrakan ID host.

Langkah berikutnya