Bagikan melalui


Pertimbangan otomatisasi platform dan DevOps untuk Azure Virtual Desktop

Azure Virtual Desktop adalah layanan terkelola yang menyediakan sarana kontrol Microsoft untuk lingkungan virtualisasi desktop Anda.

Artikel ini berfokus pada tugas operasional yang Anda butuhkan untuk menjalankan lingkungan Azure Virtual Desktop. Anda dapat menerapkan setiap rekomendasi dalam artikel ini satu per satu. Anda tidak perlu menerapkan setiap rekomendasi agar otomatisasi bermanfaat.

Pertimbangan Desain

Tinjau pertimbangan berikut saat merencanakan dan merancang lingkungan Azure Virtual Desktop Anda.

Mengintegrasikan dengan DevOps

Automation tidak harus berarti integrasi dengan DevOps, tetapi integrasi memang menawarkan banyak keuntungan. Mengotomatiskan proses build untuk gambar emas Anda sepadan dengan investasi karena berbagai alasan:

  • Saat Anda menggunakan alur DevOps, Anda dapat mengelola alur otomatisasi dengan lebih baik.
  • Anda dapat menerima laporan dan pemberitahuan tentang penyebaran dari alur DevOps.
  • Anda dapat mengonfigurasi alur untuk diintegrasikan dengan kerangka kerja pengujian dan membuat gerbang persetujuan untuk tahapan dalam proses otomatisasi Anda.
  • Anda dapat memulai alur dari banyak peristiwa yang telah ditentukan seperti perilisan citra galeri baru, aplikasi, atau menggunakan jadwal yang ditetapkan.
  • Saat Anda mengotomatiskan pembuatan kumpulan host, mudah untuk memindahkan metadata kumpulan host Anda ke lokasi geografis baru saat lokasi baru tersedia.

Infrastruktur sebagai Kode

Saat Anda bergerak menuju merangkul praktik DevOps, Anda harus memilih alat untuk menyebarkan sumber daya Azure Anda. Ada dua kategori alat IaC yang berbeda. Opsi yang disukai adalah alat IaC deklaratif.

Azure menyediakan opsi asli dengan templat ARM dan Azure Bicep.

Anda juga dapat menemukan alat IaC pihak ketiga, seperti Terraform HashiCorp.

Gabungan vs. pribadi

Saat organisasi Anda menskalakan lingkungannya, sebagian besar beban kerja berada di bawah konfigurasi terkumpul daripada konfigurasi pribadi.

Konfigurasi pribadi sering kali lebih mahal untuk dijalankan daripada konfigurasi yang dikumpulkan. Mereka cocok untuk pengguna beban kerja tertentu seperti pengembang yang biasanya memerlukan izin yang ditingkatkan. Jika Anda menjalankan kumpulan host dalam mode pribadi, coba pertahankan komputer seperti Anda mempertahankan desktop fisik sehingga Anda mengurangi jumlah alat yang diperlukan di lingkungan Anda.

Konfigurasi terkumpul adalah yang paling populer untuk virtualisasi desktop, itulah sebabnya mereka menjadi fokus artikel ini. Lingkungan yang dikumpulkan harus diperbarui secara berbeda dari lingkungan tradisional. Perbarui komputer virtual (VM) Anda dari gambar emas pada irama yang benar untuk organisasi Anda (biasanya setiap 1-3 bulan). Jika organisasi Anda sangat otomatis, Anda mungkin dapat meningkatkan irama menjadi mingguan atau bahkan malam jika perlu.

Pembuatan citra

Saat meningkatkan skala lingkungan Azure Virtual Desktop, Anda membuat kumpulan host dari gambar emas, yang idealnya Anda buat melalui proses otomatis.

Anda juga dapat menggunakan daftar periksa build untuk meningkatkan skala. Jika Anda memiliki lingkungan yang besar, proses daftar periksa hanya boleh menjadi bagian dari penyiapan dev/test awal Anda. Semakin Anda mengotomatiskan pembuatan gambar emas Anda, semakin yakin Anda dapat berada dalam akurasi build dan stabilitas lingkungan Anda.

