Azure Virtual Desktop: Implementação para PMEs em 2026








Categoria: Windows Server

Tags: AVD · Azure Virtual Desktop · VDI · Azure · RDP · FSLogix

Atualizado: 4 de Julho de 2026

Azure Virtual Desktop: Implementação para PMEs em 2026

O Azure Virtual Desktop (AVD) é hoje uma das soluções mais robustas e flexíveis de virtualização de desktops e aplicações em nuvem da Microsoft. Para pequenas e médias empresas (PMEs) portuguesas, o AVD oferece uma forma de proporcionar ambientes de trabalho seguros e geridos, sem necessidade de infraestrutura física local. Este artigo cobre tudo o que precisa saber para implementar o AVD em 2026, desde a arquitectura até à optimização de custos.

1. O Que é o Azure Virtual Desktop

O Azure Virtual Desktop é um serviço de virtualização de desktops e aplicações executado na nuvem do Azure. Permite que os utilizadores acedam a um ambiente Windows completo — incluindo Windows 11 Multi-session — a partir de praticamente qualquer dispositivo, com uma experiência semelhante a um PC local.

Lançado originalmente como Windows Virtual Desktop em 2019 e renomeado para AVD em 2021, o serviço evoluiu significativamente. Em 2026, o AVD oferece integração nativa com o Microsoft Entra ID (antigo Azure AD), suporte completo para Windows 11 24H2 multi-sessão, e gestão centralizada via Azure Portal, PowerShell e CLI.

ℹ️ Informação: O AVD é um serviço PaaS (Platform as a Service) — a Microsoft gere o plano de controlo (control plane), incluindo gateways, brokers e web services. O cliente gere apenas os session hosts (VMs), o armazenamento de perfis e a configuração.

As principais vantagens do AVD para uma PME incluem:

  • Acesso remoto seguro a partir de qualquer dispositivo (Windows, macOS, iOS, Android, navegador web);
  • Sessão multi-utilizador no Windows 11 Enterprise multi-session — reduz o custo de licenciamento;
  • Gestão centralizada de imagens e aplica via Azure Image Builder;
  • Integração com Microsoft Entra ID sem necessidade de controladores de domínio locais (com Entra-joined hosts);
  • Escala automática conforme a procura dos utilizadores.

2. AVD vs Windows 365: Qual Escolher

A Microsoft oferece duas soluções de virtualização de desktops que se sobrepõem parcialmente, mas servem cenários diferentes. Compreender as diferenças é fundamental para a decisão de arquitectura.

Aspecto Azure Virtual Desktop Windows 365
Modelo PaaS — partilha de recursos SaaS — PC dedicado na nuvem
Atribuição de recursos Multi-sessão (partilhado) 1 utilizador = 1 PC dedicado
Custos Pay-as-you-go + Reserved Instances Preço fixo mensal por utilizador
Escalonamento Automático (autoscale) Manual (adicionar/remover licenças)
Personalização Elevada — imagens custom, scripts Moderada — configurações predefinidas
Ideal para PMEs com 30+ utilizadores, cenários variáveis Pequenas equipas (<30), previsibilidade

💡 Dica: Para uma PME com 50 ou mais utilizadores e padrões de uso variáveis (por exemplo, trabalho por turnos), o AVD com escalonamento automático é quase sempre mais económico que o Windows 365. Para 15 utilizadores com uso constante das 9 às 18h, o Windows 365 oferece simplicidade e custo previsível.

3. Arquitectura do AVD

A arquitectura do AVD separa claramente o plano de controlo (gerido pela Microsoft) do plano de dados (gerido pelo cliente). Esta separação reduz a carga operacional e elimina a necessidade de manter gateways RDS tradicionais.

Os componentes principais são:

  • AVD Control Plane: gestão de ligações, autenticação, broker de sessões — gerido pela Microsoft sem custo adicional;
  • Host Pools: conjuntos de VMs que executam as sessões dos utilizadores;
  • Application Groups: agrupamentos lógicos de aplicações ou desktops atribuídos a utilizadores;
  • Workspaces: contentores que organizam application groups para publicação nos clientes;
  • FSLogix: solução de perfil que armazena perfis de utilizador em VHDs/XHDs montados dinamicamente;
  • Armazenamento: Azure Files (Premium ou Standard) ou Azure NetApp Files para os contentores FSLogix.
