Delen via


Overwegingen voor platformautomatisering en DevOps voor Azure Virtual Desktop

Azure Virtual Desktop is een beheerde service die een Microsoft-besturingsvlak biedt voor uw bureaubladvirtualisatieomgeving.

Dit artikel is gericht op de operationele taken die u nodig hebt om een Azure Virtual Desktop-omgeving uit te voeren. U kunt elke aanbeveling in dit artikel afzonderlijk toepassen. U hoeft niet elke aanbeveling voor automatisering te implementeren om de moeite waard te zijn.

Ontwerpoverwegingen

Bekijk de volgende overwegingen bij het plannen en ontwerpen van uw Azure Virtual Desktop-omgeving.

Integreren met DevOps

Automatisering hoeft niet te betekenen dat integratie met DevOps is, maar integratie biedt veel voordelen. Het automatiseren van het bouwproces voor uw gouden afbeelding is om verschillende redenen de investering waard:

  • Wanneer u een DevOps-pijplijn gebruikt, kunt u uw automatiseringsstroom beter beheren.
  • U kunt rapporten en waarschuwingen ontvangen over implementaties vanuit een DevOps-pijplijn.
  • U kunt uw pijplijn configureren voor integratie met testframeworks en goedkeuringspoorten maken voor fasen in uw automatiseringsproces.
  • U kunt pijplijnen starten vanaf veel vooraf gedefinieerde gebeurtenissen, zoals de release van een nieuwe galerie-installatiekopieën, toepassing of met behulp van een vast schema.
  • Wanneer u het maken van een hostgroep automatiseert, kunt u de metagegevens van uw hostgroep eenvoudig verplaatsen naar nieuwe geografische locaties wanneer er nieuwe locaties beschikbaar worden gesteld.

Infrastructuur als code

Wanneer u overstapt op het omarmen van DevOps-procedures, moet u een hulpprogramma kiezen om uw Azure-resources te implementeren. Er zijn twee verschillende categorieën IaC-hulpprogramma's. De voorkeursoptie is een declaratief IaC-hulpprogramma.

Azure biedt systeemeigen opties met ARM-sjablonen en Azure Bicep.

U kunt ook IaC-hulpprogramma's van derden vinden, zoals Terraform van HashiCorp.

Gegroepeerd versus persoonlijk

Naarmate uw organisatie de omgeving uitschaalt, valt de meeste workload onder een poolconfiguratie in plaats van een persoonlijke configuratie.

Persoonlijke configuraties zijn vaak duurder om uit te voeren dan gegroepeerde configuraties. Ze zijn geschikt voor specifieke workloadgebruikers, zoals ontwikkelaars die meestal verhoogde machtigingen nodig hebben. Als u hostgroepen uitvoert in de persoonlijke modus, probeert u de computers te onderhouden zoals u uw fysieke bureaubladen onderhoudt, zodat u de hoeveelheid hulpprogramma's die nodig zijn in uw omgeving vermindert.

