Decisión de diseño: la escalabilidad y la economía de la entrega de Citrix DaaS en Azure
El objetivo de este documento es proporcionar orientación a las empresas que están avanzando hacia la implementación de escritorios como servicio (DaaS) de Citrix en la nube de Microsoft Azure. Para brindar el mejor asesoramiento posible a nuestros clientes, decidimos determinar la respuesta a cuatro preguntas clave que afectan las decisiones de arquitectura y diseño de Citrix:
- ¿Cuál es la serie de instancias más eficiente para alojar DaaS?
- ¿Cuál es el tipo de instancia más rentable en la familia más eficiente
- ¿Qué impacto tiene la caché de E/S (MCSIO) de Machine Creation Services?
- ¿Cómo se compara la escalabilidad multisesión Windows 10 con el SO de servidor Windows?
Citrix dispone de un artículo más detallado en el que se detallan los detalles de la metodología de prueba y los resultados de rendimiento capturados durante la evaluación. Este documento se centra en los resultados de alto nivel y proporciona orientación sobre cómo diseñar una implementación eficiente de Citrix en la nube de Microsoft Azure.
Para determinar el rendimiento, utilizamos LoginVSI 4.1.32.1, que crea sesiones simuladas en un único servidor Citrix. Las dos cargas de trabajo que utilizamos para las pruebas se describen de la siguiente manera:
- Carga de trabajo del trabajador de tareas: incluye segmentos con Microsoft Office 2016 Outlook, Excel, Internet Explorer, Adobe Acrobat y PDF Writer. La carga de trabajo del trabajador de tareas no plantea una gran demanda en el entorno y representa a los usuarios que no tienen acceso al sistema en gran medida.
- Carga de trabajo de Knowledge Worker: incluye segmentos con Microsoft Office 2016 Outlook, Word, PowerPoint, Excel, Adobe Acrobat, FreeMind, PhotoViewer, Doro PDF Writer e incluye la visualización de varias películas 360p. La carga de trabajo de Knowledge Worker plantea una mayor demanda en el entorno, incluido un mayor uso de la memoria disponible, y representa a los usuarios que acceden al sistema con mayor intensidad.
El número de usuarios que completan correctamente la prueba multisesión proporciona un indicador clave de rendimiento en condiciones reales. Este valor, denominado recuento de sesiones VSImax, se utiliza para el análisis comparativo. Las cargas de trabajo VSI de inicio de sesión calculan el recuento de sesiones de VSImax observando el tiempo de respuesta de un solo usuario en el sistema. VSImax se alcanza cuando el tiempo de respuesta ha disminuido significativamente por debajo del umbral esperado que se derivó del valor de línea base tomado con un solo usuario en el sistema.
Para proporcionar números conservadores que se pueden replicar de forma consistente sin conocimientos especializados, todos los resultados aquí reflejan la ejecución de pruebas mediante directivas de Citrix predeterminadas y la configuración predeterminada no optimizada para los productos de Windows y Office. Tanto el rendimiento como la densidad se pueden mejorar mediante la aplicación de herramientas de optimización de Citrix, como Citrix WEM y Citrix Optimizer.
¿Cuál es la serie de instancias más eficiente?
Para encontrar la serie de instancias más eficiente, necesitábamos probar las diferentes series de instancias sin cambiar ninguna otra variable en la mezcla. La imagen base era Windows Server 2016 con la versión 1903.1 de Citrix VDA y una unidad de disco duro estándar (HDD) de 128 GB para la unidad C: del sistema. Seleccionamos los tipos de instancia de 8 núcleos por dos razones principales:
1) Representan el caballo de batalla de los tipos de instancias de Azure para las sesiones alojadas y, por lo general, son el tamaño más popular implementado 2) Proporcionan un buen equilibrio de CPU/RAM y un impacto mínimo en el sistema operativo en comparación con un sistema de 2 núcleos más pequeño.
El siguiente gráfico muestra los resultados de la familia de instancias junto con el coste medio por usuario por hora basado en los precios de pago por uso para la región de Azure US-West-2 donde se realizaron las pruebas.
Análisis
La mayoría de estos tipos de instancias utilizan el mismo procesador, Intel (R) Xeon (R) CPU E5-2673 v4 a 2,30 GHz. La diferencia principal es la cantidad de memoria disponible para la máquina virtual. Puede encontrar más información sobre estas diferentes series en el sitio web de Microsoft.
En términos generales, las instancias de 8 núcleos tienen un rendimiento bastante similar, especialmente si se tienen en cuenta los núcleos físicos (D13_v2, D4_v2, L8s) en comparación con los núcleos hipersubprocesos (F8s_v2, D8_v3, E8_v3). Sin embargo, cuando se considera el coste por hora de la instancia, las instancias D13_v2 y F8S_v2 proporcionan un uso más eficiente. Las series E_v3 y LS_v1 son menos rentables porque Microsoft cobra una prima superior para las instancias optimizadas para memoria y almacenamiento optimizadas. En situaciones en las que las aplicaciones de su usuario requieren un uso intensivo de memoria o almacenamiento, estas instancias suelen proporcionar un buen retorno de la inversión.
Recomendaciones
Si las aplicaciones de los usuarios típicos requieren un uso intensivo de la CPU y no requieren memoria significativa para ejecutarse, el rendimiento más rentable es la serie F. Seleccione la serie F cuando necesite excelentes tiempos de respuesta de CPU y no requiera una cantidad significativa de memoria. Si las aplicaciones de su usuario consumen una cantidad justa de memoria, utilice uno de los tipos de instancia D dependiendo de la cantidad de memoria adicional necesaria por núcleo para el entorno del usuario.
¿Cuál es el tipo de instancia más rentable en la familia más eficiente?
Cuando completamos la amplia prueba en todas las familias, esperábamos que una sola serie fuera un líder claro. Sin embargo, los resultados terminaron convenciéndonos de que las dos mejores familias de instancias para realizar pruebas adicionales eran la serie D y la serie F cuando se probaban con almacenamiento de disco duro estándar. El siguiente paso fue probar los tamaños específicos que oscilan entre 2 y 16 VCPU dentro de las familias D_v2 y FS_v2. Los resultados de estas pruebas se muestran a continuación.
Análisis
El gráfico anterior muestra los resultados de las pruebas con las mayores densidades de 74 y 63 sesiones de usuario, para el trabajador de tareas y el trabajador del conocimiento respectivamente, que se obtienen en el tipo de instancia D14_v2 (16 núcleos, 112 GB de RAM). Dado que los precios varían entre los tipos de instancia, una mayor densidad no implica necesariamente un menor coste por usuario.
El modelo de precios para las instancias de Azure varía según la región, el tipo de instancia y los recursos proporcionados. Los gráficos anteriores también incluyen la rentabilidad de cada tipo de instancia basada en las densidades de usuario de VDA logradas en las pruebas de un solo servidor. Los costes reflejan los precios de pago por uso de EE.UU. Oeste 2 para las instancias de VM estándar a partir de septiembre de 2019 e incluyen el coste de las licencias de Microsoft Windows.
Como se muestra en el gráfico anterior, el tipo de instancia D13_v2 muestra el menor coste por hora por usuario de 0,018 USD para un trabajador de tareas, con F16s_v2 y F8S_v2 en segundo lugar con un coste de 0,019 USD. En cuanto al trabajador de conocimiento, tanto los tipos de instancia F16s_v2 como F8S_v2 comparten el mejor coste por hora de 0,025 USD, seguido de cerca del tipo de instancia D13_v2 en 0,026$.
Recomendaciones
En las pruebas, los resultados de densidad mostraron un claro beneficio de los procesadores más rápidos disponibles con las instancias de la serie FS v2 cuando se encuentran bajo la carga de trabajo más pesada del trabajador del conocimiento. Sin embargo, la relación de memoria a núcleo de FS v2 es menor que las relaciones de la serie D v2 y se recomienda utilizar las instancias de la serie FS v2 solo cuando el consumo de memoria para la carga de trabajo es bajo. Si los usuarios ejecutan aplicaciones que requieren un uso intensivo de memoria, la serie D_V2 es la mejor opción.
Cuando el coste por usuario es similar, como el caso de F8S_v2 y F16S_v2, seleccione los tamaños de instancia más pequeños, cuando exista cualquiera de las condiciones siguientes:
- Necesidad de resiliencia: quiere afectar a menos usuarios durante las ventanas de mantenimiento
- Necesidad de una administración eficiente de la energía: quiere apagar rápidamente las máquinas no utilizadas
Seleccione los tamaños de instancia más grandes cuando exista cualquiera de estas condiciones:
- Necesidad de una administración reducida: quiere administrar menos máquinas en el entorno
- Necesita llamadas API reducidas: necesita menos llamadas API a la infraestructura de Azure para las operaciones
¿Qué impacto tiene la caché de E/S de Machine Creation Services?
Los tipos de instancia utilizados para las pruebas se configuraron con almacenamiento estándar en lugar de almacenamiento SSD más costoso para la unidad del sistema en la máquina virtual. Debido a que los tipos de instancia con almacenamiento SSD tienen discos efímeros más pequeños donde se almacena el archivo de página, aunque los discos eran más rápidos, la escalabilidad fue menor porque la instancia no tenía suficiente espacio de archivo intercambiable disponible para admitir la necesidad de memoria virtual bajo una carga mayor.
En los tamaños de disco que estamos mediante, los discos HDD y SSD tienen un rendimiento IOPS similar (500). Si bien los discos SSD tienen un rendimiento más consistente, el coste adicional no siempre está justificado.
Decidimos entonces considerar la caché de E/S (MCSIO) de Machine Creation Services, como una forma de lograr un rendimiento similar a SSD con los discos estándar más grandes. Las pruebas se completaron con Citrix VDA versión 1903.1 y Windows Server 2016 en un tipo de instancia D5_v2 (16 vCPU, 56 GB de RAM). El siguiente gráfico muestra el aumento en la densidad de usuarios obtenida al habilitar la caché MCSIO con la carga del trabajador de Knowledge.
Análisis
Cuando el disco del sistema operativo no tiene habilitada la caché MCSIO, la puntuación de usuario de VSImax fue 61 en un disco duro de 128 GB, 74 en un disco SSD de 64 GB y 75 en un disco SSD de 128 GB. Habilitar la caché MCSIO en un disco HDD estándar en realidad proporcionó un mejor rendimiento que un SSD, con una caché de 4 GB habilitada en el disco duro de 64 GB, la puntuación aumentó a 76 y con una caché de 2 GB la puntuación aumentó ligeramente más a 77. La pérdida del usuario adicional entre los tamaños de caché de 4 GB y 2 GB se atribuye a la RAM adicional que se utiliza para la caché y no está disponible para la carga de trabajo del usuario.
Si bien MCSIO contribuye a un menor coste por usuario por hora, ese número no es significativo por sí solo. El impacto real de MCSIO se puede determinar cuando se mira la experiencia del usuario final. El gráfico siguiente muestra la caída media del tiempo de respuesta cuando se utiliza MCSIO.
Recomendaciones
Si la experiencia del usuario es un factor determinante al considerar el rendimiento, recomendamos habilitar la caché MCSIO. Cuando está habilitado, la recomendación es utilizar un disco estándar con la caché de 2 GB, ya que proporciona la mejor mejora sin afectar la densidad del usuario. Sin embargo, la caché MCSIO no debe habilitarse en máquinas virtuales que tengan una memoria restringida, como los tipos de instancia de las series F o FS que están optimizados para el proceso, pero tienen bajas relaciones de memoria a CPU.
¿Cómo se compara la escalabilidad multisesión Windows 10 con el SO de servidor Windows?
Con el lanzamiento de los sistemas operativos Windows Server 2019 y Windows 10 multisesión, pensamos que sería mejor proporcionar alguna orientación acerca de cómo el sistema operativo cliente afectaría la escalabilidad. Tanto los sistemas operativos Windows Server 2019 como Windows 10 Multisesión requieren la versión 1906.1 de Citrix VDA más reciente. Windows 10 Multisession está disponible con los derechos de Azure Virtual Desktop (AVD) y otorga al arrendatario el precio base de la VM (precios de Linux). Esa autorización también amplía los precios de VM a Windows Server 2016 y Windows Server 2019.
Este gráfico muestra los cambios de densidad cuando se compara con las mismas pruebas con Windows Server 2016 mediante la versión 1906.1 de Citrix VDA en la misma instancia D4_v2 (8 vCPU, 28 GB de RAM). Los precios que se muestran a continuación utilizan los precios de VM de Linux en línea con los derechos de AVD requeridos.
Análisis
En comparación con los resultados de Windows Server 2016, Windows Server 2019 proporcionó una densidad de usuarios ligeramente menor tanto para el trabajador de conocimientos como para el trabajador de tareas, con una disminución del 7% para los trabajadores de tareas y una disminución del 12% para los trabajadores del conocimiento.
Al comparar Windows Server 2019 con la carga de trabajo multisesión de Windows 10 se tradujo en un 19% menos de trabajadores de tareas y un 32% menos de trabajadores de conocimientos. Esta disminución del rendimiento se espera porque Windows 10 es una versión completa de cliente y no está optimizado para la informática basada en servidor como Windows Server 2016 y Windows Server 2019.
Una ventaja económica del uso de Multisesión de Windows 10 es que no requiere licencias CAL de RDS para que los clientes se conecten a la máquina virtual. Esta ventaja de coste no se incluye en los cálculos anteriores, ya que es un coste de licencia de Microsoft además del coste por hora de Azure.
Recomendaciones
Cuando planee actualizar de Windows Server 2016 a Windows Server 2019, espere aumentar el número de máquinas virtuales en aproximadamente un 10%. Si planea utilizar Windows 10 Multisession para alojar aplicaciones que requieren compatibilidad con el cliente de Windows, tenga en cuenta que la densidad será menor, lo que dará como resultado aproximadamente un 30% de costes adicionales sobre los sistemas operativos del servidor. Sin embargo, la Multisesión de Windows 10 permite a los usuarios acceder a la Tienda Windows, algo que los sistemas operativos del servidor no tienen disponible.
Conclusión
El tipo de instancia de Azure que seleccione para implementar cargas de trabajo de aplicaciones virtuales de Citrix es un elemento crítico que determina la densidad y la escalabilidad del usuario y, a su vez, el coste por usuario de un modelo de entrega de Azure. Como se muestra, los diferentes tipos de instancias de Azure tienen ventajas para cargas de trabajo específicas, como requisitos computacionales elevados o memoria adicional. Normalmente, una instancia D13_v2 con discos HDD estándar y una caché MCSIO de 2 GB habilitada proporciona el mejor rendimiento del usuario al menor coste. Tenga en cuenta el sistema operativo Windows 10 Multisesión cuando necesite la Tienda Windows, compatibilidad de aplicaciones o una verdadera experiencia de cliente de Windows.
Los resultados de Citrix on Azure que se presentan aquí solo representan pautas para configurar su solución de Azure. Si no dispone de datos sobre las cargas de trabajo específicas de los usuarios, los números que proporcionamos aquí sirven como estimaciones de diseño. Antes de tomar decisiones finales sobre el tamaño y la implementación, le recomendamos encarecidamente que ejecute pruebas de concepto en diferentes tipos de instancias de Azure mediante sus propias cargas de trabajo y, a continuación, utilice esos datos para los diseños finales.
Obtenga más información
Para obtener más información sobre la implementación de cargas de trabajo de Citrix Virtual Apps en Microsoft Azure Cloud Services, consulte el sitio web de socios de Citrix y Microsoft en https://www.citrix.com/global-partners/microsoft/resources.html