Kami tidak menyarankan penggunaan gambar yang ada untuk membuat VM yang Anda perbarui dengan aplikasi baru dan perubahan konfigurasi lalu ambil untuk digunakan sebagai gambar emas "baru" Anda. Mempertahankan skenario ini melibatkan risiko yang signifikan dan merupakan faktor utama dalam lingkungan virtualisasi desktop menjadi statis dan rapuh.

Ada banyak alat otomatisasi untuk membuat gambar emas, termasuk proses Packer yang kami jelaskan nanti di artikel ini. Gunakan set alat yang paling sesuai untuk organisasi Anda. Terlepas dari alat mana yang Anda pilih, otomatiskan sebanyak mungkin pembuatan gambar emas Anda sehingga Anda dapat lebih mudah menjaga kesehatan lingkungan Azure Virtual Desktop Anda.

Penginstalan aplikasi

Aplikasi dapat tersedia untuk pengguna Anda dengan dua cara: diinstal dalam gambar, atau dikirimkan secara dinamis per pengguna.

Aplikasi yang diinstal dalam gambar harus universal untuk pengguna Anda dan bagian dari proses pembuatan gambar otomatis Anda. Aplikasi yang diinstal gambar dapat mencakup produk keamanan dan rangkaian Microsoft 365.

Aplikasi yang dikirimkan secara dinamis per pengguna harus menyertakan semua hal lain yang memerlukan pendekatan yang lebih fleksibel. Aplikasi yang dikirimkan secara dinamis dapat mencakup aplikasi yang dibatasi untuk grup dan aplikasi tertentu yang tidak kompatibel dengan aplikasi lain.

Penyebaran bahasa

Saat lingkungan Azure Virtual Desktop Anda mulai diskalakan, Anda mungkin perlu melokalisasi gambar ke dalam bahasa asli untuk pengguna Anda. Anda dapat memulai dari bahasa lokal jika mau, atau Anda dapat menambahkan lebih banyak bahasa ke gambar Anda pada build. Pertimbangkan persyaratan ini saat memilih gambar dasar Anda. Gambar galeri Windows 10 yang telah dioptimalkan sebelumnya, misalnya, baik dengan dan tanpa Microsoft 365, hanya disediakan dalam bahasa Inggris Amerika Serikat (id-ID).

Catatan

Jika Anda menggunakan multi-sesi Windows 10 Enterprise, Anda tidak dapat membuatnya menggunakan bahasa yang berbeda. Dalam hal ini, Anda harus menyesuaikan citra galeri yang disediakan. Untuk menyesuaikan citra galeri en-US yang ada, instal bahasa tambahan sebelum Anda menginstal aplikasi lain.

Lokasi penyebaran

Azure Virtual Desktop menawarkan lebih banyak kebebasan sekeliling penempatan geografis kumpulan host Anda daripada lingkungan desktop tradisional. Kebebasan ini ada karena semua lokasi Azure mendukung Azure Virtual Desktop. Hindari membuat VM dari gambar di seluruh jaringan area luas (WAN) dengan membuat gambar emas Anda tersedia di setiap lokasi yang sama dengan pengguna Anda.

Pembaruan citra emas kumpulan host

Ada dua cara Anda dapat memperbarui gambar emas VM Anda di kumpulan host tertentu didasarkan.

Metode satu:

  • Sebarkan kumpulan host kedua, lalu potong pengguna ke kumpulan host baru saat Anda siap.
  • Buat kumpulan host lama tersedia jika pembatalan diperlukan.
  • Anda dapat menghapus kumpulan host lama setelah organisasi Anda puas bahwa kumpulan host baru berfungsi dengan benar.

Metode dua:

  • Atur VM yang ada ke mode pengurasan di kumpulan host.
  • Sebarkan VM baru dari gambar emas yang diperbarui ke dalam kumpulan host yang sama.
  • Berhati-hatilah untuk tidak mencapai batasan sumber daya atau batas pembatasan API saat Anda menggandakan jumlah VM dalam satu kumpulan host.

Rekomendasi desain

Tinjau rekomendasi berikut saat Anda mendesain lingkungan Azure Virtual Desktop organisasi Anda.