Gegroepeerde configuraties zijn het populairst voor bureaubladvirtualisatie. Daarom is dit de focus van dit artikel. Gegroepeerde omgevingen moeten anders worden bijgewerkt dan traditionele omgevingen. Werk uw virtuele machines (VM's) bij vanaf een gouden installatiekopie met de juiste frequentie voor uw organisatie (meestal elke 1-3 maanden). Als uw organisatie zeer geautomatiseerd is, kunt u de frequentie mogelijk verhogen tot wekelijks of zelfs 's nachts, indien nodig.

Installatiekopie maken

Wanneer u uw Azure Virtual Desktop-omgeving omhoog schaalt, maakt u een hostgroep op basis van uw gouden installatiekopie, die u idealiter maakt via een geautomatiseerd proces.

U kunt ook een controlelijst voor bouwen gebruiken om omhoog te schalen. Als u een grote omgeving hebt, mag het controlelijstproces alleen deel uitmaken van uw eerste ontwikkel-/testinstallatie. Hoe meer u het maken van uw gouden installatiekopie automatiseert, hoe betrouwbaarder u kunt zijn in de nauwkeurigheid van uw build- en omgevingsstabiliteit.

Het is niet raadzaam om uw bestaande installatiekopieën te gebruiken om een virtuele machine te maken die u bijwerkt met nieuwe toepassingen en configuratiewijzigingen en deze vervolgens vast te leggen voor gebruik als uw 'nieuwe' gouden installatiekopieën. Het onderhouden van dit scenario omvat een aanzienlijk risico en is een belangrijke factor in desktopvirtualisatieomgevingen die statisch en kwetsbaar worden.

Er zijn veel automatiseringshulpprogramma's voor het maken van gouden afbeeldingen, waaronder het Packer-proces dat verderop in dit artikel wordt beschreven. Gebruik de hulpprogrammaset die het meest geschikt is voor uw organisatie. Ongeacht welke hulpprogramma's u kiest, automatiseert u zoveel mogelijk van uw gouden installatiekopie, zodat u de status van uw Azure Virtual Desktop-omgeving gemakkelijker kunt behouden.

Installatie van toepassingen

Toepassingen kunnen op twee manieren beschikbaar worden gesteld aan uw gebruikers: geïnstalleerd in de installatiekopieën of dynamisch per gebruiker worden geleverd.

Toepassingen die in de installatiekopie zijn geïnstalleerd, moeten universeel zijn voor uw gebruikers en een deel van uw geautomatiseerde proces voor het maken van installatiekopieën. Door installatiekopieën geïnstalleerde toepassingen kunnen beveiligingsproducten en de Microsoft 365-suite bevatten.

Toepassingen die dynamisch per gebruiker worden geleverd, moeten alle andere toepassingen bevatten waarvoor een flexibelere benadering nodig is. Dynamisch geleverde toepassingen kunnen toepassingen bevatten die zijn beperkt tot een specifieke groep en toepassingen die niet compatibel zijn met andere toepassingen.

Taalimplementatie

Naarmate uw Azure Virtual Desktop-omgevingen worden uitgeschaald, moet u mogelijk installatiekopieën lokaliseren in de systeemeigen taal voor uw gebruikers. U kunt beginnen vanuit de lokale taal als u wilt, of u kunt meer talen toevoegen aan uw installatiekopieën tijdens het bouwen. Houd rekening met deze vereiste tijdens het selecteren van uw basisinstallatiekopieën. De vooraf geoptimaliseerde installatiekopieën van de Windows 10-galerie, bijvoorbeeld zowel met als zonder Microsoft 365, worden alleen geleverd in Verenigde Staten Engels (en-US).

Notitie

Als u Windows 10 Enterprise-multisessie gebruikt, kunt u deze niet bouwen met een andere taal. In dit geval moet u de opgegeven galerie-installatiekopieën aanpassen. Als u de bestaande installatiekopieën van de en-US-galerie wilt aanpassen, installeert u de extra talen voordat u andere toepassingen installeert.

Implementatielocaties

Azure Virtual Desktop biedt meer vrijheid rond de geografische plaatsing van uw hostgroepen dan in traditionele bureaubladomgevingen. Deze vrijheid bestaat omdat alle Azure-locaties Ondersteuning bieden voor Azure Virtual Desktop. Vermijd het maken van VM's vanuit een installatiekopieën in een wide area network (WAN) door uw gouden installatiekopieën beschikbaar te maken op elk van dezelfde locaties als uw gebruikers.

Updates voor gold-installatiekopieën van hostpools

Er zijn twee manieren waarop u de gouden installatiekopie kunt bijwerken waarop uw VM's in een bepaalde hostgroep zijn gebaseerd.

Methode één:

  • Implementeer een tweede hostgroep en knip vervolgens gebruikers over naar de nieuwe hostgroep wanneer u klaar bent.
  • Maak de oude hostgroep beschikbaar voor als er een terugdraaiactie nodig is.
  • U kunt de oude hostgroep verwijderen zodra uw organisatie tevreden is dat de nieuwe hostgroep correct werkt.

Methode 2:

  • Stel uw bestaande VM's in op de leegloopmodus in de hostgroep.
  • Implementeer nieuwe VM's van uw bijgewerkte gouden installatiekopie in dezelfde hostgroep.
  • Zorg ervoor dat u geen resourcebeperkingen of API-beperkingslimieten bereikt wanneer u het aantal VM's in één hostgroep verdubbelt.

Ontwerpaanaanvelingen

Bekijk de volgende aanbevelingen tijdens het ontwerpen van de Azure Virtual Desktop-omgeving van uw organisatie.

Broncodebeheer

We raden u aan Git te gebruiken voor het beheren van broncode en het behouden van een eenvoudige vertakkingsstrategie. Wanneer u Git gebruikt voor uw omgeving:

  • Houd uw Git-opslagplaats en Azure DevOps-project privé, tenzij uw bedrijfsbeleid aangeeft dat opslagplaatsen openbaar moeten zijn.
  • Initialiseer uw opslagplaats met een README-bestand, zodat u informatie over uw project kunt invullen.
  • Wijzig uw projectmachtigingen om andere teamleden toegang te geven.
  • Gebruik een eenvoudig werkitemproces om de pijplijn te ontwikkelen en uw workloads gestroomlijnd te houden.
  • U moet minimaal twee opslagplaatsen onderhouden: één opslagplaats voor het beheren van uw gouden installatiekopieën en een andere opslagplaats voor het beheren van uw Azure Virtual Desktop-implementaties.

Pipelines

Uw pijplijnimplementatiesysteem wordt bepaald door welk broncodebeheersysteem u kiest.

Als uw organisatie is gestandaardiseerd in Azure DevOps, gebruikt u Azure Pipelines. Als uw organisatie is gestandaardiseerd op GitHub, gebruikt u GitHub Actions. Beide opties bieden de mogelijkheid om een zelf-hostende agent in uw netwerk te implementeren, die verschillende voordelen heeft, waaronder:

  • Vergoeding voor langere bouwtijden
  • Mogelijkheid om toegang te krijgen tot resources binnen uw netwerk

Poort uw implementatiepijplijnen zodat ze automatisch kunnen worden geactiveerd om te implementeren in een validatiehostgroep, maar niet automatisch naar uw productiehostgroep worden gepusht zonder expliciete goedkeuring.

Variabelen en Azure Key Vault

Gebruik variabele groepen bij het werken in Azure Pipelines.

  • Met variabelegroepen kunt u herhaalbare parameters in uw pijplijnen hebben, zoals geheimen en bestandslocaties.
  • Variabelen in variabelegroepen kunnen worden opgeslagen als sleutel-waardeparen, maar de aanbevolen methode is het koppelen van een variabelegroep aan een Azure Key Vault om geheimen op te halen voor gebruik in uw implementatiepijplijn.

Azure Virtual Desktop-installatiekopieën maken

Gebruik de AIB-service (Azure Image Builder ) om de build-, update-, sysprep- en distributieprocessen voor uw gouden installatiekopieën te automatiseren. Deze service kan voor elke build een ondersteunde basisinstallatiekopieën gebruiken vanuit Azure Marketplace om ervoor te zorgen dat u over de meest recente updates beschikt.

Notitie

Azure Image Builder is momenteel beschikbaar binnen bepaalde regio's, maar u kunt installatiekopieën buiten deze regio's distribueren.

Houd rekening met alle toepassingen die u nodig hebt om te installeren en te bepalen of ze via scripts kunnen worden geïnstalleerd. Zorg ervoor dat u opdrachten voor toepassingsinstallatie hebt die zijn gescript in PowerShell en dat deze zijn doorgevoerd in uw Git-opslagplaats. Als u installatieprogramma's voor toepassingen niet via openbaar internet kunt downloaden, kunt u overwegen de toepassingen in Azure Blob Storage te plaatsen. Als uw toepassingsinstallatieprocessen geheimen nodig hebben, kunt u overwegen deze in Azure Key Vault te plaatsen.

Zie Een Azure Virtual Desktop-installatiekopieën maken met behulp van Azure VM Image Builder en PowerShell om aan de slag te gaan met Azure Image Builder

Als u Azure Image Builder wilt aanroepen met behulp van CI/CD-pijplijnen, gebruikt u de Azure Image Builder Service DevOps-taak voor Azure Pipelines of de actie Voor het bouwen van installatiekopieën voor virtuele Azure-machines voor GitHub Actions.

HashiCorp Packer is een open source alternatief. Het biedt dezelfde mogelijkheden als Azure Image Builder (die is gebouwd op HashiCorp Packer), inclusief de mogelijkheid om te distribueren naar een Azure Compute Gallery.

Zie de Packer-website voor meer informatie over Packer.

De Packer-methode heeft de volgende vereisten:

  • Azure DevOps-licenties moeten gebruikmaken van de volledige suite met Packer-hulpprogramma's.
  • U moet een gebruiker de juiste rol toewijzen in Microsoft Entra ID.
  • U moet een inzender voor service-principals toegang geven tot het abonnement.
  • U moet een Azure Key Vault hebben om geheimen op te slaan, waardoor het geheimbeheer van de service-principal in het toegangsbeleid wordt gegeven.

Wanneer u met Packer in uw implementatiepijplijn werkt:

  • Installeer Packer-hulpprogramma's op de buildagent die u in uw implementatiepijplijn gaat gebruiken.
  • Maak een validatiefase in uw pijplijn om te controleren of de build werkt.
  • Kloon de validatiefase na de validatie en stel de implementatiemodus in op Incrementeel.

Andere overwegingen voor Packer-bestandsopslag:

  • Sla uw Packer-bestanden op en richt deze in op een centrale locatie waartoe Azure Pipelines toegang heeft. U wordt aangeraden Azure-bestandsshares te gebruiken om deze bestanden veilig op te slaan.
  • Sla toegangsreferenties op voor Azure Files in Key Vault. U kunt de toegangsreferenties ophalen uit Key Vault bij het bouwen met behulp van pijplijnvariabelen.
  • Sla bovendien uw Packer-bestandsnaam en -accountsleutel op in de sleutelkluis die is gekoppeld aan de variabelegroep in Azure DevOps. Pijplijnen hebben toegang tot deze referenties om Packer-bestanden te downloaden naar de VM die wordt gebruikt om de installatiekopieën te maken.
  • Sla het UNC-pad op als een variabele in de Azure DevOps-variabelegroep.

Installatiekopieën van Azure Virtual Desktop opslaan

De Azure Compute Gallery-service is de eenvoudigste manier om structuur en organisatie te bouwen rond uw gouden installatiekopieën. Het biedt:

  • Wereldwijde replicatie van installatiekopieën naar verschillende Azure-regio's.
    • Zorg ervoor dat u installatiekopieën hebt geïmplementeerd in de regio's waarin azure Virtual Desktop-sessiehosts (VM's) worden geïmplementeerd.
  • Versiebeheer en groepering van installatiekopieën voor eenvoudiger beheer. Versiebeheer en groepering zijn handig voor het terugdraaien van Azure Virtual Desktop-hostgroepen naar eerdere installatiekopieversies.
  • Maximaal beschikbare installatiekopieën met ZRS-accounts (zone-redundante opslag) in regio's die ondersteuning bieden voor Beschikbaarheidszones. ZRS biedt betere flexibiliteit tegen zonegebonden fouten.
  • Azure Virtual Desktop-installatiekopieën delen tussen abonnementen en zelfs tussen Microsoft Entra-tenants, via op rollen gebaseerd toegangsbeheer (RBAC).
  • Implementatie schalen met installatiekopieënreplica's in elke regio.

