View a markdown version of this page

Linee guida per l'onboarding delle applicazioni - WorkSpaces Applicazioni Amazon

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Linee guida per l'onboarding delle applicazioni

Prima di rendere un'applicazione disponibile agli utenti finali tramite WorkSpaces Applicazioni, verificate che l'applicazione funzioni correttamente nell'ambiente cloud WorkSpaces delle Applicazioni, verificate che l'applicazione possa essere trasmessa in streaming senza artefatti di rendering e dimensionate il parco in modo appropriato per il profilo di risorse dell'applicazione. Questa pagina fornisce una checklist di onboarding strutturata che puoi seguire per ogni applicazione che intendi trasmettere in streaming. Se prevedi di utilizzare la modalità multisessione, devi prestare particolare attenzione alla possibilità di eseguire più versioni dell'applicazione sullo stesso host. Se si prevede di utilizzare la modalità applicativa nativa, è necessario verificare che l'applicazione non presenti problemi di compatibilità con questa modalità.

Queste linee guida si applicano sia che stiate effettuando l'onboarding di una nuova applicazione sia che stiate migrando un'applicazione esistente da un altro modello di distribuzione.

Panoramica del processo di onboarding

L'onboarding di un'applicazione in WorkSpaces Applications prevede due percorsi paralleli:

  • Convalida della compatibilità delle applicazioni: verifica che l'applicazione si comporti correttamente nell'ambiente di streaming con tutte le funzionalità su cui fanno affidamento gli utenti.

  • Dimensionamento delle istanze e pianificazione della capacità: scegli un tipo di istanza e una politica di scalabilità del parco istanze che corrispondano al profilo di CPU, memoria e GPU dell'applicazione e al numero di utenti simultanei previsto.

Consigliamo di completare prima la convalida della compatibilità (su un Image Builder e una flotta pilota), quindi di utilizzare le misurazioni di tale convalida per prendere decisioni sul dimensionamento delle istanze.

Parte 1: convalida della compatibilità delle applicazioni

Compatibilità generale

WorkSpaces Applications stabilisce una sessione di streaming in questo ordine:

  1. Il client dell'utente si connette a un'istanza di streaming.

  2. L'utente è connesso alla sessione del sistema operativo del server sull'istanza.

  3. L'applicazione viene avviata.

  4. Inizia la sessione di streaming, a quel punto vengono applicate le impostazioni dell'ambiente che dipendono dal client (ad esempio, risoluzione dello schermo del client, DPI, fuso orario del client e dispositivi reindirizzati dal client come le stampanti).

Poiché le impostazioni dell'ambiente dipendenti dal client vengono applicate dopo l'avvio dell'applicazione, un'applicazione che legge questi valori solo una volta durante l'avvio non reagirà alla configurazione effettiva del client dell'utente. Convalida quanto segue:

  • L'applicazione legge o sottoscrive le modifiche alla risoluzione dello schermo, ai DPI e al fuso orario dopo l'avvio oppure configuri l'istanza di streaming con impostazioni predefinite che corrispondono alla popolazione di utenti prima che il client si connetta.

  • L'applicazione tollera che il fuso orario locale dell'utente sia diverso dal fuso orario dell'istanza di streaming.

  • L'applicazione non si guasta né si blocca quando il client si disconnette e si riconnette a metà sessione.

Multi-session compatibilità

Se prevedi di eseguire l'applicazione su una flotta multisessione, convalida quanto segue su un Image Builder e una flotta pilota con due o più utenti simultanei:

  • La licenza dell'applicazione consente sessioni multiutente simultanee su una singola istanza del server. Le licenze per dispositivo o per utente di alcune applicazioni vietano esplicitamente questa configurazione.

  • I profili utente, le impostazioni delle applicazioni e i dati utente sono isolati tra le sessioni. Verifica che una modifica apportata da un utente non sia visibile a un altro utente simultaneo.

  • User-specific i dati vengono scritti in posizioni per utente come %APPDATA% e%LOCALAPPDATA%, non in directory condivise come o. C:\Program Files C:\ProgramData

  • L'applicazione non si basa su servizi di sistema condivisi tra tutte le sessioni, oppure tali servizi possono gestire correttamente più sessioni simultanee.

  • L'applicazione non contiene percorsi codificati che presuppongono un ambiente a utente singolo.

  • Le finestre di dialogo dei dispositivi di sistema enumerano solo i dispositivi reindirizzati dell'utente corrente, come scanner e stampanti, non tutti i dispositivi visibili sul server.

  • Le finestre di dialogo di apertura e salvataggio dei file risolvono correttamente le unità client mappate e le cartelle reindirizzate per l'utente corrente.

  • Il programma di installazione, il programma di aggiornamento e tutti i processi in background dell'applicazione non richiedono l'accesso interattivo dell'amministratore mentre gli utenti sono connessi.