# Diagrama simplificado da arquitectura AVD

[Utilizadores] --> [AVD Gateway (Microsoft)]
                      |
                      v
              [AVD Broker / Control Plane]
                      |
                      v
         [Host Pool -- Session Hosts (VMs)]
              |              |
              v              v
     [Azure Files /        [Entra ID /
      NetApp Files]          AD DS]

# O cliente liga-se ao gateway, que encaminha
# directamente para o session host via ligação RDP inversa.

Uma das vantagens fundamentais é que o tráfego RDP não passa pelo plano de controlo da Microsoft — apenas a sinalização inicial. Após o estabelecimento da sessão, o tráfego flui directamente entre o cliente e o session host, reduzindo a latência.

ℹ️ Informação: Em 2026, o AVD suporta três modelos de identidade para session hosts: Entra ID-joined (sem AD DS), Entra ID + AD DS híbrido, e AD DS puro. Para PMEs que pretendem eliminar servidores locais, o Entra ID-joined é a opção recomendada.

4. Host Pools e Session Hosts

Um Host Pool é um conjunto de VMs que executam o mesmo SO base e conjunto de aplicações. Existem dois tipos: pooled (multi-sessão, partilhado entre utilizadores) e personal (atribuição dedicada 1:1).

A criação de um host pool pode ser feita via Azure Portal, ARM template, Bicep, Terraform ou PowerShell. Abaixo, um exemplo completo em Azure CLI:

# Criar resource group
az group create --name "rg-avd-pme" --location "westeurope"

# Registar o provider do AVD (se ainda não estiver)
az provider register --namespace Microsoft.DesktopVirtualization

# Criar host pool pooled (multi-sessão)
az desktopvirtualization hostpool create \
  --name "hp-pme-pooled" \
  --resource-group "rg-avd-pme" \
  --location "westeurope" \
  --host-pool-type "Pooled" \
  --load-balancer-type "DepthFirst" \
  --max-session-limit 8 \
  --preferred-app-group-type "Desktop" \
  --validation-environment false

# O DepthFirst load balancing preenche primeiro uma VM
# até ao limite de sessões antes de usar a próxima,
# optimizando o uso de recursos.

Para criar session hosts (VMs) e adicioná-los ao host pool, pode-se usar o Azure Image Builder para gerar uma imagem personalizada:

# Adicionar session hosts ao host pool existente
# Via Azure CLI — criar 3 VMs D4s v5
az vm create \
  --resource-group "rg-avd-pme" \
  --name "avd-sh-{1..3}" \
  --image "/subscriptions/SUB-ID/resourceGroups/rg-avd-pme/providers/Microsoft.Compute/galleries/sig_avd/images/win11-avd/versions/1.0.0" \
  --size "Standard_D4s_v5" \
  --admin-username "adminavd" \
  --admin-password "PasswordSegura#2026!" \
  --vnet-name "vnet-avd-pme" \
  --subnet "snet-sessionhosts" \
  --os-disk-type "Premium SSD" \
  --no-wait

# Após criação, registar as VMs no host pool
# (feito automaticamente pela extensão AVD agent)
Tipo de Host Pool Load Balancer Casos de Uso
Pooled Breadth-first / Depth-first Call centers, equipas partilhadas
Personal Automático (1:1) Desenvolvedores, utilizadores com software especializado

⚠️ Atenção: Defina o max-session-limit com cuidado. Um valor demasiado alto degrada a experiência por sobrecarga de CPU/RAM por VM; demasiado baixo aumenta custos por necessitar de mais VMs. Para cargas de escritório típicas, 6–10 sessões por D4s v5 é um bom ponto de partida.

5. Application Groups

As Application Groups são contentores lógicos que determinam o que cada utilizador vê quando se liga. Existem dois tipos: Desktop Application Group (ambiente completo) e RemoteApp Application Group (aplicações individuais publicadas).

Cada host pool é criado com um Desktop Application Group predefinido, mas é possível criar RemoteApp groups para publicar apenas aplicações específicas — ideal para cenários onde os utilizadores só precisam de uma ferramenta pontual como um ERP.