Zie het overzicht van de Azure Compute Gallery-service voor meer informatie.

Installatie van toepassingen in Azure Virtual Desktop-installatiekopieën

  • Gebruik de Packer-methode die eerder in dit artikel is beschreven voor universele toepassingen die zijn geïnstalleerd in uw gouden installatiekopieën.
  • App-V is momenteel de ondersteunde methode van Microsoft voor het streamen van toepassingen per gebruiker.
  • Gebruik FSLogix-toepassingsmaskering om toepassingen of invoegtoepassingen te verbergen of weer te geven wanneer deze toepassingen niet goed werken met App-V.
  • Gebruik WAAR mogelijk MSIX-app om toepassingen dynamisch aan gebruikers te leveren en de totale grootte van uw gouden installatiekopie te verminderen. U kunt ook CI/CD-pijplijnen gebruiken om het proces van het verpakken van toepassingen in de MSIX-indeling te automatiseren. Zie het overzicht voor meer informatie.

Talen implementeren in Azure Virtual Desktop-installatiekopieën

Microsoft heeft processen voor het handmatig of automatisch installeren van taalpakketten. Het is raadzaam om zo weinig beheeroverhead mogelijk te houden en uw taalinstallatieproces te automatiseren.

Het proces omvat het downloaden van een PowerShell-script naar de virtuele machine die wordt geconverteerd naar uw installatiekopieën. U vindt voorbeelden van automatiseringsscripts in microsoft-documentatie. Als u de aanbeveling voor Packer-pijplijnen volgt, kunt u dit proces opnemen als extra build-taak.