Nota

Multi-session le flotte attualmente non supportano webcam, Dynamic Application Framework e Smart Card Authentication. Se hai bisogno di una di queste funzionalità, ti consigliamo di utilizzare flotte a sessione singola.

Compatibilità con la modalità di applicazione nativa

La modalità applicazione nativa trasmette ogni applicazione remota come una finestra separata sul dispositivo locale dell'utente, con la propria icona sulla barra delle applicazioni. Le applicazioni che funzionano correttamente in modalità classica possono comportarsi in modo diverso in modalità applicazione nativa perché la gestione, la messa a fuoco e il rendering delle finestre vengono gestiti in modo diverso. Per una panoramica della funzionalità, consulta Native Application Mode.

Convalida quanto segue in modalità di applicazione nativa su un Image Builder e una flotta pilota:

  • Visualizzazione delle finestre: tutte le finestre dell'applicazione, incluse le finestre di dialogo, le schermate iniziali e le istruzioni modali, vengono visualizzate correttamente e possono essere utilizzate. Presta particolare attenzione alle finestre disegnate manualmente anziché con i toolkit standard dell'interfaccia utente di Windows (ad esempio, schermate iniziali con rendering personalizzato o finestre di dialogo di avvio visualizzate prima della finestra principale). È più probabile che presentino problemi di compatibilità.

  • Finestre trasparenti o non rettangolari: verifica la presenza di finestre con aree trasparenti o di forme arrotondate o non rettangolari (ad esempio, punte a palloncino, descrizioni comandi personalizzate o finestre con skin). Queste potrebbero non essere visualizzate correttamente in modalità di applicazione nativa.

  • Barra delle applicazioni: le applicazioni che richiedono l'area di notifica di Windows (barra delle applicazioni) non sono attualmente supportate in modalità applicazione nativa. Se l'applicazione utilizza un'icona nella barra delle applicazioni solo per funzioni secondarie, verificate che il flusso di lavoro principale funzioni ancora quando la barra delle applicazioni non è disponibile.

  • Riconoscimento DPI: le sessioni di streaming possono essere eseguite con risoluzioni e impostazioni DPI diverse da quelle del client locale. Se l'applicazione non lo è DPI-aware, Windows stesso ridimensiona l'output, il che si traduce in un rendering sfocato. Esegui il test su almeno un client con una scala DPI diversa dal 100% (ad esempio, un laptop con DPI elevati al 125% o 150%).

  • Multi-window flussi di lavoro: verifica i flussi di lavoro che si estendono su più finestre di applicazioni (ad esempio, passando da una finestra principale a una finestra di dialogo modale o tra due documenti aperti in finestre separate). Verifica che le transizioni di messa a fuoco e il clic per attivare la barra delle applicazioni si comportino come previsto.

  • Comportamento di Alt+Tab e della barra delle applicazioni: passa dall'applicazione alle altre applicazioni locali utilizzando Alt+Tab e facendo clic sull'icona della barra delle applicazioni. L'applicazione remota dovrebbe apparire in primo piano senza portare con sé finestre remote non correlate.

  • Dialoghi modali: quando una finestra di dialogo modale è aperta nell'applicazione remota, la finestra remota sottostante dovrebbe indicare correttamente che è disabilitata e facendo clic su di essa dovrebbe lampeggiare o attivare la finestra modale.

  • Flussi di lavoro di stampa: stampa dall'interno dell'applicazione e verifica che la finestra di dialogo di stampa sia visibile (non nascosta dietro la finestra principale) e che le stampanti reindirizzate siano enumerate. Le finestre di dialogo di stampa visualizzate da alcuni driver di stampa potrebbero essere collegate alla finestra sbagliata. In tal caso, valuta la possibilità di utilizzare la stampante PDF DCV anziché Microsoft Print to PDF.

  • Docking delle schede del browser: quando gli utenti cercano di ancorare o scollegare le schede di una finestra del browser in finestre separate durante una sessione di streaming in modalità applicazione nativa, il browser di streaming remoto non funziona allo stesso modo di un browser locale. Gli utenti devono premere il tasto Alt finché le schede non si collegano a finestre separate del browser. Se gli utenti si affidano allo sblocco frequente delle schede, pianifica la formazione degli utenti per questo comportamento.

  • Cambio di modalità: verifica che l'applicazione continui a funzionare se l'utente passa dalla modalità dell'applicazione nativa alla modalità classica durante una sessione.