# Criar RemoteApp Application Group
az desktopvirtualization appgroup create \
  --name "ag-erp-remoteapp" \
  --resource-group "rg-avd-pme" \
  --location "westeurope" \
  --host-pool-arm-path "/subscriptions/SUB-ID/resourcegroups/rg-avd-pme/providers/Microsoft.DesktopVirtualization/hostpools/hp-pme-pooled" \
  --app-group-type "RemoteApp"

# Adicionar aplicações ao RemoteApp group
az desktopvirtualization application create \
  --app-group-name "ag-erp-remoteapp" \
  --resource-group "rg-avd-pme" \
  --name "erp-prima" \
  --file-path "C:\\Program Files\\ERP\\Prima.exe" \
  --icon-path "C:\\Program Files\\ERP\\prima.ico" \
  --command-line-settings "Allow"

A atribuição de utilizadores é feita via atribuição de funções RBAC no Entra ID, tornando a gestão simples e auditável:

# Atribuir o grupo de utilizadores ao Application Group
az role assignment create \
  --role "Desktop Virtualization User" \
  --assignee "[email protected]" \
  --scope "/subscriptions/SUB-ID/resourcegroups/rg-avd-pme/providers/Microsoft.DesktopVirtualization/appgroups/ag-erp-remoteapp"

6. Workspaces

Os Workspaces são o contentor final na hierarquia do AVD. Um workspace agrega um ou mais application groups e é o que os clientes AVD (Windows Remote Desktop, web client, mobile) apresentam ao utilizador final.

# Criar workspace
az desktopvirtualization workspace create \
  --name "ws-pme-empresa" \
  --resource-group "rg-avd-pme" \
  --location "westeurope" \
  --friendly-name "Ambiente de Trabalho - Empresa PME"

# Associar o Desktop Application Group ao workspace
az desktopvirtualization workspace update \
  --name "ws-pme-empresa" \
  --resource-group "rg-avd-pme" \
  --application-group-references "/subscriptions/SUB-ID/resourcegroups/rg-avd-pme/providers/Microsoft.DesktopVirtualization/appgroups/ag-desktop-default"

# Os utilizadores vêem os recursos no cliente AVD após
# autenticação com a sua conta Entra ID.

💡 Dica: Para organizações com múltiplas filiais ou departamentos distintos, considere criar workspaces separados por unidade organizacional. Isto simplifica a experiência do utilizador final — cada pessoa vê apenas os recursos relevantes, sem ruído visual.

7. FSLogix para Profile Containers

O FSLogix é a solução de perfil recomendada pela Microsoft para ambientes não-persistentes. Em vez de perfis tradicionais (roaming ou locais), o FSLogix cria um contentor VHD(X) por utilizador, montado dinamicamente no início da sessão e desmontado no fim. Isto garante persistência de perfil mesmo em ambientes pooled multi-sessão.

As vantagens do FSLogix incluem:

  • Tempos de início de sessão muito reduzidos comparado a perfis roaming;
  • Suporte para Outlook em modo cached (OST dentro do contentor);
  • Funciona com Azure Files sem necessidade de VM de storage gateway;
  • Compatibilidade com Office 365, OneDrive e Teams.
# Criar Azure Files Premium para FSLogix
az storage account create \
  --name "stavdfslogixpme" \
  --resource-group "rg-avd-pme" \
  --location "westeurope" \
  --sku "Premium_ZRS" \
  --kind "FileStorage" \
  --enable-large-file-shares true

# Criar a partilha de ficheiros
az storage share create \
  --name "fslogix-profiles" \
  --account-name "stavdfslogixpme"

# Activar Entra ID (Entra Kerberos) no Azure Files
az storage account file-service-properties update \
  --account-name "stavdfslogixpme" \
  --resource-group "rg-avd-pme" \
  --enable-azure-files-aad-kerberos true \
  --azure-files-aad-kerberos-ticket-encryption "AES256"

Após criar o armazenamento, configura-se o FSLogix via GPO ou registry nos session hosts:

# Configuração FSLogix via PowerShell (executar em cada session host)
$regPath = "HKLM:\SOFTWARE\FSLogix\Profiles"

# Activar FSLogix
New-Item -Path $regPath -Force
Set-ItemProperty -Path $regPath -Name "Enabled" -Value 1 -Type DWord

# Caminho UNC do contentor
Set-ItemProperty -Path $regPath -Name "VHDLocations" -Value "\\stavdfslogixpme.file.core.windows.net\fslogix-profiles"