Zie Taalpakketten installeren op Virtuele Windows 10-machines in Azure Virtual Desktop voor meer informatie over het installeren van taalpakketten in Windows 10 Enterprise voor meerdere sessies.

Gebruik een IaC-benadering (Infrastructure as Code) voor de implementatie en aanpassing van Azure Virtual Desktop-resources. Ze moeten waar mogelijk worden gebruikt om consistentie in implementaties te garanderen. ARM-sjablonen kunnen worden gebruikt om Azure Virtual Desktop-resources te implementeren als onderdeel van een CI/CD-pijplijntaak. U kunt ze ook gebruiken wanneer u Azure Portal, Azure PowerShell of Azure CLI gebruikt.

Hieronder vindt u een aanbevolen strategie voor het bijwerken van hostgroepen:

  • Stel een CI/CD-pijplijn in voor het bouwen en distribueren van gouden installatiekopieën naar de Azure Compute Gallery.
  • Wijs een validatiehostgroep aan en implementeer nieuwe sessiehosts in de validatiehostgroep met behulp van CI/CD-pijplijnen.
  • Test uw automatisering met behulp van een validatiehostgroep.
  • Tag uw sessiehosts met een buildnummer of installatiekopieënversie om de versie te identificeren van de installatiekopieën die ze uitvoeren.
  • Voordat u implementeert, valideert (of controleert u) of u voldoende rekenquotum binnen uw abonnement hebt.
  • Wanneer het testen in de validatiegroep is geslaagd, plaatst u bestaande sessiehosts in de leegloopmodus. Gelabelde VM's zijn eenvoudig te identificeren.
  • Implementeer nieuwe sessiehosts en sta gebruikers toe verbinding te maken.
  • Bij een geslaagde test in productie begint u de toewijzing van oude sessiehosts ongedaan te maken om geen rekenkosten meer in rekening te brengen en uiteindelijk te verwijderen om geen kosten voor beheerde schijven meer in rekening te brengen.
  • Verwijderde sessieshosts worden alleen verwijderd uit Azure. Computerobjecten blijven in uw AD staan, zodat deze computerobjecten handmatig of via een script moeten worden verwijderd.