Manajemen kode sumber

Sebaiknya gunakan Git untuk mengelola kode sumber dan menyimpan strategi percabangan sederhana. Saat menggunakan Git untuk lingkungan Anda:

  • Jaga agar repositori Git dan proyek Azure DevOps Anda tetap privat kecuali kebijakan perusahaan Anda menentukan bahwa repositori harus bersifat publik.
  • Inisialisasi repositori Anda dengan file README sehingga Anda dapat mulai mengisi informasi tentang proyek Anda.
  • Mengubah izin proyek Anda untuk memungkinkan anggota tim lain mengakses.
  • Adopsi proses item kerja dasar untuk mengembangkan alur dan menjaga beban kerja Anda tetap efisien.
  • Minimal, Anda harus mempertahankan dua repositori: satu repositori untuk mengelola build gambar emas Anda, dan repositori lain untuk mengelola penyebaran Azure Virtual Desktop Anda.

Pipelines

Sistem penyebaran alur Anda ditentukan oleh sistem manajemen kode sumber yang Anda pilih.

Jika organisasi Anda telah menstandarkan di Azure DevOps, gunakan Azure Pipelines. Jika organisasi Anda telah menstandarkan di GitHub, gunakan GitHub Actions. Salah satu opsi menyediakan kemampuan untuk menyebarkan agen yang dihost sendiri di dalam jaringan Anda, yang memiliki beberapa manfaat, termasuk:

  • Tunjangan untuk waktu build yang lebih lama
  • Kemampuan untuk mengakses sumber daya dalam jaringan Anda

Gerbangkan alur penyebaran Anda sehingga alur tersebut dapat dipicu secara otomatis untuk disebarkan ke kumpulan host validasi, tetapi tidak secara otomatis didorong ke kumpulan host produksi Anda tanpa persetujuan eksplisit.

Variabel dan Azure Key Vault

Gunakan grup variabel saat bekerja di Azure Pipelines.

  • Grup variabel memungkinkan Anda memiliki parameter yang dapat diulang di alur Anda seperti rahasia dan lokasi file.
  • Variabel dalam grup variabel dapat disimpan sebagai pasangan kunci/nilai, tetapi metode yang direkomendasikan adalah Menautkan grup variabel ke Azure Key Vault untuk menarik rahasia untuk digunakan dalam alur penyebaran Anda.

Membuat gambar Azure Virtual Desktop

Gunakan layanan Azure Image Builder (AIB) untuk mengotomatiskan proses build, update, sysprep, dan distribusi untuk gambar emas Anda. Layanan ini dapat menggunakan gambar dasar yang didukung dari Marketplace Azure untuk setiap build untuk memastikan Anda memiliki pembaruan terbaru.

Catatan

Azure Image Builder saat ini tersedia dalam wilayah tertentu, tetapi Anda dapat mendistribusikan gambar di luar wilayah ini.

Sebagai bagian dari proses build gambar emas Anda, pertimbangkan semua aplikasi yang perlu Anda instal dan tentukan apakah aplikasi tersebut dapat diinstal melalui skrip. Pastikan Anda memiliki perintah penginstalan aplikasi yang ditulis di PowerShell dan berkomitmen untuk repositori Git Anda. Jika Anda tidak dapat mengunduh penginstal aplikasi melalui internet publik, pertimbangkan untuk menempatkan aplikasi di Azure Blob Storage. Jika proses penginstalan aplikasi Anda memerlukan rahasia, pertimbangkan untuk menempatkannya di Azure Key Vault.

Untuk mulai menggunakan Azure Image Builder, lihat Membuat gambar Azure Virtual Desktop menggunakan Azure VM Image Builder dan PowerShell

Untuk memanggil Azure Image Builder menggunakan alur CI/CD, gunakan Tugas Azure Image Builder Service DevOps untuk Azure Pipelines atau Build Azure Virtual Machine Image Actions untuk GitHub Actions.

HashiCorp Packer adalah alternatif sumber terbuka. Ini menawarkan kemampuan yang sama dengan Azure Image Builder (yang dibangun di atas HashiCorp Packer), termasuk kemampuan untuk mendistribusikan ke Azure Compute Gallery.