# Tamanho máximo do contentor (GB)
Set-ItemProperty -Path $regPath -Name "SizeInMBs" -Value 30000 -Type DWord

# Formato do ficheiro (VHDX recomendado)
Set-ItemProperty -Path $regPath -Name "VolumeType" -Value "VHDX"

# Eliminar perfil local se existir
Set-ItemProperty -Path $regPath -Name "DeleteLocalProfileWhenVHDShouldApply" -Value 1 -Type DWord

# Convenção de nome do contentor
Set-ItemProperty -Path $regPath -Name "FlipFlopProfileDirectoryMode" -Value 2 -Type DWord

Write-Output "FSLogix configurado. Reiniciar para aplicar."

🚫 Perigo: Nunca active o DeleteLocalProfileWhenVHDShouldApply sem confirmar que não existem perfis locais importantes nos session hosts. Esta opção elimina perfis locais pré-existentes sem confirmação. Faça backup antes de aplicar em produção.

8. Configurar Azure AD Join

Em 2026, o Entra ID Join (antigo Azure AD Join) é o modelo recomendado para PMEs que pretendem eliminar infraestrutura local. Os session hosts juntam-se directamente ao Entra ID, sem necessidade de controladores de domínio, VPNs site-to-site ou sincronização de identidades.

O Entra ID Join suporta:

  • SSO para serviços Microsoft 365 via Primary Refresh Token (PRT);
  • Acesso a file shares Azure Files via Entra Kerberos;
  • Acesso condicional (Conditional Access) sobre as sessões AVD;
  • MFA via Microsoft Entra durante o início de sessão.
# Registar a app do AVD no Entra ID (já criada por defeito)
# Verificar a aplicação "Azure Virtual Desktop"
Get-AzADServicePrincipal -DisplayName "Azure Virtual Desktop" | Select-Object DisplayName, AppId

# Configurar Entra ID Join no host pool
az desktopvirtualization hostpool update \
  --name "hp-pme-pooled" \
  --resource-group "rg-avd-pme" \
  --custom-rdp-property "targetisaadjoined:i:1"

# Atribuir role "Virtual Machine User Login" ao grupo de utilizadores
az role assignment create \
  --role "Virtual Machine User Login" \
  --assignee "[email protected]" \
  --scope "/subscriptions/SUB-ID/resourcegroups/rg-avd-pme"

ℹ️ Informação: O targetisaadjoined:i:1 no ficheiro RDP instrui o cliente a usar o token Entra ID para autenticação. Sem isto, a autenticação NTLM/Kerberos clássica seria tentada e falharia num ambiente sem AD DS.

Para casos em que aplicações legadas dependem de AD DS, é possível manter uma configuração híbrida: session hosts Entra-joined, com Azure AD Application Proxy ou Entra Domain Services para compatibilidade. Para mais detalhes sobre identidade e MFA, consulte o artigo sobre Microsoft Entra MFA.

9. Networking e MSIX App Attach

O desenho de rede é um dos factores mais críticos na performance do AVD. A latência entre os session hosts e os utilizadores, entre os session hosts e o armazenamento FSLogix, e entre os session hosts e os controladores de domínio (se aplicável) determinam a qualidade da experiência.

Boas práticas de networking:

  • Colocar session hosts e Azure Files na mesma região e mesmo VNet;
  • Usar Azure Files Premium com ZRS para baixa latência e resiliência;
  • Configurar Private Endpoints para Azure Files, Key Vault e outros serviços PaaS;
  • Usar RDP Shortpath para ligações directas e optimizadas (UDP quando possível);
  • Implementar NSGs para restringir tráfego entre subnets.
# Criar VNet e subnets para AVD
az network vnet create \
  --name "vnet-avd-pme" \
  --resource-group "rg-avd-pme" \
  --location "westeurope" \
  --address-prefix "10.40.0.0/16"

# Subnet para session hosts
az network vnet subnet create \
  --name "snet-sessionhosts" \
  --resource-group "rg-avd-pme" \
  --vnet-name "vnet-avd-pme" \
  --address-prefix "10.40.1.0/24"

# Subnet para Private Endpoints
az network vnet subnet create \
  --name "snet-privateendpoints" \
  --resource-group "rg-avd-pme" \
  --vnet-name "vnet-avd-pme" \
  --address-prefix "10.40.2.0/27"

