InstalaciÓn y configuraciÓn de SoftGRID

¿Qué es SoftGRID?

Es un sistema, adquirido recientemente por MS a la casa original: SoftTricity,  para virtualizar aplicaciones de tal manera que estas aplicaciones una vez virtualizadas pueden ser usadas (y distribuidas) a los clientes y se ejecuten directamente sin necesidad de ninguna instalación.
Pueden verse las ventajas, por ejemplo, en entornos de desarrollo en donde se hace necesario probar una determinada aplicación para disitintas versiones de máquinas Java, por ejemplo. Cada prueba normal conllevaría tener una máquina diferente y cada una de ellas con una determinada versión. Mediante la virtualización de aplicaciones podemos arrancar en cualquier momento y simultáneamente las versiones que queramos. Lo mismo sirve de ejemplo, por ejemplo para tener dos versiones de Office arrancadas al mismo tiempo.
Cada aplicación virtualizada ve su “propia” copia del registro, su propio sistema de archivos, etc, etc.
La idea es instalar una aplicación en una máquina virgen: dicha máquina debe llevar uno de los componentes de SoftGRID: el secuenciador. Dicho secuenciador se encarga de “espiar” la instalación (y posterior activación, configuración etc, que necesitemos) y con estos datos se construye un “paquete”. Dicho paquete es el que posteriormente se va a ejecutar en los clientes sin necesidad de instalación ya que lleva implícita su propia copia virtualizada de registro, archivos, y todos los recursos necesarios para su ejecución directa.
El paquete construido se archiva mediante el SoftGRID Server en una base de datos SQL 2005. Además al paquete se le “añaden” una serie de características: los grupos asociados en un ActiveDirectory que van a tener acceso a dicho paquete. Cada cliente del Dominio que pertenezca a ese grupo, y sólo por el hecho de pertenecer a él, en el momento de hacer logon se le incorporarán en Inicio->Programas los enlaces directos necesarios para el lanzamiento de las aplicaciones que esten asignadas a dicho Grupo. Igualmente puede configurarse en el paquete que además de añadirse al menú inicio de los clientes, se cree en ese momento un icono en el escritorio con la aplicación
Las aplicaciones residen en el server. Cuando se invocan por el cliente, la primera vez, se cachea una parte de la aplicación en un caché local. Tipicamente con unos pocos megas enviados ya es capaz de ejecutar un Office, a pesar que la aplicación completa virtualizada pueda ocupar centenares de megas. El secuenciador se encarga de saber al virtualizar la aplicación qué es lo primero y más usado en la aplicación y lo incorporará al inicio del flujo de datos que le da al cliente al ejecutarla por primera vez.

¿Qué necesitamos para la instalación?

Un controlador de Dominio W2003 Server (mínimo SP1). Una server con SQL 2005 (mínimo con SP1). Una máquina encargada de la virtualización (el secuenciador). Lo ideal en esta máquina es que sea una máquina virtual con un Windows recién instalado. De esta forma podremos recuperar siempre que queramos la configuración inicial en pocos segundos al objeto de que todas las aplicaciones que virtualicemos sean sobre un sistema “limpio”. Y además, por supuesto, las máquinas cliente.
Para pruebas, todos estos sistemas pueden ser perfectamente máquinas virtuales.
El software de todos los componentes citados anteriormente puede descargarse desde: http://support.microsoft.com/kb/938497/es

Preparando el Active Directory

En el servidor de Dominio, Herramientas Administrativas, Active Directory Users and Computers, en el apartado de Users, creamos:

Ambos “global” y “security” (son los valores por defecto al crear nuevos grupos).
La primera cuenta la utilizará el server de Softricity para acceder al directorio activo. En los otros grupos es donde clasificaremos a los usuarios: los administradores (es decir, los que vayan a hacer secuenciación) en el primero. En el segundo grupo pondremos a los usuarios que queramos que reciban automáticamente el software que hayamos virtualizado. Posteriormente pueden abrirse más grupos de usuarios y asignar al virtualizar software, tal y como veremos más adelante, cada paquete, a un grupo que creemos. Los usuarios que pertenezcan a ese grupo lo recibirán.