Consigliamo di iniziare la convalida della modalità applicativa nativa con un gruppo di utenti pilota e di documentare eventuali limitazioni specifiche dell'applicazione prima della distribuzione completa. Il comportamento e le prestazioni dell'applicazione possono variare tra le modalità di streaming, quindi il test in modalità classica non sostituisce il test in modalità applicativa nativa.

Gestione e reindirizzamento dei file

  • Aprire e salvare file da e verso unità client mappate e cartelle reindirizzate.

  • Se l'applicazione utilizza file temporanei, verificate che siano stati scritti in directory temporanee per utente.

  • Prova le operazioni su file di grandi dimensioni utilizzando il meccanismo di trasferimento dei file della sessione se gli utenti lavorano con file di dimensioni superiori a quelle tipicamente gestite dalla sessione di streaming.

Stampa

  • Prova la stampa su ogni tipo di stampante reindirizzata che gli utenti utilizzeranno (stampanti di rete, Microsoft Print to PDF, driver per stampanti PDF come la stampante PDF DCV e stampanti reindirizzate di terze parti).

  • Prova a stampare da ogni applicazione che dispone di un flusso di lavoro di stampa, comprese le applicazioni che incorporano contenuti Web (come le visualizzazioni). Chromium-based

  • Convalida il comportamento della finestra di dialogo di stampa in modalità applicazione nativa (vedere la sezione precedente).

Interazioni locali con i dispositivi

  • Ingresso e uscita audio (microfono, altoparlanti e cuffie).

  • Webcam, se utilizzata dall'applicazione.

  • Reindirizzamento del dispositivo USB, se utilizzato dall'applicazione. Vedi Reindirizzamento dei dispositivi USB per l'elenco dei dispositivi supportati.

  • Autenticazione con smart card, se richiesta dall'applicazione.

Prestazioni di rete

  • Misurate la velocità di risposta dell'applicazione su una connessione di rete rappresentativa dell'utente peggiore (ad esempio, un utente remoto su una connessione a banda larga di consumo con un tempo di andata e ritorno di 100 ms). Le sessioni di streaming sono sensibili al tempo di andata e ritorno e alla perdita di pacchetti.

  • Verifica che l'applicazione tolleri brevi interruzioni di rete e riconnessioni di sessione.

Multi-monitor supporto

  • Testa i flussi di lavoro che si estendono su più monitor sul lato client.

  • Se l'applicazione legge la geometria del monitor, verifica che legga il layout del monitor del client, non il layout dell'istanza di streaming.

Funzionalità audio e video