Untuk informasi lebih lanjut mengenai Packer, lihat Situs web Packer.

Metode Packer memiliki prasyarat berikut:

  • Lisensi Azure DevOps harus menggunakan rangkaian lengkap alat Packer.
  • Anda harus menetapkan peran Administrator Global kepada pengguna di MICROSOFT Entra ID.
  • Anda harus memberikan perwakilan layanan dengan akses kontributor ke langganan.
  • Anda harus memiliki Azure Key Vault untuk menyimpan rahasia, memberikan manajemen rahasia perwakilan layanan dalam kebijakan akses.

Saat bekerja dengan Packer dalam alur penyebaran Anda:

  • Instal alat Packer pada agen build yang akan Anda gunakan dalam alur penyebaran Anda.
  • Buat tahap validasi di alur Anda untuk memvalidasi bahwa build berfungsi.
  • Setelah validasi, kloning tahap validasi Anda dan atur mode penyebaran ke Bertahap.

Pertimbangan lain untuk penyimpanan file Packer:

  • Simpan file dan provisi Packer Anda di lokasi terpusat yang dapat diakses Oleh Azure Pipelines. Kami rekomendasikan untuk menggunakan berbagi file Azure untuk menyimpan file-file ini dengan aman.
  • Simpan kredensial akses untuk Azure Files di Key Vault. Anda dapat menarik kredensial akses dari Key Vault pada build menggunakan variabel alur.
  • Selain itu, simpan nama file Packer dan kunci akun Anda di brankas kunci yang ditautkan ke grup variabel di Azure DevOps. Alur mengakses kredensial ini untuk mengunduh file Packer ke VM yang digunakan untuk membuat gambar.
  • Simpan jalur UNC sebagai variabel dalam grup variabel Azure DevOps.

Menyimpan gambar Azure Virtual Desktop

Layanan Azure Compute Gallery adalah cara paling sederhana untuk membangun struktur dan organisasi di sekitar gambar emas Anda. Menyediakan:

  • Replikasi global citra ke berbagai wilayah Azure.
    • Pastikan Anda telah menyebarkan gambar di wilayah tempat host sesi (VM) Azure Virtual Desktop disebarkan.
  • Pembuatan versi citra dan pengelompokan untuk manajemen yang lebih mudah. Penerapan versi dan pengelompokan sangat membantu untuk mengembalikan kumpulan host Azure Virtual Desktop ke versi gambar sebelumnya.
  • Citra dengan ketersediaan tinggi dengan akun penyimpanan zona redundan (ZRS) di wilayah yang mendukung Zona Ketersediaan. ZRS menawarkan ketahanan yang lebih baik terhadap kegagalan zona.
  • Berbagi gambar Azure Virtual Desktop di seluruh langganan, dan bahkan antara penyewa Microsoft Entra, melalui kontrol akses berbasis peran (RBAC).
  • Penskalaan penyebaran dengan replika gambar di setiap wilayah.

Untuk informasi selengkapnya, lihat gambaran umum layanan Azure Compute Gallery.

Penginstalan aplikasi dalam citra Azure Virtual Desktop

  • Untuk aplikasi universal yang diinstal dalam gambar emas Anda, gunakan metode Packer yang dijelaskan sebelumnya dalam artikel ini.
  • App-V saat ini merupakan metode yang didukung dari Microsoft untuk streaming aplikasi berdasarkan per pengguna.
  • Gunakan masking aplikasi FSLogix untuk menyembunyikan atau menyingkap aplikasi atau plug-in ketika aplikasi tersebut tidak berfungsi dengan baik dengan App-V.
  • Gunakan lampiran aplikasi MSIX jika memungkinkan untuk mengirimkan aplikasi secara dinamis kepada pengguna dan mengurangi ukuran keseluruhan gambar emas Anda. Anda juga dapat menggunakan alur CI/CD untuk mengotomatiskan proses aplikasi pengemasan ke dalam format MSIX. Untuk mempelajari selengkapnya, lihat gambaran umum.

Menyebarkan bahasa di gambar Azure Virtual Desktop