Para aclarar lo anterior, imaginemos que tenemos el grupo GrpSoftGridOffice y el grupo GrpSoftGridVarios. Virtualizamos Word y Excel y al subirlo al server le asignamos al paquete el grupo GrpSoftGridOffice. Virtualizamos Winrar y le asignamos GrpSoftGridVarios.
Un usuario que pertenezca al grupo GrpSoftGrisOffice recibirá automáticamente el Excel y el Word. Otro usuario que pertenezca a GrpSoftGridVarios, recibirá el Winrar. Y un posible usuario que pertenezca a ambos grupos recibirá todos los paquetes de ambos grupos.

Instalación del Servidor de SofGrid

Debe realizarse sobre la máquina que tenga SQL Server 2005 (SP1 o posterior). En dicha máquina debemos tener instalado el IIS y las extensiones del ASP.NET.

Igualmente el SQL Server tiene que estar configurado en “mixec mode” en vez de en “Native Mode” y debemos tener una cuenta administrativa SvcSoftGrid (con los mismos atributos que el usuario “sa”)

Comenzamos la instalación:













NOTA: Es muy importante en este punto, que dicha carpeta la “compartamos” con la red y demos a los usuarios Administradores (GrpSoftGridAdmin) permiso total sobre la carpeta.
A partir de este momento, en las configuraciones posteriores, nos referiremos a dicha carpeta con el nombre UNC, es decir;  \\servidor\content

Una vez finalizada la instalación, nos habrá dejado una consola en Herramientas Administrativas, llamada “SoftGrid Management Console”. La arrancamos con una cuenta Administradora del Dominio. En nuestro caso, nuestra máquina con SQL Server se llama SQLSRV0 y el Dominio, es ISIS.

Con botón derecho en el Servidor (en nuestro caso sqlsrvo) y seleccionando “System Options” situaremos en nombre UNC compartido anteriormente. Es importante dar el UNC y no el nombre local.

Con esto hemos finalizado la configuración del servidor.
Volveremos a él más adelante una vez hayamos secuenciado los programas.
En este momento, si queremos, podemos ver la nueva B.D. que nos ha creado en el server así como sus propiedades, vistas, etc..

TIP: Sobre el servicio SoftGrid Server instalado

El servicio instalado queda de una manera muy extraña: sin dependencias previas. Esto implica que si el SQL Server no ha terminado de inicializarse, el servicio no arrancará al fallar la conexión a la B.D. (esto es un bug al menos en esta versión). 
Es decir, el 50% de las veces, es más que probable que veamos el servicio parado. Si está parado, no servirá nada a los clientes. O bien lo arrancamos manualmente,  o más elegantemente, nos creamos un bat en el grupo de Inicio con el siguiente contenido:

@echo off
set /a i=0
:bucle
for /f "tokens=3 delims=: " %%i in ('sc query %1 ^| find "STATE"') do if {%%i} EQU {RUNNING} goto :EOF
for /f "tokens=3 delims=: " %%i in ('sc query %1 ^| find "STATE"') do if {%%i} EQU {STOPPED} sc start %1
set /a i+=1
if %i% GTR 3 goto :EOF
>nul ping -n 30 localhost
goto :bucle

Instalando el secuenciador

Como hemos comentado, tenemos que dedicar otras máquinas a secuenciar. Esto quiere decir que lo mejor es tener máquinas virtuales con XP recién instalado y unidas al Dominio, con un snaphost para poder recuperar a la situación inicial, o bien con discos diferenciales sobre ella. El objetivo es tener una máquina limpia de cualquier aplicación siempre. De esta manera, al instalar y secuenciar una aplicación, será siempre sobre un sistema limpio y nos evitaremos que puedan existir dependencias cruzadas.
La idea es tener la máquina y el secuenciador instalado. Nada más. Y recuperar siempre a este punto cada vez que vayamos a secuenciar una aplicación.
Características:
Máquina unida al Dominio con dos particiones (o discos): la del sistema (típicamente C:) y una nueva a la cual la debemos asignar la letra Q:
Las aplicaciones las instalaremos siempre que sea posible, seleccionando instalación personalizada y le diremos que las instale en Q:  (IMPORTANTE).

