martes, junio 13, 2006

La computadora virgen

Ustedes conocen la promiscua situación a la que llegan los sistemas operativos de Microsoft después de ser usados. Es desesperante. Con un mes de uso continuo, el Windows ya no es lo mismo. Los usuarios se quejan de que la máquina se pone más lenta, de que se le estropea esto o aquello, y de que tal cosa no les funciona más.

Volver para atrás
En windows existe una cosa que se llama "perfil de hardware". Uno puede grabar un perfil y volver para atrás cuando una pieza de hardware no funciona. Está ahí para que cuando un driver nuevo no funciona y cuelga sistemáticamente la máquina, se pueda volver a la última configuración conocida.

Estos problemas de hardware van quedando atrás en el tiempo, y sería más interesante que se pudiera volver para atrás toda la instalación de Windows. Pero... es posible? Se podría tener una copia de respaldo en un disco, y que en cada booteo se copie encima del disco original, pero esto hace del booteo un proceso tedioso y fuerza a los usuarios a dejar la máquina prendida, o tomarse un desayuno larguísimo.

La forma más fácil que estoy encontrando es crear una computadora virtual con el VMWare -por ejemplo-, cargar un sistema operativo pequeño y confiable -como el Linux- y ejecutar el player gratuito de VMWare para tener la computadora virtual cargada. Si se usa el player localmente, la ejecución de la máquina virtualizada se procesa en la misma máquina del usuario y no en el servidor.

Ventajas

Independencia de Hardware
El sistema operativo solamente ve hardware virtualizado. Para Windows XP es muy bueno, porque cambiar la computadora con Windows XP es un dolor de cabeza. Existe una cosa como el SysPrep para que no proteste, pero hay chances de que no funcione. Si se tiene hardware virtualizado, el Windows nunca se da cuenta de que le cambiaron la computadora.

Recuperación de la instalación
En el mundo de las máquinas virtuales, existe una tecnología que se llama snapshot, y que permite guardar un estado de la computadora como recién instalada. Cuando se necesita guardar un cambio se graba otro snapshot y listo. De hecho, se pueden tener varios grabados. Todos los días se recupera el último snapshot y listo. Prender la compu es como volver a nacer. Claro, los documentos que deben prevalecer deben grabarse fuera de la computadora en cuestión, en un disco de red.

Velocidad de booteo
Si el snapshot se guardó con el sistema operativo ya booteado, el tiempo de prendido de ese snapshot en una máquina normal es de aproximadamente quince segundos. Si uno agrega el minibooteo de Linux se llega al minuto. Si la máquina virtual está en un servidor y se bootea de red, el tiempo de booteo total puede ser de unos cuarenta segundos.

Portabilidad
La máquina virtual se puede ejecutar desde cualquier otra PC, en cualquier parte.

Velocidad de instalación
Se copian los archivos de la máquina virtual y se ajusta el identificador de la máquina para asignarle uno nuevo y listo el pollo, se tienen un nuevo puesto de trabajo. Las licencias del producto se arreglan en el departamento de compras, no en el de IT.

Menores costos de IT
Todas las pcs son iguales, y en este esquema, se puede crear la máquina virtual cada vez que el usuario se conecta. Con duplicar el disco en el momento de usarlo y destruirlo después ya estamos hechos. Si a esto le agregamos que las pcs pueden no tener disco propio y arrancar de la red, utlizaremos mejor esos discos que vienen ahora que no bajan de doscientos megas para un usuario que no va a necesitar más de veinte. Por supuesto, estas pcs tienen un mantenimiento muy inferior, por lo que se reduce muchísimo el tiempo y el personal que hay que utilizar.

De hecho, estas máquinas pueden ejecutarse sin antivirus, ante el primer antojo de virus se reinicia y todos los virus se fueron!!

Otro detalle interesante es que obliga al departamento de IT a clasificar y organizar las necesidades de cada departamento de la empresa, al establecer qué programas deben ser instalados en las imágenes de cada uno.

Monitoreo
Se puede monitorear las pcs sin necesidad de instalar un sofwtare extra. Simplemente con la consola de control del vmware se puede acceder a la PC para verla o para darle soporte técnico.

Despersonalización de la PC
La PC arranca sin personalización alguna. Esto desalienta a los usuarios a que se instalen cosas personales, lo que eleva la seguridad del puesto de trabajo. Esta personalización ayuda muchas veces a que se guarden datos personales en la PC, y cosas que terminan siendo privadas y que no deberían estar allí. Existe una forma, claro, de hacer que puedan tener una personalización mínima: poner los perfiles de usuario en la red... pero se podría terminar dando albergue a uno que otro virus. Eso se puede manejar por usuario.

Mejora la calidad de los backups!
Porque la gente sabe que si no copia las cosas en un recurso de red, las cosas desaparecen. Cuando se tiene que hacer backup de una máquina, muchas veces se copian cosas innecesarias como los programas instalados, mezclados con los datos importantes que el trabajador produce.

Desventajas
Menor rendimiento de la PC
Se pierde rendimiento. La velocidad de la máquina es menor. A menos que la máquina virtual se instale en un superservidor y la máquina local sea muy vieja, se pierde velocidad. Lo del superservidor no dá en cuentas, es demasiado caro con respecto a las máquinas bobas que se debe poner en los puestos de trabajo. Si se ejecutan en la misma máquina, se pierde cerca de un quince porciento del rendimiento general, pero claro, no hace falta tener ese maldito antivirus, ni el software de monitoreo!

No existe soporte para OPENGL virtualizado
Para el windows de hoy no es problema, pero para el Vista Windows que se viene significará que no tendrá esos efectos lindos de transparencia y esas cositas. Es un detalle menor, por ahora, al menos.

En otra entrega les contaré el paso a paso para armar este paraíso IT. Mientras tanto, bienvenidos al mundo de la computación virtual para todos!