In het bovenstaande voorbeeld ziet u één methode voor afbeeldingsautomatisering met behulp van Azure DevOps en een CI/CD-pijplijn (continue integratie en continue levering). Dit is een cloudeigen benadering en biedt een minder verstorende implementatie van nieuwe sessiehosts zonder downtime. Het is belangrijk te weten dat u rekening moet houden met de piek in virtuele machines wanneer u oude installatiekopieën uitfaseeert en nieuwe installatiekopieën online brengt.

Zoals hierboven vermeld, is de Azure Compute Gallery een service waarmee u structuur en organisatie kunt bouwen rond uw installatiekopieën. Deze installatiekopieën kunnen worden genoemd in uw IaC-implementaties van uw Azure Virtual Desktop-sessiehosts. De service maakt versiebeheer, groepering en replicatie van installatiekopieën mogelijk.

Wanneer u uw sessiehosts implementeert met een ARM-sjabloon of Terraform, raden we u aan de resource-id te gebruiken van de installatiekopieën die u in uw galerie hebt gemaakt als de bron-id van de aangepaste VM-installatiekopieën. De installatiekopie die u gebruikt, moet worden gerepliceerd via de Azure Compute Gallery-service naar de Azure-regio's waar u uw Azure Virtual Desktop-hostgroepen implementeert.

Volgende stappen

Meer informatie over het implementeren van Azure Virtual Desktop met behulp van de landingszoneversneller voor scenario's op ondernemingsniveau.