Microsoft memiliki proses untuk menginstal paket bahasa secara manual atau otomatis. Sebaiknya jaga overhead administrasi sesedikitan mungkin dan mengotomatiskan proses penginstalan bahasa Anda.

Proses ini melibatkan pengunduhan skrip PowerShell ke VM yang akan dikonversi menjadi gambar Anda. Anda dapat menemukan contoh skrip otomatisasi dalam dokumentasi Microsoft. Jika Anda mengikuti rekomendasi untuk alur Packer, Anda dapat menyertakan proses ini sebagai tugas build tambahan.

Untuk informasi selengkapnya mengenai menginstal paket bahasa dalam multi-sesi Windows 10 Enterprise, lihat Menginstal paket bahasa di VM Windows 10 di Azure Virtual Desktop.

Gunakan pendekatan Infrastruktur sebagai Kode (IaC) untuk penyebaran dan penyesuaian sumber daya Azure Virtual Desktop. Mereka harus digunakan bila memungkinkan untuk memastikan konsistensi dalam penyebaran. Templat ARM dapat digunakan untuk menyebarkan sumber daya Azure Virtual Desktop sebagai bagian dari tugas alur CI/CD. Anda juga dapat menggunakannya saat menggunakan portal Microsoft Azure, Azure PowerShell, atau Azure CLI.

Di bawah ini adalah strategi pembaruan kumpulan host yang direkomendasikan:

  • Siapkan alur CI/CD untuk membangun dan mendistribusikan gambar emas ke Azure Compute Gallery.
  • Tentukan kumpulan host validasi dan sebarkan host sesi baru ke kumpulan host validasi menggunakan alur CI/CD.
  • Uji otomatisasi Anda dengan menggunakan kumpulan host validasi.
  • Tandai host sesi Anda dengan nomor build atau versi gambar untuk mengidentifikasi versi gambar yang mereka jalankan.
  • Sebelum menyebarkan, validasi (atau periksa) untuk memastikan bahwa Anda memiliki kuota komputasi yang memadai dalam langganan Anda.
  • Setelah pengujian berhasil di kumpulan validasi, masukkan host sesi yang ada ke dalam mode pengurasan - VM yang ditandai akan mudah diidentifikasi.
  • Sebarkan host sesi baru dan izinkan pengguna untuk terhubung.
  • Setelah pengujian berhasil dalam produksi, mulai membatalkan alokasi host sesi lama untuk tidak dikenakan biaya komputasi lagi dan akhirnya menghapus untuk tidak dikenakan biaya disk terkelola lagi.
  • Host sesi yang dihapus hanya akan dihapus dari Azure. Objek komputer akan tetap ada di AD Anda, sehingga objek komputer ini perlu dihapus secara manual atau melalui skrip.

Contoh di atas menunjukkan satu metode otomatisasi gambar menggunakan Azure DevOps dan alur integrasi berkelanjutan dan pengiriman berkelanjutan (CI/CD). Ini adalah pendekatan cloud-native dan menawarkan peluncuran host sesi baru yang kurang mengganggu tanpa waktu henti. Penting untuk dicatat bahwa Anda harus mempertimbangkan lonjakan jumlah komputer virtual saat Anda membuat fase gambar lama dan membuat gambar baru online.

Seperti disebutkan di atas, Azure Compute Gallery adalah layanan yang membantu Anda membangun struktur dan organisasi di sekitar gambar Anda. Citra-citra ini dapat dirujuk dalam penyebaran IaC dari host sesi Azure Virtual Desktop Anda. Layanan ini memungkinkan penerapan versi, pengelompokan, dan replikasi citra.

Saat Anda menyebarkan host sesi dengan templat ARM atau Terraform, sebaiknya gunakan ID sumber daya gambar yang Anda buat di galeri Anda sebagai ID sumber gambar kustom VM. Gambar yang Anda gunakan harus direplikasi melalui layanan Azure Compute Gallery ke wilayah Azure tempat Anda menyebarkan kumpulan host Azure Virtual Desktop Anda.

Langkah berikutnya

Pelajari cara menyebarkan Azure Virtual Desktop dengan menggunakan akselerator zona pendaratan untuk skenario skala perusahaan.