As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Diretrizes de integração de aplicativos
Antes de disponibilizar um aplicativo para usuários finais por meio de WorkSpaces Aplicativos, valide se o aplicativo funciona corretamente no ambiente de nuvem de WorkSpaces Aplicativos, verifique se o aplicativo pode ser transmitido sem renderizar artefatos e dimensione sua frota de forma adequada ao perfil de recursos do aplicativo. Esta página fornece uma lista de verificação de integração estruturada que você pode seguir para cada aplicativo que você planeja transmitir. Se você planeja usar várias sessões, precisa prestar atenção específica à capacidade de executar várias versões do aplicativo no mesmo host. Se você planeja usar o modo de aplicativo nativo, é necessário verificar se o aplicativo não apresenta problemas de compatibilidade com esse modo.
Essas diretrizes se aplicam se você estiver integrando um novo aplicativo ou migrando um aplicativo existente de outro modelo de entrega.
Visão geral do processo de integração
A integração de um aplicativo aos WorkSpaces aplicativos tem duas trilhas paralelas:
-
Validação da compatibilidade de aplicativos: confirme se o aplicativo se comporta corretamente no ambiente de streaming em todos os recursos nos quais seus usuários confiam.
-
Dimensionamento da instância e planejamento de capacidade: escolha um tipo de instância e uma política de escalabilidade de frota que correspondam ao perfil de CPU, memória e GPU do aplicativo e à contagem esperada de usuários simultâneos.
Recomendamos concluir primeiro a validação de compatibilidade (em um Image Builder e em uma frota piloto) e, em seguida, usar as medidas dessa validação para orientar as decisões de dimensionamento de instâncias.
Parte 1: Validação da compatibilidade de aplicativos
Compatibilidade geral
WorkSpaces Os aplicativos estabelecem uma sessão de streaming nesta ordem:
O cliente do usuário se conecta a uma instância de streaming.
O usuário está conectado à sessão do sistema operacional do servidor na instância.
O aplicativo é iniciado.
A sessão de streaming começa, momento em que as configurações do ambiente que dependem do cliente (por exemplo, resolução da tela do cliente, DPI, fuso horário do cliente e dispositivos redirecionados pelo cliente, como impressoras) são aplicadas.
Como as configurações do ambiente dependente do cliente são aplicadas após a inicialização do aplicativo, um aplicativo que lê esses valores somente uma vez durante a inicialização não reagirá à configuração real do cliente do usuário. Valide o seguinte:
O aplicativo lê ou assina as alterações de resolução de exibição, DPI e fuso horário após a inicialização, ou você configura a instância de streaming com padrões que correspondem à sua população de usuários antes que o cliente se conecte.
O aplicativo tolera que o fuso horário local do usuário seja diferente do fuso horário da instância de streaming.
O aplicativo não falha nem trava quando o cliente se desconecta e se reconecta no meio da sessão.
Multi-session compatibilidade
Se você planeja executar o aplicativo em uma frota de várias sessões, valide o seguinte em um Image Builder e em uma frota piloto com dois ou mais usuários simultâneos:
A licença do aplicativo permite sessões simultâneas de vários usuários em uma única instância do servidor. Algumas licenças de aplicativos por dispositivo ou por usuário proíbem explicitamente essa configuração.
Perfis de usuário, configurações do aplicativo e dados do usuário são isolados entre as sessões. Teste se uma alteração feita por um usuário não está visível para outro usuário simultâneo.
User-specific os dados são gravados em locais por usuário, como
%APPDATA%e%LOCALAPPDATA%, não em diretórios compartilhados, comoC:\Program Filesou.C:\ProgramDataO aplicativo não depende de serviços do sistema compartilhados em todas as sessões, ou esses serviços podem lidar corretamente com várias sessões simultâneas.
O aplicativo não contém caminhos codificados que pressupõem um ambiente de usuário único.
As caixas de diálogo do dispositivo do sistema enumeram somente os dispositivos redirecionados do usuário atual, como scanners e impressoras, nem todos os dispositivos visíveis para o servidor.
As caixas de diálogo de abertura e salvamento de arquivos resolvem corretamente as unidades cliente mapeadas e as pastas redirecionadas para o usuário atual.
O instalador, o atualizador e qualquer processo em segundo plano do aplicativo não exigem acesso interativo do administrador enquanto os usuários estão conectados.
nota
Multi-session No momento, as frotas não oferecem suporte a webcam, Dynamic Application Framework e Smart Card Authentication. Se você precisar de algum desses recursos, recomendamos usar frotas de sessão única.
Compatibilidade com o modo de aplicativo nativo
O modo de aplicativo nativo transmite cada aplicativo remoto como uma janela separada no dispositivo local do usuário, com seu próprio ícone na barra de tarefas. Aplicativos que funcionam corretamente no modo clássico podem se comportar de forma diferente no modo de aplicativo nativo porque o gerenciamento de janelas, o foco e a renderização são tratados de forma diferente. Para obter uma visão geral do recurso, consulte Modo de aplicativo nativo.
Valide o seguinte no modo de aplicativo nativo em um Image Builder e em uma frota piloto:
Exibição da janela: todas as janelas do aplicativo, incluindo caixas de diálogo, telas iniciais e solicitações modais, são exibidas corretamente e podem ser interagidas. Preste atenção especial às janelas que são desenhadas manualmente, em vez de usar os kits de ferramentas padrão da interface do usuário do Windows (por exemplo, telas iniciais renderizadas personalizadas ou caixas de diálogo de inicialização que aparecem antes da janela principal). É mais provável que tenham problemas de compatibilidade.
Janelas transparentes ou não retangulares: verifique se há janelas que tenham áreas transparentes ou que tenham formas arredondadas ou não retangulares (por exemplo, pontas de balões, dicas de ferramentas personalizadas ou janelas revestidas). Eles podem não ser renderizados corretamente no modo de aplicativo nativo.
Bandeja do sistema: os aplicativos que exigem a área de notificação do Windows (bandeja do sistema) não são atualmente suportados no modo de aplicativo nativo. Se seu aplicativo usa um ícone de bandeja somente para recursos secundários, confirme se o fluxo de trabalho principal ainda funciona quando a bandeja não está disponível.
Reconhecimento de DPI: as sessões de streaming podem ser executadas em resoluções e configurações de DPI diferentes do cliente local. Se o aplicativo não estiver DPI-aware, o próprio Windows dimensionará a saída, o que resulta em renderização desfocada. Teste em pelo menos um cliente com uma escala de DPI diferente de 100% (por exemplo, um notebook com alto DPI de 125% ou 150%).
Multi-window fluxos de trabalho: teste fluxos de trabalho que abrangem várias janelas do aplicativo (por exemplo, alternando entre uma janela principal e uma caixa de diálogo modal ou entre dois documentos abertos em janelas separadas). Confirme se as transições de foco e o clique para ativar na barra de tarefas se comportam conforme o esperado.
Alt+Tab e comportamento da barra de tarefas: alterne entre o aplicativo e outros aplicativos locais usando Alt+Tab e clicando no ícone da barra de tarefas. O aplicativo remoto deve aparecer em primeiro plano sem trazer consigo janelas remotas não relacionadas.
Diálogos modais: Quando uma caixa de diálogo modal é aberta no aplicativo remoto, a janela remota subjacente deve indicar corretamente que ela está desativada e clicar nela deve piscar ou ativar o modal.
Fluxos de trabalho de impressão: imprima de dentro do aplicativo e verifique se a caixa de diálogo de impressão está visível (não oculta atrás da janela principal) e se as impressoras redirecionadas estão enumeradas. As caixas de diálogo de impressão exibidas por alguns drivers de impressora podem ser anexadas à janela errada. Se você observar isso, considere usar a impressora de PDF DCV em vez da Microsoft Print to PDF.
Encaixe da guia do navegador: quando os usuários tentam encaixar ou desencaixar guias em uma janela do navegador em janelas separadas durante uma sessão de streaming no modo de aplicativo nativo, o navegador de streaming remoto não funciona da mesma forma que um navegador local. Os usuários devem pressionar a tecla Alt até que as guias se encaixem em janelas separadas do navegador. Se seus usuários dependem da desencaixe frequente de guias, planeje o treinamento do usuário para esse comportamento.
Alternância de modo: teste se o aplicativo continua funcionando se o usuário alternar entre o modo de aplicativo nativo e o modo clássico durante uma sessão.
Recomendamos iniciar a validação do modo de aplicativo nativo com um grupo de usuários piloto e documentar quaisquer limitações específicas do aplicativo antes da implantação completa. O comportamento e o desempenho do aplicativo podem variar entre os modos de streaming, portanto, testar no modo clássico não substitui o teste no modo de aplicativo nativo.
Manipulação e redirecionamento de arquivos
Abra e salve arquivos de e para unidades cliente mapeadas e pastas redirecionadas.
Se o aplicativo usar arquivos temporários, confirme se eles foram gravados em diretórios temporários por usuário.
Teste as operações de arquivos grandes no mecanismo de transferência de arquivos da sessão se seus usuários trabalharem com arquivos maiores do que o tamanho normal gerenciado pela sessão de streaming.
Impressão
Teste a impressão em cada tipo de impressora redirecionada que seus usuários usarão (impressoras de rede, Microsoft Print to PDF, drivers de impressora PDF, como a impressora DCV PDF, e impressoras redirecionadas de terceiros).
Teste a impressão de cada aplicativo que tenha um fluxo de trabalho de impressão, incluindo aplicativos que incorporam conteúdo da Web (como Chromium-based visualizações).
Valide o comportamento da caixa de diálogo de impressão no modo de aplicativo nativo (consulte a seção anterior).
Interações do dispositivo local
Entrada e saída de áudio (microfone, alto-falantes e fones de ouvido).
Webcam, se usada pelo aplicativo.
Redirecionamento de dispositivo USB, se usado pelo aplicativo. Consulte Redirecionamento de dispositivos USB para ver a lista de dispositivos compatíveis.
Autenticação por cartão inteligente, se exigida pelo aplicativo.
desempenho de rede
Meça a capacidade de resposta do aplicativo em uma conexão de rede representativa de seu pior usuário (por exemplo, um usuário remoto em uma conexão de banda larga de consumo com 100 ms de tempo de ida e volta). As sessões de streaming são sensíveis ao tempo de ida e volta e à perda de pacotes.
Verifique se o aplicativo tolera breves interrupções na rede e reconexões de sessão.
Multi-monitor apoio
Teste fluxos de trabalho que abrangem vários monitores no lado do cliente.
Se o aplicativo ler a geometria do monitor, confirme se ele lê o layout do monitor do cliente, não o layout da instância de streaming.
Recursos de áudio e vídeo
Real-time cenários de áudio e vídeo (ferramentas de voz, videoconferência e colaboração incorporadas ao aplicativo) exigem taxas de quadros mais altas e podem precisar de um tipo de instância maior. Consulte Parte 2: Dimensionamento de instâncias e planejamento de capacidade.
Ambiente de validação
Execute as verificações nesta seção em um Image Builder primeiro e depois em uma frota piloto com um pequeno grupo de usuários representativos, antes de distribuir a imagem para toda a sua base de usuários. Não confie no teste do modo clássico como substituto do teste no modo de aplicativo nativo.
Parte 2: Dimensionamento de instâncias e planejamento de capacidade
Escolha uma família de instâncias
Selecione uma família de instâncias com base no perfil de recursos do aplicativo. Para especificações e preços de hardware, consulte WorkSpaces Famílias de instâncias de WorkSpaces aplicativos e Preços de aplicativos
| Perfil do aplicativo | Família de instâncias recomendada |
|---|---|
| Office, navegadores da web, a maioria dos aplicativos de linha de negócios | Finalidade geral |
| Compute-bound aplicativos (computação pesada do lado do cliente, análise local) | Otimizadas para computação |
| Memory-intensive aplicativos (grandes conjuntos de dados na memória, bancos de dados na memória) | Otimizadas para memória |
| Aplicações gráficas usando DirectX, OpenGL ou OpenCL | Graphics da família G4dn, G5 ou G6 |
| Real-time áudio e vídeo para cenários de alta taxa de quadros | Aumente o tamanho da instância na família escolhida; considere uma instância da família Graphics se o aplicativo também usar aceleração de GPU |
Cada instância do WorkSpaces Applications tem uma unidade C de tamanho fixo de 200 GB que é excluída após cada sessão do usuário. Não confie no armazenamento local da instância para dados do usuário; use pastas pessoais, compartilhamentos de arquivos ou gerenciamento de perfis para persistência.
Dimensionar uma instância para um único usuário
Antes de dimensionar para usuários simultâneos, meça o uso de recursos do aplicativo em uma única sessão:
Provisione um Image Builder do menor tamanho de instância na família escolhida que atenda aos requisitos mínimos estabelecidos pelo aplicativo.
Faça login como um único usuário e execute a carga de trabalho representativa de ponta a ponta. Inclua todas as dependências que serão executadas na sessão de streaming (por exemplo, clientes de sincronização em segundo plano, agentes de segurança e clientes de gerenciamento de perfil).
Meça, usando o Monitor de Desempenho do Windows ou uma ferramenta equivalente: uso máximo e sustentado da CPU, uso máximo e sustentado da memória do conjunto de trabalho (bytes privados), I/O taxa de disco e, se aplicável, uso da GPU e memória de vídeo.
Se o pico de CPU exceder aproximadamente 80% ou o pico de memória exceder aproximadamente 75% da capacidade da instância durante fluxos de trabalho normais, passe para o próximo tamanho de instância.
Deixe espaço livre para o sistema operacional Windows Server, o agente de WorkSpaces aplicativos, o Amazon DCV, o antimalware e quaisquer outros agentes de gerenciamento. Uma regra prática é reservar aproximadamente 1 vCPU e 1 GB de memória para a sobrecarga do sistema básico em uma instância de sessão única.
Tamanho para frotas com várias sessões
Multi-session as frotas executam vários usuários simultaneamente em uma única instância do Windows Server. O número máximo de usuários suportados por instância depende do tamanho da instância e do perfil do recurso do aplicativo.
Comece com sua medição de usuário único (na seção anterior).
Aplique um multiplicador de simultaneidade com base no comportamento do aplicativo. Para aplicativos que têm um perfil de recurso predominantemente ocioso (por exemplo, aplicativos de escritório usados interativamente), planeje o uso agregado de CPU e memória para escalar aproximadamente linearmente com o número de usuários, mas com uma redução de 20 a 30% devido à sobrecarga do sistema operacional compartilhado. Para aplicativos que têm um perfil de recursos consistentemente ativo (por exemplo, ferramentas de processamento de dados ou navegadores que executam aplicativos web pesados), planeje um dimensionamento quase linear sem redução.
Calcule o máximo de usuários candidatos por instância como:
max_users_per_instance = min( (instance_vcpus - 1) / peak_single_user_vcpus_under_concurrency, (instance_memory_gb - 1) / peak_single_user_memory_gb_under_concurrency )
Valide o valor do candidato em um piloto real de várias sessões. Faça um teste com o número candidato de usuários simultâneos (por exemplo, com uma ferramenta de geração de carga ou com usuários piloto reais). Monitore o uso da CPU (meta de menos de 80% de pico, menos de 70% sustentada), memória disponível (meta maior que 15% do total no pico), tamanho da fila de disco (meta menos de 2 sustentadas) e capacidade de resposta da sessão DCV (subjetiva — a sessão parece interativa?).
Se o piloto falhar em qualquer uma dessas metas, reduza o número máximo de usuários por instância em um e teste novamente. Se o piloto for aprovado com facilidade, você poderá aumentar o número máximo de usuários por instância em um e testar novamente ou deixar espaço livre para picos de carga de trabalho.
Configurar o escalonamento da frota
Depois de saber o número máximo de usuários por instância, configure o escalonamento da frota com base na contagem esperada de usuários simultâneos ao longo do tempo. Consulte Fleet Auto Scaling for WorkSpaces Applications para ver a mecânica completa. Esta seção resume as decisões que você deve tomar como parte da integração.
Capacidade mínima. Defina com base na menor contagem esperada de usuários simultâneos durante o horário comercial, dividida pelos usuários por instância. O provisionamento leva vários minutos por instância, portanto, uma capacidade mínima de zero ou um valor muito baixo pode fazer com que os usuários esperem pela inicialização de uma instância no início do dia de trabalho. Para aumentos matinais previsíveis, use uma política de escalabilidade programada para aumentar a capacidade mínima antes do início do dia de trabalho e diminuí-la antes que o dia de trabalho termine.
Capacidade máxima. Defina um limite superior que contabilize o pico de usuários simultâneos, além de uma margem de segurança. O pico geralmente é de 1,2 a 1,5 vezes a média durante o horário comercial, mas meça seu próprio tráfego para definir isso com precisão.
Utilização alvo. Para frotas com demanda imprevisível, use uma política de escalabilidade de rastreamento de metas. Escolha uma meta de utilização que
100% - target utilizationexceda sua taxa de rotatividade de usuários (rotatividade) esperada em uma janela de 15 minutos. Por exemplo, se 10% dos usuários iniciarem e encerrarem sessões em qualquer janela de 15 minutos, defina a meta para 90% ou menos. Consulte as melhores práticas para escalar o design de políticas no whitepaper para obter mais detalhes.InsufficientCapacityError alarme. Crie um CloudWatch alarme da Amazon na
InsufficientCapacityErrormétrica para cada frota, para que os administradores sejam alertados quando a escalabilidade automática não puder acompanhar a demanda.
Valide de ponta a ponta com um piloto
Antes de lançar um aplicativo para todos os usuários, execute um piloto com 10 a 50 usuários por pelo menos uma semana útil inteira. Durante o piloto:
Confirme se os resultados da validação de compatibilidade de aplicativos da Parte 1 se aplicam às cargas de trabalho reais do usuário.
Confirme se o tamanho da instância escolhido é compatível com o pico observado de usuários simultâneos por instância.
Confirme se a política de escalonamento da frota lida com a rampa de início e redução de fim de dia sem eventos.
InsufficientCapacityErrorColete feedback dos usuários piloto sobre a capacidade de resposta da sessão e o comportamento do aplicativo.
Lista de verificação de integração
Use essa lista de verificação para acompanhar o status de cada aplicativo que você está integrando.
Compatibilidade de aplicativos
A licença do aplicativo permite a implantação pretendida (sessão única ou multisessão, usuários simultâneos).
As verificações gerais de compatibilidade são aprovadas (configurações dependentes do cliente aplicadas após o início do aplicativo).
Multi-session as verificações de compatibilidade são aprovadas (se forem destinadas a frotas com várias sessões).
As verificações do modo de aplicativo nativo são aprovadas (janelas, caixas de diálogo, bandeja, DPI, foco, impressão e alternância de modo).
As verificações de manipulação e redirecionamento de arquivos são aprovadas.
Fluxos de trabalho de impressão validados para todos os tipos de impressoras redirecionadas que os usuários usarão.
Interações de dispositivos locais (áudio, webcam, USB e cartão inteligente) validadas para todos os dispositivos que os usuários usarão.
Multi-monitor fluxos de trabalho validados.
Dimensionamento e capacidade da instância
Família de instâncias escolhida com base no perfil de recursos do aplicativo.
Single-user uso de recursos medido em um Image Builder.
Máximo de usuários por instância calculado e validado em um piloto de várias sessões (se aplicável).
Política de escalabilidade da frota configurada (capacidade mínima, capacidade máxima, utilização pretendida ou escalabilidade programada).
InsufficientCapacityErroralarme configurado.
Piloto e implantação
Piloto executado com 10 a 50 usuários por pelo menos uma semana útil.
O feedback do piloto foi analisado e quaisquer problemas de bloqueio foram resolvidos.
Aplicativo documentado para treinamento do usuário final (incluindo qualquer comportamento conhecido do modo de aplicativo nativo, como encaixe de abas do navegador por meio da tecla Alt).
Plano de implantação acordado com as partes interessadas.