# Private Endpoint para Azure Files (FSLogix)
az network private-endpoint create \
  --name "pe-avd-files" \
  --resource-group "rg-avd-pme" \
  --vnet-name "vnet-avd-pme" \
  --subnet "snet-privateendpoints" \
  --private-connection-resource-id "/subscriptions/SUB-ID/resourceGroups/rg-avd-pme/providers/Microsoft.Storage/storageAccounts/stavdfslogixpme" \
  --group-ids "file" \
  --connection-name "conn-avd-files"

O MSIX App Attach é uma tecnologia de distribuição de aplicações que monta pacotes MSIX dinamicamente durante a sessão, sem necessidade de instalação. Isto permite:

  • Actualizar aplicações sem recriar a imagem base;
  • Aplicações isoladas, sem conflitos entre versões;
  • Distribuição granular por grupo de utilizadores.
# Registar uma imagem MSIX no host pool (preview CLI)
az desktopvirtualization msix-package create \
  --host-pool-name "hp-pme-pooled" \
  --resource-group "rg-avd-pme" \
  --name "msix-libreoffice" \
  --image-uri "https://stavdimagespme.blob.core.windows.net/msix/LibreOffice-7.6.msix" \
  --package-name "LibreOffice" \
  --package-version "7.6.0.0" \
  --package-display-name "LibreOffice 7.6" \
  --package-alias "libreoffice" \
  --active true \
  --regular-package true

10. Escalonamento Automático

O Scaling Plan do AVD permite ajustar automaticamente o número de session hosts activos conforme os padrões de uso. Isto reduz custos significativamente, especialmente em cenários com janelas de baixo uso (noite, fins de semana).

Os scaling plans definem:

  • Capacidade mínima e máxima de hosts activos;
  • Percentagem de hosts a manter em draining;
  • Horários por dia da semana (ramp-up, peak, ramp-down, off-peak);
  • Dias de exclusão (feriados, períodos de manutenção).
# Criar scaling plan para horário de escritório
az desktopvirtualization scaling-plan create \
  --name "sp-escritorio" \
  --resource-group "rg-avd-pme" \
  --location "westeurope" \
  --host-pool-references "[{\"hostPoolArmPath\":\"/subscriptions/SUB-ID/resourcegroups/rg-avd-pme/providers/Microsoft.DesktopVirtualization/hostpools/hp-pme-pooled\",\"scalingPlanEnabled\":true}]" \
  --time-zone "GMT Standard Time" \
  --schedules '[{"name":"Seg-Sex","daysOfWeek":["Monday","Tuesday","Wednesday","Thursday","Friday"],"rampUpStartTime":"08:00:00","rampUpLoadBalancingAlgorithm":"DepthFirst","rampUpMinimumHostsPct":50,"rampUpCapacityThresholdPct":90,"peakStartTime":"09:00:00","peakLoadBalancingAlgorithm":"BreadthFirst","rampDownStartTime":"18:00:00","rampDownLoadBalancingAlgorithm":"DepthFirst","rampDownMinimumHostsPct":10,"rampDownCapacityThresholdPct":50,"rampDownStopHostsWhen":2,"offPeakStartTime":"20:00:00","offPeakLoadBalancingAlgorithm":"DepthFirst"}]'

💡 Dica: Configure rampDownStopHostsWhen:2 para que as VMs sejam dealocadas (stop) em vez de apenas colocadas em draining. VMs dealocadas não incorrem em custo de computação, apenas o disco gerido continua a ser cobrado. Esta é a forma mais eficaz de reduzir a factura mensal.

11. Monitorização com Azure Monitor

A monitorização é essencial para garantir a qualidade da experiência dos utilizadores e identificar problemas proactivamente. O AVD integra nativamente com o Azure Monitor através de Diagnostic Settings que enviam logs e métricas para um Log Analytics Workspace.

As métricas e logs mais importantes incluem:

  • ConnectionInsights: latência de ligação, duração, falhas de autenticação;
  • SessionInsights: número de sessões activas, tempo de início;
  • HostInsights: CPU, RAM, disco por session host;
  • AutoscaleEvaluation: decisões de escalonamento e suas razões.
# Criar Log Analytics Workspace
az monitor log-analytics workspace create \
  --name "law-avd-pme" \
  --resource-group "rg-avd-pme" \
  --location "westeurope" \
  --sku "PerGB2018"

