La prueba de concepto para escritorios virtuales

Cambiar toda una organización a una arquitectura basada en escritorios virtuales, a pesar de que todos conocemos los beneficios que nos reportaría (mayor seguridad, aumento de flexibilidad, facilidad de gestión, simplificación, etc.) no es algo que se emprenda sin estar seguros de qué significará ese cambio en nuestro caso concreto y si esos beneficios genéricos se van obtener en nuestra empresa. Por ello la forma más adecuada de empezar un proyecto de escritorios virtuales es mediante una "Prueba de Concepto" o una "Prueba Piloto".

Pero si esta prueba de concepto no está bien planteada puede ser que tampoco nos ayude a aclarar las cosas, por lo que habremos invertido esfuerzo, dinero en algo inútil. Además no podemos estar haciendo pruebas de concepto de una tecnología cada pocos meses, por lo que posiblemente habremos perdido la posibilidad de beneficiarnos de una arquitectura de escritorios virtuales quizás por uno o dos años como mínimo. Por ello es de máxima importancia plantear muy bien esta prueba de concepto, pues en función de ello obtendremos resultados útiles para la toma de decisiones o simplemente habremos tenido nuestros técnicos entretenidos un tiempo "jugando" con una nueva tecnología.

La evaluación previa

El primer paso, incluso antes de empezar una prueba piloto, debería ser siempre hacer una evaluación previa de nuestro entorno y definir qué queremos realmente probar con la prueba de concepto. Un despliegue de escritorios virtuales debe proporcionar una experiencia al usuario final como mínimo equivalente a la experiencia que tiene actualmente, por lo que un primer paso es determinar qué usuarios van a formar parte de la prueba de concepto y en qué condiciones. Es importante señalar que casi nunca todos los usuarios de una organización van a ser susceptibles de trabajar con escritorios virtuales, quedando siempre grupos que es preferible que trabajen con esaciones de trabajo locales. En general en una prueba de concepto vamos a considerar dos tecnologías complementarias:  la ejecución de aplicaciones en servidores (Server Based Computing o SBC en inglés), que nos permitirá entre otras prestaciones publicar aplicaciones en los escritorios de los usuarios ;o la ejecución de escritorios virtuales remotos (VDI), en sus distintas modalidades. Así el primer paso de nuestra prueba de concepto será clasificar a nuestros usuarios en "susceptibles de SBC", "susceptibles de VDI" o "usuarios con PC tradicional", y a continuación identificar qué usuarios concretos de los dos grupos primeros formarán parte de nuestra prueba de concepto.

La fijación de objetivos

Este es un paso de máxima importancia y realizarlo bien tiene una influencia fundamental en la utilidad que tendrán los resultados de nuestra prueba de concepto. En general definiremos objetivos que tengan relación con nuestra organización, no objetivos genéricos o de prueba de productos. Muchas veces hemos visto pruebas de concepto cuyo principal objetivo era comprobar las prestaciones del producto en un entorno casi de laboratorio o muy controlado (típicamente sólo con usuarios del departamento de sistemas). Eso es un grave error, pues al final de la prueba la única información que habremos obtenido es verificar que las prestaciones descritas en la hoja del producto del fabricante son correctas. Aunque en algunos casos las prestaciones que nos venden y las del producto real no se corresponden nuestra experiencia nos indica que en la inmensa mayoría de ocasiones los productos hacen lo que el fabricante dice que hacen.

Por ello los objetivos de nuestra prueba de concepto deberían concentrarse en averiguar cómo la infraestructura se integra en nuestra organización y en verificar aquellos aspectos de funcionamiento que no son evidentes en la documentación del producto o en la comprobación de rendimientos que no podemos averiguar fácilmente de pruebas de rendimiento ya publicadas. Algunos ejemplos de objetivos que deberíamos fijarnos son:

  • Obtener información sobre la facilidad o dificultad de integración con nuestros sistemas actuales u componentes de la solución que estamos evaluando
  • Obtener información sobre la experiencia real de usuarios (y no sólo de los usuarios de nuestro departamento de sistemas)
  • Obtener información sobre el dimensionamiento en condiciones reales de funcionamiento para nuestras aplicaciones (memoria por usuario, anchos de banda en LAN y WAN, capacidad y ancho de banda del almacenamiento, etc.)
  • Evaluar la simplificación que obtenemos en nuestros sistemas de gestión. Lógicamente debemos considerar que durante la prueba de concepto nuestro personal no tiene experiencia con los nuevos sistemas, por lo que tendremos que saber "descontar" el tiempo de gestión invertido por falta de conocimiento
  • Obtener información sobre el comportamiento de nuevos dispositivos en nuestro entorno