Real-time Gli scenari audio-video (strumenti di voce, videoconferenza e collaborazione integrati nell'applicazione) richiedono frame rate più elevati e potrebbero essere necessari un tipo di istanza più grande. Per informazioni, consulta Parte 2: dimensionamento delle istanze e pianificazione della capacità.

Ambiente di convalida

Esegui i controlli in questa sezione prima su un Image Builder, poi su una flotta pilota con un piccolo gruppo di utenti rappresentativi, prima di distribuire l'immagine a tutta la tua base di utenti. Non affidatevi ai test in modalità classica come sostituto dei test in modalità applicazione nativa.

Parte 2: dimensionamento delle istanze e pianificazione della capacità

Scegli una famiglia di istanze

Seleziona una famiglia di istanze in base al profilo di risorse dell'applicazione. Per le specifiche hardware e i prezzi, consulta WorkSpaces Applications Instance Families and WorkSpaces Applications Pricing.

Profilo dell'applicazione Famiglia di istanze consigliata
Office, browser Web, la maggior parte delle applicazioni aziendali Uso generico
Compute-bound applicazioni (elaborazione intensiva lato client, analisi locale) Ottimizzata per il calcolo
Memory-intensive applicazioni (set di dati di grandi dimensioni in memoria, database in memoria) Ottimizzata per la memoria
Applicazioni grafiche che utilizzano DirectX, OpenGL o OpenCL Graphics G4dn, G5 o G6
Real-time audio-video per scenari con frame rate elevato Aumenta le dimensioni dell'istanza all'interno della famiglia prescelta; prendi in considerazione un'istanza della famiglia Graphics se l'applicazione utilizza anche l'accelerazione GPU

Ogni istanza WorkSpaces Applications dispone di un'unità C a dimensione fissa da 200 GB che viene eliminata dopo ogni sessione utente. Non fate affidamento sullo storage locale dell'istanza per i dati degli utenti; utilizzate le home directory, le condivisioni di file o la gestione dei profili per la persistenza.

Dimensiona un'istanza per un singolo utente

Prima di eseguire il dimensionamento per utenti simultanei, misura l'utilizzo delle risorse dell'applicazione per una singola sessione:

  • Esegui il provisioning di un Image Builder della dimensione di istanza più piccola della famiglia prescelta che soddisfi i requisiti minimi dichiarati dell'applicazione.

  • Accedi come utente singolo ed esegui il carico di lavoro rappresentativo dall'inizio alla fine. Includi tutte le dipendenze che verranno eseguite nella sessione di streaming (ad esempio, client di sincronizzazione in background, agenti di sicurezza e client di gestione dei profili).

  • Misura, utilizzando Windows Performance Monitor o uno strumento equivalente: utilizzo di picco e sostenuto della CPU, utilizzo di picco e sostenuto della memoria del working-set (byte privati), I/O velocità del disco e, se applicabile, utilizzo della GPU e memoria video.

  • Se il picco di CPU supera circa l'80% o la memoria di picco supera circa il 75% della capacità dell'istanza durante i normali flussi di lavoro, passa alla dimensione dell'istanza successiva.

  • Lascia spazio al sistema operativo Windows Server, all'agente WorkSpaces Applicazioni, ad Amazon DCV, all'antimalware e a qualsiasi altro agente di gestione. Una regola empirica consiste nel riservare circa 1 vCPU e 1 GB di memoria per il sovraccarico del sistema di base su un'istanza a sessione singola.

Dimensioni per flotte multisessione

Multi-session le flotte eseguono più utenti contemporaneamente su una singola istanza di Windows Server. Il numero massimo di utenti supportati per istanza dipende dalla dimensione dell'istanza e dal profilo di risorse dell'applicazione.

  • Inizia dalla misurazione effettuata per singolo utente (dalla sezione precedente).

  • Applica un moltiplicatore di concorrenza basato sul comportamento dell'applicazione. Per le applicazioni con un profilo di risorse prevalentemente inattivo (ad esempio, applicazioni da ufficio utilizzate in modo interattivo), pianifica l'utilizzo aggregato di CPU e memoria in modo da scalare in modo approssimativamente lineare al numero di utenti, ma con una riduzione del 20-30% dovuta al sovraccarico del sistema operativo condiviso. Per le applicazioni con un profilo di risorse costantemente attivo (ad esempio, strumenti di elaborazione dati o browser che eseguono applicazioni Web complesse), pianifica una scalabilità quasi lineare senza alcuna riduzione.

  • Calcola il numero massimo di utenti candidati per istanza come:

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 )
  • Convalida il valore del candidato in un vero progetto pilota multisessione. Esegui un test con il numero candidato di utenti simultanei (ad esempio, con uno strumento di generazione del carico o con utenti pilota effettivi). Monitora l'utilizzo della CPU (obiettivo inferiore all'80% di picco, meno del 70% sostenuto), la memoria disponibile (obiettivo superiore al 15% del totale al picco), la lunghezza della coda del disco (obiettivo con meno di 2 obiettivi sostenuti) e la reattività della sessione DCV (soggettiva: la sessione sembra interattiva?).

  • Se il progetto pilota non soddisfa uno di questi obiettivi, riduci di uno il numero massimo di utenti per istanza e ripeti il test. Se il programma pilota supera la prova senza problemi, puoi aumentare di uno il numero massimo di utenti per istanza e ripetere il test, oppure lasciare spazio per i picchi di carico di lavoro.

Configura la scalabilità della flotta