# Activar diagnostic settings no host pool
az monitor diagnostic-settings create \
  --name "diag-hp-pme" \
  --resource "/subscriptions/SUB-ID/resourcegroups/rg-avd-pme/providers/Microsoft.DesktopVirtualization/hostpools/hp-pme-pooled" \
  --resource-namespace "Microsoft.DesktopVirtualization" \
  --resource-type "hostpools" \
  --workspace "/subscriptions/SUB-ID/resourcegroups/rg-avd-pme/providers/Microsoft.OperationalInsights/workspaces/law-avd-pme" \
  --logs '[{"category":"ConnectionInsights","enabled":true},{"category":"SessionInsights","enabled":true},{"category":"HostInsights","enabled":true},{"category":"AutoscaleEvaluation","enabled":true},{"category":"Errors","enabled":true}]'

Com os logs centralizados, pode-se criar alertas e dashboards via KQL (Kusto Query Language):

// KQL: Sessões por host — últimas 24h
WVDConnections
| where TimeGenerated > ago(24h)
| where State == "Completed"
| summarize Sessoes = count() by SessionHostName
| order by Sessoes desc
| render barchart

// KQL: Latência média de ligação
WVDConnections
| where TimeGenerated > ago(1h)
| where State == "Completed"
| extend DuracaoSeg = toint(DurationMs) / 1000
| summarize LatenciaMediaSeg = avg(DuracaoSeg) by bin(TimeGenerated, 15m)
| render timechart

ℹ️ Informação: Para uma visão de segurança adicional, integre os logs do AVD com o Microsoft Sentinel para detecção de anomalias como ligações de IPs inesperados ou múltiplas falhas de autenticação. Para a protecção de endpoints, consulte o artigo sobre Microsoft Defender para Endpoint.

12. Optimização de Custos

A optimização de custos é particularmente importante para PMEs, onde o orçamento é mais sensível. Existem várias estratégias que, combinadas, podem reduzir a factura mensal em 40–60%.

Estratégia Poupança Estimada Esforço
Reserved Instances (3 anos) ~55–60% Baixo
Autoscale (dealocação fora de horas) ~30–50% Médio
Spot VMs (para cenários tolerantes) ~70–85% Médio
Tier de armazenamento correto ~20–40% no storage Baixo
Imagem otimizada (app attach vs. install) ~10–20% (disco menor) Médio
# Comprar Reserved Instance para VMs D-series
az reservations reservation-order-purchase \
  --applied-scope-type "Shared" \
  --billing-scope "/subscriptions/SUB-ID" \
  --reserved-resource-type "VirtualMachines" \
  --sku "Standard_D4s_v5" \
  --term "P3Y" \
  --quantity 5 \
  --display-name "RI-AVD-D4s-v5-3Y"

# O Reserved Instance de 3 anos é a poupança
# mais significativa para cargas previsíveis.

⚠️ Atenção: As Spot VMs não são recomendadas para host pools de produção onde a disponibilidade é crítica, pois podem ser dealocadas pela Microsoft com apenas 30 segundos de aviso. Use Spot apenas para hosts de desenvolvimento/teste ou cenários tolerantes a interrupções.

Para empresas que já tenham licenças Microsoft 365 E3/E5 ou Business Premium, o direito de acesso ao AVD está incluído — não há custo adicional de licenciamento por utilizador. Isto é uma vantagem competitiva importante do AVD face a soluções de terceiros.

13. Cenário Prático PME

Considere uma empresa portuguesa com 60 utilizadores (45 de escritório + 15 de campo), distribuídos entre o Porto e Lisboa, que pretende eliminar servidores físicos e permitir trabalho híbrido. O orçamento mensal de TI é limitado.

Requisitos:

  • Acesso a um ERP desktop e ao Microsoft 365;
  • Persistência de perfil de utilizador entre sessões;
  • Trabalho híbrido: escritório + casa + dispositivos BYOD;
  • MFA obrigatório;
  • Disponibilidade das 8h às 20h em dias úteis.

Arquitectura proposta:

# Infraestrutura: 60 utilizadores, padrão 8h-20h
# 6 VMs Standard_D4s_v5 (4 vCPU, 16 GB RAM cada)
# = 8 sessões por VM = 48 sessões simultâneas
# + 2 VMs em standby (autoscale)

