Considerações sobre entrega de aplicativos para cargas de trabalho da Área de Trabalho Virtual do Azure
Este artigo discute a área de design de entrega de aplicativo de uma carga de trabalho da Área de Trabalho Virtual do Azure. Considerar a entrega de aplicativos é crucial quando você implanta um novo ambiente da Área de Trabalho Virtual do Azure ou atualiza um existente. A entrega de aplicativos permite que as organizações forneçam áreas de trabalho e aplicativos remotos aos usuários de maneira confiável, econômica e eficiente.
Examine as considerações e recomendações neste artigo para saber como otimizar seus pools de host e hosts de sessão. Essas diretrizes refletem e estendem os pilares de qualidade do Azure Well-Architected Framework: confiabilidade, segurança, otimização de custos, excelência operacional e eficiência de desempenho. Aderir a essas considerações e recomendações ajuda a garantir um ambiente robusto e eficiente da Área de Trabalho Virtual do Azure.
Importante
Este artigo faz parte da série de carga de trabalho da Área de Trabalho Virtual do Azure Well-Architected Framework. Se você não estiver familiarizado com esta série, recomendamos que comece com O que é uma carga de trabalho da Área de Trabalho Virtual do Azure?.
Configurações do pool de host
Quando você cria pools de host, várias configurações afetam diretamente o desempenho e a eficiência do ambiente da Área de Trabalho Virtual do Azure.
Tipos de pool de host
Impacto: otimização de custos, confiabilidade
Na Área de Trabalho Virtual do Azure, você pode criar dois tipos de pools de host:
- Os pools de host pessoais atribuem um usuário específico a uma VM (máquina virtual) específica. Com essa configuração, o usuário se conecta ao mesmo computador todas as vezes e os dados do perfil do usuário são armazenados diretamente no disco do sistema operacional da VM. Esse cenário requer uma solução de backup robusta para garantir que todas as modificações do usuário sejam armazenadas e possam ser restauradas se houver um desastre. Esse tipo de pool de host é útil para cenários em que os usuários precisam manter o estado do aplicativo ao longo do tempo.
- Os pools de host em pool fornecem uma maneira de vários usuários se conectarem a diferentes VMs em um pool. Como os usuários podem se conectar a diferentes hosts de sessão com cada conexão, o administrador precisa configurar e usar o FSLogix para armazenar dados de perfil de usuário. Os pools de host agrupados oferecem uma experiência remota comum aos usuários, promovendo a economia e maior eficiência.
Cada tipo de pool de host vem com seu próprio conjunto de prós e contras. É importante selecionar cuidadosamente o tipo de pool de host avaliando minuciosamente as funcionalidades de que os usuários precisam.
Recomendações
- Considere usar um pool pessoal se você pretende dar aos usuários poder para personalizar seu ambiente e trabalhar livremente em uma VM.
- Use um pool de host em pool para simplificar sua solução de confiabilidade e minimizar os custos.
Algoritmos de balanceamento de carga
Impacto: Otimização de custos, eficiência de desempenho
Se você usar um pool de host em pool, há dois tipos de algoritmos de balanceamento de carga que você pode usar. Cada um afeta diretamente sua eficiência de custo e desempenho.
- O balanceamento de carga em largura distribui as sessões do usuário entre os hosts da sessão. Os usuários são atribuídos ao host da sessão com o menor uso, o que pode melhorar a experiência do usuário.
- O balanceamento de carga em profundidade satura um host de sessão por vez antes de atribuir sessões de usuário a outros hosts de sessão, garantindo o uso eficiente dos recursos. Essa abordagem é particularmente econômica, pois usa totalmente a capacidade de um único host antes de alocar usuários para o próximo host de sessão. É especialmente benéfico em cenários de redução de escala.
Recomendações
- Use o balanceamento de carga em largura para melhorar rapidamente a experiência do usuário.
- Use o balanceamento de carga em profundidade para uma abordagem econômica.
- Use o balanceamento de carga em profundidade para cenários de redução vertical.
Planos de colocação em escala
Impacto: Otimização de custos, eficiência de desempenho
Os planos de dimensionamento na Área de Trabalho Virtual do Azure podem ajudá-lo a atender à demanda do usuário e reduzir o custo de manutenção do ambiente de área de trabalho virtual. Ao usar planos de escalabilidade, você pode ajustar a porcentagem mínima e máxima de hosts e o limite de capacidade. Ao alterar essas configurações, você pode otimizar o número de hosts de sessão que estão online e prontos para aceitar sessões de usuário.
Usar os planos de escalabilidade de maneira ideal ajuda você a:
- Tenha um número adequado de hosts de sessão prontos para atender seus usuários.
- Desative os hosts da sessão quando os usuários não precisarem mais do serviço.
Você também pode alterar o algoritmo de balanceamento de carga para melhorar ainda mais sua eficiência de custos.
Ao contrário dos Conjuntos de Dimensionamento de Máquinas Virtuais do Azure, os planos de dimensionamento não implantam ou excluem hosts de sessão existentes. Em vez disso, os planos desligam e ligam automaticamente os hosts para ajudá-lo a maximizar sua eficiência de custos.
É importante definir um número máximo adequado de hosts de sessão desde o início. Essa prática ajuda a garantir que seu ambiente da Área de Trabalho Virtual do Azure atenda às necessidades de desempenho, mas também pode reduzir verticalmente os recursos quando eles não são necessários. Reduzir excessivamente pode ser prejudicial. Por exemplo, em alguns cenários, pode não haver hosts de sessão suficientes prontos para atender ao usuário. Nesse caso, os usuários podem experimentar uma degradação do desempenho ou não conseguir se conectar ao ambiente da Área de Trabalho Virtual do Azure. Como resultado, é importante determinar os valores ideais para o ponto mais baixo para o qual você pode reduzir e para o ponto mais alto para o qual você pode escalar.
Recomendações
- Use planos de escalabilidade, que desativam e ativam automaticamente os hosts para ajudar a garantir o desempenho adequado para os usuários.
- Ajuste as configurações dos planos de dimensionamento para melhorar a eficiência de custos.
Configurações do host de sessão
Assim como as configurações do pool de hosts, as configurações nas VMs que servem como hosts de sessão também podem afetar o desempenho do ambiente da Área de Trabalho Virtual do Azure.
Regiões
Impacto: Confiabilidade, eficiência de desempenho
O local de um host de sessão se correlaciona diretamente com a latência que os usuários finais experimentam. Se você usar o FSLogix, a distância entre o local do pool de host e o local de armazenamento do FSLogix também afetará a experiência do usuário final. Implante hosts de sessão próximos aos locais do usuário.
A região dos hosts da sessão também afeta a confiabilidade do ambiente da Área de Trabalho Virtual do Azure. É importante implantar seus hosts de sessão com redundância. Recomendamos habilitar zonas de disponibilidade.
- As zonas de disponibilidade aumentam a resiliência dos hosts da sessão contra interrupções de zona, mas são limitadas a regiões específicas.
- Os conjuntos de dimensionamento de máquinas virtuais com orquestração flexível fornecem opções de implantação em várias zonas. Dentro de cada zona, você pode implantar em diferentes domínios de falha.
Para obter mais informações sobre zonas de disponibilidade e conjuntos de dimensionamento com orquestração flexível, consulte os seguintes artigos:
- Serviço de zona de disponibilidade e suporte regional
- Conjuntos de dimensionamento com orquestração flexível
Recomendações
- Implante os hosts da sessão próximo aos usuários para minimizar a latência.
- Implante hosts de sessão em uma zona de disponibilidade ou em um conjunto de dimensionamento de máquinas virtuais flexível para ajudar a proteger seu ambiente contra interrupções.
Tamanho da computação
Impacto: Otimização de custos, eficiência de desempenho
O tamanho da computação do host da sessão também afeta o desempenho do seu ambiente. O Azure oferece vários tamanhos de computação. Há também muitas famílias, tipos de arquitetura, contagens de núcleos, recursos de armazenamento e opções de hardware especiais, como GPUs, disponíveis. Escolher o tamanho certo para sua carga de trabalho ajuda você a obter o desempenho ideal a um preço ideal.
Alguns tamanhos oferecem características especiais:
- DCasv5 e ECasv5 são tamanhos confidenciais que fornecem recursos robustos de alta segurança. Exemplos desses recursos incluem isolamento baseado em hardware, criptografia e módulos de plataforma confiável virtual dedicados.
- Determinados tamanhos fornecem suporte a GPU. A série NV, que é apoiada por GPUs NVIDIA Tesla M60, pode ser útil se você usar estruturas como OpenGL e DirectX ou, em geral, se usar aplicativos com uso intensivo de gráficos.
Recomendações
- Examine os vários tamanhos de computação, famílias e recursos que o Azure oferece e escolha a opção que otimiza o desempenho e a eficiência de custos de sua carga de trabalho.
- Considere as VMs na série DCasv5 ou ECasv5 se você executar cargas de trabalho de alta segurança.
- Considere as VMs da série NV se você usar aplicativos com uso intensivo de gráficos.
Soluções de armazenamento
Impacto: Otimização de custos, eficiência de desempenho
Sua solução de armazenamento também afeta o desempenho da Área de Trabalho Virtual do Azure. Os hosts de sessão usam discos gerenciados do Azure como discos rígidos virtuais. Vários tipos de discos estão disponíveis:
- SSDs (unidades de estado sólido) Premium
- SSDs Standard
- Unidades de disco rígido (HDDs) padrão
Cada disco tem seu próprio tamanho máximo, taxa de transferência e operações de E/S por segundo (IOPS). Ao escolher o tamanho e a série de discos corretos, você pode obter o desempenho necessário a um preço ideal:
- Se você escolher um tamanho de disco que ofereça desempenho adequado para os aplicativos executados em seu ambiente da Área de Trabalho Virtual do Azure, os usuários evitarão problemas graves de desempenho.
- Se você escolher um tamanho de disco que não seja muito grande, evitará pagar por desempenho extra que não é usado.
O SLA (contrato de nível de serviço) de um disco para os hosts da sessão depende do tipo de disco. Para comparar os SLAs de hosts de sessão que usam vários tipos de discos, consulte Resiliência do pool de hosts.
Recomendações
- Considere o tamanho máximo, a taxa de transferência e o IOPS dos vários tipos de discos gerenciados do Azure ao projetar sua solução de armazenamento.
- Escolha um tipo de disco gerenciado que otimize o desempenho e a eficiência de custos de sua carga de trabalho.
Tolerância a falhas
Impacto: otimização de custos, confiabilidade
A tolerância a falhas é fundamentalmente centrada nos princípios de alta disponibilidade e recuperação de desastres. Você pode obter alta disponibilidade aumentando o número de hosts de sessão, especialmente em diferentes zonas de disponibilidade. Se você espalhar hosts de sessão em várias zonas de disponibilidade e locais dentro de zonas de disponibilidade, poderá diminuir a chance de o ambiente da Área de Trabalho Virtual do Azure ficar indisponível devido à manutenção ou interrupção.
Para recuperação de desastres de hosts de sessão, você pode usar golden images ou backups:
- Se os hosts da sessão contiverem dados ou aplicativos que não precisam ser salvos ativamente, use golden images. Salvar essas imagens de forma redundante deve fornecer recuperação de desastre suficiente.
- Se o host da sessão contiver dados valiosos que são atualizados com frequência, considere backups para salvar essas alterações. O custo de usar backups é consideravelmente maior do que o custo de manter imagens douradas.
Também é importante executar uma FMA (análise de modo de falha) em seu ambiente. Com um FMA adequado, você pode se preparar para futuras interrupções e ajudar a evitá-las. Os pontos de falha potenciais incluem:
- Hosts de sessão implantados em uma única região. Essa configuração pode resultar em um desligamento completo do serviço durante uma interrupção da zona de disponibilidade.
- Hosts de sessão de pool pessoal que não têm backups. Sem backups habilitados, os usuários não podem implantar rapidamente outros hosts de sessão idênticos e podem sofrer perda de dados.
- A incapacidade de implantar rapidamente novos hosts de sessão durante uma interrupção. Se você não usar a infraestrutura como código (IaC) para salvar informações do host da sessão e imagens de VM, poderá encontrar esse problema. Exemplos de IaC incluem modelos do Azure Resource Manager, Bicep e Terraform.
Recomendações
- Distribua os hosts de sessão em diferentes zonas de disponibilidade para melhorar a disponibilidade.
- Distribua os hosts da sessão dentro das zonas de disponibilidade.
- Use as imagens douradas salvas de maneira redundante para a recuperação de desastre, caso você não precise fazer backup dos dados ou dos aplicativos do host da sessão.
- Use backups para a recuperação de desastre, caso você atualize os dados do host da sessão com frequência.
- Execute um FMA em seu ambiente para se preparar para futuras interrupções e ajudar a evitá-las.
Próximas etapas
Agora que você examinou as considerações de entrega de aplicativos, veja como estabelecer conectividade, criar perímetros para sua carga de trabalho e distribuir uniformemente o tráfego para suas cargas de trabalho.
Use a ferramenta de avaliação para avaliar suas escolhas de design.