Contar con los usuarios finales

Una de las metas que debemos tener cuando desplegamos un infraestructura de escritorios virtuales es conseguir que la experiencia para el usuario final sea óptima. Si el usuario final no tiene una experiencia equivalente o mejor que a la que está habituado es difícil que valore el cambio positivamente. Por ello no es buena idea limitar la prueba de concepto a los usuarios internos del departamento de TI, en modo endogámico. Es fácil imaginar que las sensaciones, capacidad de resolución de problemas y las necesidades de los usuarios finales "normales" van a ser muy distintas de los usuarios técnicos del departamento de TI, por lo que resulta obligatorio incluir usuarios de toda la organización si queremos realmente obtener una buena información de nuestra prueba de concepto para una implantación posterior en otros departamentos.

También es importante incluir varios tipos de usuarios, con perfiles distintos. Lo ideal es obtener información sobre la experiencia de usuarios locales, remotos e itinerantes, ya que en el despliegue posterior conocer las necesidades de comunicaciones para cada tipo de red y acceso va a ser crucial para el éxito del proyecto. También puede ser interesante evaluar el comportamiento de varios protocolos de presentación, sobre todo con los usuarios remotos, ya que dependiendo del perfil de su carga de trabajo uno puede tener mejor rendimiento que otro con la misma infraestructura de comunicaciones.

El almacenamiento como un punto importante

El almacenamiento tiene una gran importancia en los proyectos de escritorios virtuales. Un mal dimensionamiento del mismo en capacidad o rendimiento puede condicionar de forma significativa la experiencia del usuario, aunque lógicamente no deseamos sobredimensionar ninguno de los dos aspectos e incurrir en unos costes innecesarios. Lo ideal para dimensionar correctamente el almacenamiento es conocer bien los modelos de I/O en disco que los distintos tipos de usuarios generan, y eso es algo para lo que debe aprovecharse la prueba de concepto. En general un entorno desktop genera más escritura que lectura en una relación 60%-80% escritura contra un 20%-40% lectura y unas 10-15 IOPS por usuario, pero estas cifras sólo son orientativas pues la variabilidad puede ser muy grande. Si realizamos una prueba de concepto bien diseñada a su finalización tendremos este tipo de información con una buen precisión, lo que nos permitirá diseñar el almacenamiento necesario para el proyecto completo correctamente.

Conclusión

Quizás lo esencial es asumir que la virtualización de escritorios y la virtualización de servidores tienen poco que ver. Muchas veces se diseña una arquitectura de escritorios virtuales con los mismos criterios que una virtualización de servidores, pero hay que considerar aspectos muy distintos:

  • Los escritorios se reinicializan muy a menudo, típicamente al menos una vez al día por la mañana, mientras que en los servidores está operación sólo se realiza para mantenimiento, típicamente 1 ó 2 veces al año.
  • Los escritorios virtuales tienen que estar accesibles en cualquier momento, desde cualquier lugar y desde cualquier dispositivo. Los servidores tienen sistemas de acceso muy controlados y restringidos, con políticas perfectamente establecidas y horarios de servicio preestablecidos.

Un punto muy importante es, antes de nada, analizar la situación de partida respecto cómo se están utilizando los sistemas de escritorio y qué nivel de servicio real suministran al usuario los sistemas actuales. Eso nos permitirá tener un "baseline" sobre el que evaluar la prueba de concepto de nuestra infraestructura virtualizada desde el punto de vista de prestaciones y reducir los riesgos del ulterior proyecto.

Finalmente no olvidar nunca para qué hacemos la prueba de concepto. Lo importante no es "aprender" cómo funciona una infraestructura de VDI (para eso es mucho más económico organizar unas sesiones de formación) sino adquirir experiencia de cómo se comporta una infraestructura de VDI en nuestro entorno, para así poder tomar buenas decisiones sobre la implantación posterior en nuestra organización.