# Custo estimado mensal (com RI 3 anos):
#  - 6 VMs D4s v5: ~€1,200/mês (pago com RI)
#  - Azure Files Premium 1 TB: ~€110/mês
#  - Storage discos OS (6x127GB): ~€75/mês
#  - Tráfego de saída: ~€20/mês
#  - Log Analytics: ~€15/mês
#  -----------------------------------------
#  Total aproximado: ~€1,420/mês
#  Custo por utilizador: ~€23/mês (com RI)

# Sem Reserved Instances: ~€2,700/mês
# Poupança com RI: ~48%

Passos de implementação:

  1. Criar resource group, VNet e subnets na região West Europe (baixa latência para Portugal);
  2. Provisionar Azure Files Premium para FSLogix com Private Endpoint;
  3. Construir imagem Windows 11 Enterprise multi-session via Azure Image Builder com ERP e Office pré-instalados;
  4. Criar host pool pooled com depth-first load balancing e max-session=8;
  5. Configurar Entra ID Join e Conditional Access com MFA obrigatório (ver Microsoft Entra MFA);
  6. Configurar FSLogix apontando para o Azure Files;
  7. Criar workspace e publicar o Desktop Application Group;
  8. Atribuir utilizadores via grupos Entra ID;
  9. Configurar scaling plan para horário 8h-20h;
  10. Activar logs de diagnóstico para o Log Analytics;
  11. Adquirir Reserved Instances de 3 anos para as VMs;
  12. Testar com um grupo piloto durante 2 semanas antes do rollout completo.

💡 Dica: Para os 15 utilizadores de campo que só precisam do ERP ocasionalmente, considere publicar o ERP como RemoteApp em vez de desktop completo. Isto reduz o consumo de recursos e simplifica a experiência — o utilizador abre apenas a aplicação que precisa, como se fosse local.

14. Checklist de Implementação

Uma implementação bem-sucedida do AVD depende de uma sequência correcta de passos. Use este checklist para garantir que nada é omitido.

# Tarefa Fase
1 Verificar licenças Microsoft 365 (E3/E5/Business Premium) Pré-requisitos
2 Criar resource group, VNet e subnets Infraestrutura
3 Provisionar Azure Files Premium + Private Endpoint Infraestrutura
4 Construir imagem Windows 11 multi-session com Azure Image Builder Imagem
5 Instalar agentes AVD, FSLogix e configurações base na imagem Imagem
6 Criar host pool (pooled ou personal) com load balancing correcto Configuração
7 Provisionar session hosts e registar no host pool Configuração
8 Configurar Entra ID Join ou AD DS conforme modelo de identidade Identidade
9 Configurar FSLogix apontando para Azure Files Perfis
10 Criar application groups (Desktop e/ou RemoteApp) Publicação
11 Criar workspace e associar application groups Publicação
12 Atribuir utilizadores/grupos via RBAC (Virtual Machine User Login) Acesso
13 Configurar Conditional Access com MFA obrigatório Segurança
14 Activar RDP Shortpath e otimizar políticas RDP Performance
15 Configurar scaling plan com horários de operação Escalonamento
16 Activar diagnostic settings para Log Analytics Monitorização
17 Adquirir Reserved Instances (1 ou 3 anos) Custos
18 Testar com grupo piloto (mínimo 2 semanas) Validação
19 Rollout por fases (20% → 50% → 100%) Migração
20 Documentar procedimentos de operação e DR Documentação

⚠️ Atenção: Não atribua todos os utilizadores de uma só vez no dia do go-live. Faça o rollout por fases: comece com 20% dos utilizadores durante uma semana, depois 50%, e só então os 100%. Isto permite detectar problemas de performance e ajustar o max-session-limit ou o sizing das VMs antes de afectar toda a organização.

O AVD é uma tecnologia madura em 2026 e continua a ser a melhor opção para PMEs que pretendem um VDI flexível, económico e sem infraestrutura local. Com a combinação correcta de Entra ID Join, FSLogix, autoscaling e Reserved Instances, é possível entregar uma experiência de trabalho remoto de classe empresarial por menos de €25 por utilizador/mês.

Para artigos relacionados que complementam esta implementação:


Este artigo foi útil?

Duarte Spínola

Deixe um Comentário