La instalación en sí del secuenciador no pide ningún dato. Simplemente lo instalamos, nos pedirá rechinar y ya tenemos nuestra máquina preparada. Si es máquina real, la clonamos para poder recuperar esta situación inicial siempre. Si es virtual, mediante snaphost (VMWARE) o discos diferenciales (Virtual PC o Virtual Server) nos guardaremos esta situación inicial.

Secuenciando

El usuario con el que vamos a secuenciar debe pertenecer al grupo de Administradores de Softgrid que hemos definido en el Dominio (ver al comienzo de este documento).
Vamos a realizar en este ejemplo una secuenciación de WinRAR.
En el menú “Tool” tenemos los tres asistentes que lanzaremos en secuencia: el primero “Package Configuration”:




Hemos rellenado el nombre del paquete y debemos poner también  en “Hostname” el nombre de nuestra máquina con el SQL Server y el Server de SoftGrid.



Seleccionamos para qué sistemas operativos queremos que sea compatible.
 A continuación lanzamos el asistente de Instalación desde el menú “Tools”.





Pulsamos el “Begin Monitoring” y lanzamos ya la instalación de WinRAR. Fijémonos que cambiamos la ruta de instalación y apuntamos a nuestra particion Q: (IMPORTANTE)

                                                                                                                                               
Una vez finalizada la instalación, debemos configurar los paquetes antes de “parar” la monitorización. En nuestro caso, con meter la licencia de WinRAR ya tendremos terminada la instalación y por tanto daremos al “Stop Monitoring” posteriormente.



Guardamos los resultado en la propia carpeta del paquete (WinRAR) del disco Q:



Por último lanzamos el asistente de Aplicación

Seleccionamos únicamente lo que nos interese:





Con esto finaliza, ahora podemos “espiar” lo realizado por el secuenciador en las distintas pestañas del secuenciador y por ultimo lo guardaremos en la máquina en donde está instalado el Servidor de SoftGrid (y el SQL Server).
Pulsamos “Save AS” y lo guardamos en la carpeta que anteriormente hemos compartido en el servidor de SQL, llamada “content”. (revisar  puntos anteriores)
Queda ya un último paso: integrarlo en el Servidor de SoftGrid. Para ello, vamos a nuestra máquina SQLSRV0, lanzamos la consola de Administración de SoftGrid y en el menú “Action” seleccionamos “Importar Aplicaciones”.




Atención: se debe seleccionar el “Grupo”.




Y ahora se selecciona el grupo de usuarios de SoftGrid a los que se les distribuye automáticamente (creados en la parte de Directorio Activo).

Y con esto finaliza el proceso de secuenciación y almacenamiento en el server de SoftGrid.

Instalación del cliente

En las máquinas cliente, simplemente instalar el software del cliente. No se necesita configurar nada.
Como dato curioso, veremos que nos crea un disco “virtual” y le asigna la letra Q:. Ese disco no es accesible y lo usa internamente el cliente Sofgrid. (recordemos que el proceso de secuenciación siempre que sea posible lo realizamos contra una partición a la que le hemos asignado también la letra Q:)
Cada vez que hagamos logon en esa máquina con un usuario que pertenezca a uno de lo grupos a los cuales le hemos dicho al server de Softgrid que asocie una aplicación, dicho cliente recibirá en el menú Inicio (y en el escritorio si así lo hemos seleccionado) un icono con la aplicación virtualizada. La ejecución es normal entonces como cualquier aplicación.

--

José Manuel Tella Llop
jmtella@compuserve.com

Multinglés/JMT        
10 - septiembre - 2007