Dopo aver definito il numero massimo di utenti per istanza, configura la scalabilità del parco veicoli in base al numero di utenti simultanei previsto nel tempo. Vedi Fleet Auto Scaling for WorkSpaces Applications per la meccanica completa. Questa sezione riassume le decisioni da prendere nell'ambito dell'onboarding.

  • Capacità minima. Impostato in base al numero minimo di utenti simultanei previsto durante l'orario lavorativo, diviso per gli utenti per istanza. Il provisioning richiede diversi minuti per istanza, pertanto una capacità minima pari a zero o un valore troppo basso può far sì che gli utenti attendano l'avvio di un'istanza all'inizio della giornata lavorativa. Per un aumento prevedibile della mattinata, utilizza una politica di scalabilità pianificata per aumentare la capacità minima prima dell'inizio della giornata lavorativa e diminuirla prima della fine della giornata lavorativa.

  • Capacità massima. Impostato su un limite superiore che tenga conto del picco di utenti simultanei più un margine di sicurezza. Il picco è in genere 1,2-1,5 volte la media durante l'orario lavorativo, ma misura il tuo traffico per impostarlo con precisione.

  • Utilizzo dell'obiettivo. Per le flotte con una domanda imprevedibile, utilizza una politica di scalabilità mirata al tracciamento. Scegliete un target di utilizzo che 100% - target utilization superi il tasso di turnover degli utenti previsto (churn) entro 15 minuti. Ad esempio, se il 10% degli utenti inizia e termina le sessioni entro una finestra di 15 minuti, imposta l'obiettivo al 90% o meno. Per maggiori dettagli, consulta Best Practices for Scaling Policy Design nel white paper.

  • InsufficientCapacityError allarme. Crea un CloudWatch allarme Amazon sulla InsufficientCapacityError metrica per ogni flotta, in modo che gli amministratori vengano avvisati quando il ridimensionamento automatico non riesce a tenere il passo con la domanda.

Convalida end-to-end con un programma pilota

Prima di distribuire un'applicazione a tutti gli utenti, esegui un progetto pilota con 10-50 utenti per almeno un'intera settimana lavorativa. Durante il progetto pilota:

  • Verificate che i risultati della convalida della compatibilità delle applicazioni di cui alla Parte 1 siano validi per carichi di lavoro reali degli utenti.

  • Verificate che la dimensione dell'istanza scelta supporti il picco di utenti simultanei osservato per istanza.

  • Verifica che la politica di scalabilità del parco veicoli gestisca l'accelerazione di inizio giornata e quella di fine giornata senza eventi. InsufficientCapacityError

  • Raccogli feedback sulla reattività della sessione e sul comportamento delle applicazioni dagli utenti pilota.

Lista di controllo per l'onboarding

Utilizza questa lista di controllo per tenere traccia dello stato di ogni applicazione per la quale stai effettuando l'onboarding.

Compatibilità delle applicazioni

  • La licenza dell'applicazione consente l'implementazione prevista (sessione singola o multisessione, utenti simultanei).

  • I controlli generali di compatibilità vengono superati (impostazioni dipendenti dal client applicate dopo l'avvio dell'applicazione).

  • Multi-session i controlli di compatibilità vengono superati (se si tratta di flotte multisessione).

  • I controlli della modalità applicativa nativa vengono superati (finestre, finestre di dialogo, vassoio, DPI, focus, stampa e cambio di modalità).

  • I controlli di gestione e reindirizzamento dei file vengono superati.

  • Flussi di lavoro di stampa convalidati per tutti i tipi di stampanti reindirizzate che gli utenti utilizzeranno.

  • Interazioni locali con i dispositivi (audio, webcam, USB e smart card) convalidate per tutti i dispositivi che gli utenti utilizzeranno.

  • Multi-monitor flussi di lavoro convalidati.

Dimensioni e capacità delle istanze

  • Famiglia di istanze scelta in base al profilo delle risorse dell'applicazione.

  • Single-user utilizzo delle risorse misurato su un Image Builder.

  • Numero massimo di utenti per istanza calcolato e convalidato in un programma pilota multisessione (se applicabile).

  • Politica di scalabilità della flotta configurata (capacità minima, capacità massima, utilizzo previsto o scalabilità pianificata).

  • InsufficientCapacityErrorallarme configurato.

Progetto pilota e implementazione

  • Esecuzione pilota con 10-50 utenti per almeno una settimana lavorativa.

  • Analisi del feedback del progetto pilota e risoluzione di eventuali problemi di blocco.

  • Applicazione documentata per la formazione degli utenti finali (compresi eventuali comportamenti noti in modalità applicativa nativa, ad esempio l'inserimento delle schede del browser tramite il tasto Alt).

  • Piano di implementazione concordato con le parti interessate.