Montando un escenario de Virtualización del Escritorio: El objetivo

Hola

Con este abro una serie de posts dedicados al tema de la virtualización del escritorio, en el que explicaré cual es la foto final que se pretende alcanzar. En los sucesivos daré información más detallada de cada una de las piezas que conforman el escenario.

Antes de nada, aclarar el título. Como ya expliqué en este otro post, es frecuente confundir la virtualización del escritorio con lo que hoy conocemos como VDI. Como decía entonces, existen mas posibilidades que la mera creación de una máquina virtual en el Datacenter para lograr que un usuario tenga sus aplicaciones o todo su “botón de inicio” en un lugar diferente al dispositivo físico que tiene en sus manos.

En este escenario vamos a combinar tres tecnologías diferentes:

  • Windows Server 2008 Hyper-V R2 o Microsoft Hyper-V 2008 R2, que nos ofrecerán el hypervisor y la funcionalidad de alta disponibilidad y movimientos de máquinas virtuales
  • Windows Server 2008 R2 Remote Desktop Services, que nos permitirán:
    • Servir a los clientes escritorios y/o aplicaciones individuales mediante el Remote Desktop Session Host
    • Ofrecer la infraestructura necesaria para conectarnos cómodamente desde cualquier lugar a través del Remote Desktop Web Access y Remote Desktop Gateway
    • Repartir las conexiones RDP de los clientes a las máquinas virtuales individuales o “pools” de ellas y a los Remote Desktop Services Hosts, o granjas de ellos, y/o las aplicaciones que publican mediante el Remote Desktop Connection Broker
    • Hablar con la capa de virtualización para gestionar la máquinas virtuales mediante el Remote Desktop Virtualization Host.
  • Microsoft Application Virtualization (App-V), que nos permitirá virtualizar aplicaciones individuales para desplegarlas a clientes y/o servidores de Remote Desktop, bien sean estos físicos o virtuales.

Por ahora, dejaremos fuera la posibilidad de virtualizar clientes (o incluso servidores) en el propio equipo cliente, si bien esto abre nuevas posibilidades. Esto lo haríamos con Windows Virtual PC y/o Microsoft Enterprise Desktop Virtualization (MED-V).

El escenario sería este:

Los clientes físicos, portátiles, sobremesas o thin-clients, reciben algunas aplicaciones virtualizadas con App-V, y las ejecutan junto con las que pudieran estar ya instaladas físicamente. En este caso la ejecución es local, si bien las aplicaciones virtualizadas viven en su propia burbuja, sin “manchar” el Sistema Operativo base y sin “pelearse” unas con otras. Podemos llegar a tener ejecutándose simultáneamente diferentes versiones de la misma aplicación.

Estos los usuarios trabajando en estos clientes pueden necesitar en un momento dado ejecutar una aplicación específica que no este presente en su equipo, o incluso tener que conectarse a otro escritorio donde se ejecuta un entorno de aplicaciones específicas. Para lo primero puede acceder a una “Remote App” publicada en un servidor de terminales y para lo segundo puede, o abrir una sesión contra un servidor de terminales, o bien conectarse a una máquina virtual corriendo un sistema operativo cliente.

En este caso, los RD Web Access ofrecen un portal donde el usuario puede elegir lo que quiere hacer. Lanzar una aplicación remota, conectarse a un terminal server, conectarse a su máquina virtual personal (no dibujada), o conectarse a una máquina virtual de un pool de ellas configuradas de forma idéntica. Una vez hecha a difícil selección, será el Connection Broker quien se encargue de redirigir esa petición a buen puerto, en función del usuario y el destino. En ultima instancia, será el cliente el que hablará directamente con el destino asignado, y puede hacerlo de manera segura a través de un Gateway (no dibujado) en caso de que se encuentre en una localización remota.

El servidor de App-V se encarga de mandar las aplicaciones virtualizadas mediante streaming a los clientes físicos, a los servidores de terminal y a las máquinas virtuales, yéndose estas a sumar a las que pudieran estar instaladas directamente sobre el sistema operativo. He de decir que App-V soporta otros métodos de distribución de las aplicaciones, pero no quiero complicar esto mucho más de la necesario.

Tenemos por tanto:

  • Tres posibilidades de tener un escritorio, uno físico y dos virtuales: El del equipo, el de los terminales y el de las máquinas virtuales.
  • Tres posibilidades de tener las aplicaciones: Instaladas físicamente, virtualizadas con App-V y las Remote App del Terminal. estas a su vez pueden estar instaladas sobre el sistema operativo o virtualizadas con App-V.

Reiterando que me dejo fuera Windows Virtual PC y MED-V, solo hace falta aplicar un poco de combinatoria para darnos cuenta de lo rico que es todo esto, y de lo complicado que puede ser atinar con una estrategia de virtualización del escritorio adecuada. No conozco ninguna empresa que pueda presumir de haberse quedado única y exclusivamente con una de las combinaciones. Generalmente hay que analizar casuísticas en función de tipología de usuarios, aplicaciones que deben utilizar, datos que deben manejar y localizaciones en las que tienen que trabajar. Todo esto sumado a la infraestructura necesaria y al coste de la misma.

Llevo toda la semana montando dos escenarios que enseñan todo esto. Yo mismo me he sorprendido de haberlo podido montar todo en un único portátil. ¡Y me sobran 3-4 Gb de RAM para meter más cosas!:

Utilizo un portátil de 8 GB de RAM con Windows Server 2008 R2 con Hyper-V como estación de trabajo. Como siempre, uno de los principales trucos para mejorar el rendimiento de una solución de virtualización pasa por repartir bien el IO. Uso el disco interno para correr una VM que contiene el DC y el Bróker y tengo un par de discos USB externos conde corro las máquinas virtuales del pool y el servidor de terminal. Este contiene además tanto la parte cliente como servidora de App-V, consumiendo las propias aplicaciones que publica y sirviéndolas por Remote App. Hace además las veces de máquina virtual personal del administrador.

Todo esto puede y debe escalar mucho más. He pasado algunas horas esta semana montando todo sobre una infraestructura con un par de clústeres y algún que otro servidor más por debajo. Y he contemplado mi primera Geo-LiveMigration entre dos cabinas que replican alguna de sus LUNs de manera síncrona. La semana que viene tengo que repetir la instalación en otro entorno en la oficina. Si alguien se anima…

Tengo pendiente montar System Center Operations Manager 2007 R2 y System Center Virtual Machine Manager 2008 R2 RC en cuanto estén disponibles para enriquecer todo lo anterior con gestión / monitorización avanzada del entorno.

Sin embargo todo lo que os he contado hoy está incluido en Windows.

Saludos

David Cervigón