Monday, February 12, 2007

¿QUIÉN ES QUIÉN EN VIRTUALIZACIÓN? PARTE III. BONDADES DE LA VIRTUALIZACIÓN. COMPARATIVA SOBRE SOLUCIONES DE VIRTUALIZACIÓN

Bien, bien, bien...Pos akí estamos de nuevo queridos amigos/as. Esta vez para hacer una comparativa entre 5 de las soluciones comerciales de virtualización más extendidas en el mundo corporativo.

En este nuestro tercer artículo, hablaré en detalle sobre qué ofrece cada producto, y en qué tecnología de las ya vistas en anteriores artículos está basado cada uno de ellos.
Así que sin más que decir, al tajo!


Con motivo de los cambios tan radicales en el mundillo de la virtualización a lo largo de todo el año pasado, donde destacó sin duda la noticia sobre la disponibilidad de VMWare Server de modo gratuito, voy a haceros un pequeño resumen de soluciones de virtualización.

Aunque todos lo sabemos ya a estas alturas, recordemos brevemente que implica el hecho de usar una máquina virtual.

Muy a grandes rasgos, una máquina virtual es aquella que permite un entorno de ejecución emulando el hardware de la máquina sobre la cual corre (ver Imagen 1). Es una definición muy elemental, pero válida (ya sabéis que si queréis información más detallada podéis revisar los artículos anteriores sobre virtualización, aunque en el enlace anterior de la Wikipedia también podéis ampliar información a este respecto).




Imagen 1. Arquitectura de virtualización sobre plataforma Intel



La virtualización permite obtener una capa de abstracción en la que el hardware físico y el sistema operativo estén lógicamente separados (ver Imagen 2), de forma que sean totalmente independientes, lo cual proporciona numerosas ventajas.





Imagen 2. Aislamiento de máquinas virtuales




Como ya hemos ido desgranando (y seguiremos viendo en los artículos que restan) y explicando en los artículos anteriores, ya sabemos que soluciones de virtualización existen muchas.


También sabemos muchas de las ventajas que unas ofrecen respecto a las otras, pero lo primero que habría que preguntarse es ¿para qué sirve una máquina virtual? ¿qué utilidad puede tener para mí? ¿qué ventajas tiene?


Justificación de la virtualización
Sabemos ya que las máquinas virtuales suelen encapsularse en ficheros, lo cual otorga una importante flexibilidad a los despliegues, ya que el guardado, copia o eliminación de los archivos de discos duros virtuales (virtual hard disk files) es rápido, cómodo y sencillo (ver Imagen 3).



Imagen 3. Manejo de archivos de máquinas virtuales.

Por tanto, podemos deducir dos importantes ventajas: flexibilidad, y escaso o nulo tiempo de recuperación ante un eventual y nunca deseado caso de Disaster Recovery, error inesperado del sistema, caída total del servicio, o MARRONAZO DE CAGARSE POR LA PATA BAJA.

Ahora bien queridos amigos, no temáis al malware, somos más fuertes y además somos más. Con la virtualización, EL MARRÓN SE VA A ACABAR.
NOWADAYS, A NEW ERA IS HERE. TECHNOLOGY'S BROWNIE PROBLEMS GOING TO DIE.



Por otro lado, las máquinas virtuales pueden contener sistemas de muy distintos tipos: en una misma máquina física pueden convivir diferentes máquinas virtuales con sistemas Windows, Linux, BSD, Solaris, ........ Todas las que queramos siempre que nuestra memoria RAM física sea la suficiente como para permitirnos arrancar todas simultáneamente y mantener todas en producción a la vez, sin necesidad de parar ninguna, brindando servicio ininterrumpido.


Del punto anterior, aparecen de nuevo dos ventajas más: bajo coste, y aprovechamiento óptimo de los recursos.



Pero la separación entre lo físico y lo virtual permite obtener otras ventajas. La principal es la seguridad, ya que las máquinas virtuales sólo pueden comunicarse con otras máquinas virtuales y con el exterior a través de conexiones apropiadamente configuradas.


Esto hace ideales a las máquinas virtuales como entornos de pruebas aislados, ya que es posible por ejemplo contaminar o envenenar un sistema (aquí aprenderéis sobre envenenamientos varios) y observar su comportamiento con el objetivo de conocer su nivel de seguridad.


Evidentemente, y como ya habéis podido leer en los sucesivos artículos, las ventajas son innumerables, y podríamos tirarnos aquí horas y horas hablando de ventajas, de posibilidades hasta ahora desconocidas que nacen por el hecho de aplicar tecnología de virtualización en nuestra infraestructura.

Por ello, vamos entonces ya a entrar de lleno a ver las 5 soluciones de virtualización más implantadas en la actualidad, y lo bueno que tienen unas respecto a otras.


Las cuatro más uno fantásticas
(jejeje... que si no, no salían 4... -es la parida del día-)

Disclaimer: Los criterios descritos así como sus posibles características, son únicamente motivo de mi experiencia personal. No tienen por qué representar, en ninguno de los casos, las condiciones de un entorno real concreto para cada uno de las millones de posibilidades aplicables a la hora de virtualizar. Es obvio y evidente, que estas cinco elecciones no tienen porqué ser (aunque deberían, jejeje...) tus favoritas o las que emplees, ni tienen porqué ser necesariamente las más populares o utilizadas para tí (pero lo son y lo sabes).

Vamos allá


1. Vmware (The Bitch Boss)










Sin lugar a dudas, es la solución más popular y extendida (The Bitch Boss). Goza de una alta reputación en el mundo empresarial, no sólo por su calidad, sino por un excelente servicio de soporte de la compañía.


Ventajas: Solidez, estabilidad, seguridad y soporte del fabricante ejemplar. Admite drivers del entorno emulado.

Desventajas: Alta dificultad de implementación para usuarios con escasas nociones, soporte en español difícil de encontrar (intentaré que aquí podáis encontrar toda la posible), el gestor de máquinas virtuales tiene un rendimiento mediocre a menos que uses un hardware muy potente. Su código es propietario.

Coste: Variable en función del producto. Existe una versión gratuita, indicada (según el fabricante) para:
  • Desarrollo.
  • Investigación técnica innovadora -jejeje...- (I+D+i).
  • Entorno de pruebas.
  • Consolidación de servidores.

Conclusión: Si quieres la versión guapa que se ejecuta directamente sobre el hardware sin necesidad de SO (ESX, la cual se basa en tecnología hypervisor), has de pasar por caja (con la friolera de 3.000 € por procesador). Decir la frase de que vale lo que pagas sería justificable (no olvidemos que estamos hablando del Bitch Boss), pero si fuera más barato molaría más ¿o no? ;)

2. Virtuozzo









Si bien es cierto que no goza de la popularidad del primero, es un producto muy en la línea de VMware, con una aceptación cada vez mayor, sobre todo a raíz de la liberación de la versión gratuita, OpenVirtuozzo.

Ventajas: Seguridad, escalabilidad y disponibilidad interesantes.

Desventajas: Soporte difícil de encontrar, rendimiento mediocre bajo ciertas circunstancias; obliga a que los sistemas sean idénticos una vez escogido el modelo a virtualizar. No es GPL. No admite drivers del entorno emulado.

Coste: Variable en función del producto. También existe una versión gratuita (la competencia hace estragos, jejeje), la cual según el fabricante está específicamente destinada a los siguientes usos:

  • Entornos con necesidad rápida de recuperación.
  • Proveedores de sistemas de recuperación.
  • Consolidación de servidores.

Conclusión: Es güeno, pero le falta un hervorcillo para estar al nivel de WmWare.

3. QEmu









Bastante conocido sobre todo entre los usuarios de soluciones Linux.

Ventajas: Código libre, ligero en ejecución. Fácil de desplegar y configurar.

Desventajas: Soporte escaso, desarrollo irregular, velocidad de CPU muy baja en entornos emulados. El consumo de recursos es mejorable.

Coste: Gratuíto, es GPL. Indicado para: -porque lo digo yo y punto-;)

  • Desarrollo.
  • Entorno de pruebas no profesional.

Conclusión: Orientado a frikis linuxeros pero no necesariamente con conocimiento experto en linux.

4. Microsoft Virtual PC y Microsoft Virtual Server








Se trata de la oferta de Microsoft destinada a propósitos de virtualización.

Una vez que VmWare anunciara el año pasado la disponibilidad de su versión GSX como descarga gratuita, Microsoft no tuvo más remedio que ofrecer Virtual Server 2005 R2 gratuitamente, y VirtualPC 2004 pocos meses más tarde, en respuesta a la competencia.

No obstante, VirtualPC sigue siendo una de las soluciones más extendidas, sobre todo por su enorme popularidad en la comunidad de usuarios Microsoft.

Ventajas: Familiar para usuarios Windows, integración total con plataformas Microsoft, soporte y documentación muy abundantes. Admiten drivers de los sistemas a emular. Compatibilidad con muchíiiiiisimos sistemas operativos invitados.

Desventajas: Consumo excesivo de recursos, inestabilidad bajo ciertas condiciones del entorno, despliegue y ejecución lentos, virtualización dificultosa o imposible de algunos entornos derivados de UNIX. Su código es propietario.

Coste: Como ya he mencionado, ambos son totalmente gratuitos, y descargables desde aquí. Usos indicados:

  • Uso doméstico (en efecto, en su casa mucha gente ya navega por Internete modelo 7 con máquinas virtuales -yo el 1º, por supuestísimo, como gran friki que soy-, para evitar posibles problemas nunca deseados provenientes de la mula o el torrente....) y/o para entornos de prueba y desarrollo --> Virtual PC.
  • Consolidación de servidores y granjas de servidores Windows en entornos críticos de producción --> Virtual Server


    Conclusión: Ambos molan mazo, y están bastante tiraós de desplegar y utilizar. Virtual Server 2005, además de que ofrece mejor rendimiento y estabilidad de las máquinas virtuales y de que está enteramente orientado a producción, permite ahondar y hacer cosas más guapas con el sistema si se desea, pero como siempre hace Microsoft, si no quieres complicarte la vida "Next-Next-Next", ahora bien, si eres un super-mega-friki de vida social inexistente y quieres hacer cosas guapas, entonces te metes en berenjenales del copón. Para más información, ir a esta web.

5. Xen







Otro de los colosos de la virtualización, orientado a usuarios más experimentados. Está desarrollado por la Universidad de Cambridge y por unidades de Intel y AMD. Cada vez está más presente en las distribuciones.

Ventajas: Potente y escalable. Muy seguro. Sistema de paravirtualización innovador y efectivo. Desarrollo muy profesional, elaborado, y sistemático, pero algo INMADURO todavía.

Desventajas: Curva de aprendizaje costosa, documentación no excesivamente abundante, tiempos de despliegue mayores. No admite drivers de los entornos a emular. Desarrollo algo inmaduro.

Coste: Gratuito, es GPL. Está indicado en los siguientes escenarios:

  • Entornos de prueba.
  • Consolidación de servidores.
  • Sistemas de recuperación rápidos.

Conclusión: Brutal en rendimiento, posibilidades, potencia, y escalabilidad. Pero como contrapartida, brutales también los conocimientos técnicos que hay que tener pá manejarlo en condiciones. Para usuarios expertísimos de la muerte. Algo verde todavía, pero muy poco verde. De aquí a nada, dará muuucho que hablar. Este es el link de descarga.

Otros sistemas

He citado los 5 sistemas más frecuentes en uso, si bien no son ni de lejos los únicos. Como ya hemos hablado en los artículos precedentes, existen otras soluciones muy competentes, cada una para su propósito, como Bochs, CoLinux, Win4Lin, FAUMachine, Parallels, SVISTA, TRANGO, twoOStwo, la máquina de sistemas virtuales de IBM … consulta el artículo de la Wikipedia.

Tabla comparativa

No dejes de consultar esta excelente tabla comparativa de la Wikipedia, ni tampoco este artículo sobre software de virtualización.

No obstante, con permiso de "un crack de la informática", extraigo un artículo suyo de su blog para mostraros una comparativa que se hizo entre VmWare y Virtual Server. Así que, si os quejáis de que es poco objetivo porque está hecho por una revista que es propiedad de Microsoft, bla, bla, bla, las culpas a él, que es el autor del artículo. ;)

************************************************************************************
Virtual Server VS VMWare

Redmon Magazine esta haciendo un articulo sobre virtualización para ello han analizado varios productos y bueno, la tabla habla por sí misma.



La verdad es que aun asi, creo que el que hizo el articulo se tenia que haber mirado el System Center Machine Manager y el MP de MOM para Virtual Server ya que creo que con estos dos añadidos el management de Virtual Server es superior al de VMWare.
Como todos yo he usado VMWare mucho tiempo, ha dia de hoy creo que en algunas cosas supera a MS y en otras muchas no, la integración de Virtual Server es un punto muy un bueno y ademas la estrategia de MS y la tecnogia que nos ofrecera para finales de este año llamada hypervisor me convencen completamente de que MS es el caballo ganador en esta carrera.




Un ejemplo seria, ¿como hacer un script que desconecte las unidades DVD/CD de las maquinas virtuales?



Con vmware:


#!/bin/bash

#http://www.vmware.com/community/thread.jspa?messageID=348638%񕇞

vmwarelist=`vmware-cmd -l`

vmwarelist=`echo $vmwarelist sed -e
's/ /*/g'`

vmwarelist=`echo $vmwarelist sed -e
's/.vmx/.vmx /g'`

for vm in $vmwarelist

do

vm=`echo $vm sed -e 's/*/ /g'`

vm=`echo $vm sed -e 's/
\//*/g'`

if [ `vmware-cmd "$vm" getstate sed
-e 's/getstate() = //'` = "on" ]

then

echo Looking @
$vm

IDEBUS=`seq 0
1`

for i in
$IDEBUS;

do

echo BUS : $i

IDEDEVICE=`seq 0
1`

for j in
$IDEDEVICE;

do

PRESENT=`vmware-cmd "$vm" getconfig
ide$i:$j.present cut -f3 -d
" "`

if [ $PRESENT = "true" ]

then

TYPE=`vmware-cmd "$vm" getconfig
ide$i:$j.deviceType cut -f3
-d " "`

if [[ $TYPE == "atapi-cdrom" $TYPE
== "cdrom-image" ]]

then echo Found CDROM on IDE$i:$j

vmware-cmd "$vm" disconnectdevice
ide$i:$j

fi

fi

done

done

fi

done

Con Virtual Server Machine Manager:

$vms = Get-VM where {$_.VMState –eq
'Running'}

$vms Get-DVDDrive Set-DVDDrive
–NoMedia

$vms Get-FloppyDrive
Set-FloppyDrive –NoMedia


*************************************************************************************



Quizás algunos digáis que soy lo peor por que se me ha olvidado alguno que vosotros consideráis la caña, pero en fin, ya se sabe que el ser humano es imperfecto por naturaleza, así que siento si he obrado humanamente.



Muy bien señores/señoras/señoritos/caballeras... Pues hasta aquí ha sido todo este nuestro tercer artículo. Nos falta el último, sobre virtualización en MAC OS, pero eso será otra historia....jejeje..


Byes!!



TU EXPERIENCIA ¿Usas algún motor de virtualización? Narra tu experiencia en los comentarios.

3 comments:

El Elegido said...

Y el primero en poner un comentario, como no, "El Elegido"..jejeje..

En fin queridos amigos, que yo estoy usando recientemente nuestro amigo Virtual Box, y he logrado instalar en una máquina virtual Windows Server 2003 Enterprise Edition R2 SP1, en tan sólo 18 minutos. El R2 me llevado 2 minutos, y 37 segundos más.

Y en otra, XP Pro SP2 en 16 minutos.

Alguien da más?

Como sabéis, Virtual Box usa un hypervisor, y debido a ello, hablando en plata, en comparación al resto (incluso a VmWare, que por cierto, ya estoy probando la versión Beta del 6.0 y no le gana ni de coña en rendimiento, aunque sí tiene algunas mejoras interesantes), Virtual Box VA COMO UN PUÑETERO AVIÓN. FUNDE LITERALMENTE A VMWARE WORKSTATION 5.5.2, 6.0 BETA 2, VIRTUAL PC 2004/2007 BETA2, Y VIRTUAL SERVER 2005 R2 SP1 BETA 2. ASÍ DE SIMPLE.

Por cierto, el hardware que tiene mi máquina física es el siguiente:

Equipo de Sobremesa (no portátil), PIV a 3,6 GHZ Dual Core, 2 GB de RAM DDR con FSB a 533 MHZ, 300 GB de Disco Duro SATA, LECTOR DVD de 8x. Al Windows 2003 le asigné 128 MB de memoria RAM, y al XP otros tantos.

Increíble no? PERO CIERTO.

Así que amigo Bill, ya nos puedes dar la sorpresa con Windows Longhorn y su tecnología de virtualización basada en hypervisor....

A ver que nos cuenta Chemita y Cervigón en el Windows Server Techday... y a ver si los de Intel y HP nos sorprender gratamente....

AMPLIAREMOS LAS FRONTERAS DE WINDOWS SERVER?

La respuesta la tenéis aquí:

http://www.microsoft.com/spain/
technet/jornadas

Anonymous said...

Pos yo uso Qemu bajo Red Hat 9.0 con una máquina algo menos potente a nivel hardware que la tuya (que maquinón tienes tío!!!), y va bastante bien. NO he medido tiempos, pero desde luego es bastante más rápido que Virtual PC 2004, y que Virtual Server 2005 también.

Saludos desde Barna!!

El Elegido said...

estresador, es difícil que te vaya más rápido que Virtual PC 2004 y Server 2005 (este sobre todo), ya que no olvides que QEmu usa tecnología de emulación, y debería ser más lenta que Virtual PC 2004 y Virtual Server 2005...

No obstante, puedo llegar a creérmelo si tu Linux está bien optimizado y QEmu correctamente configurado (por narices en "Modo de emulación de sistema completo", el único que soporta actualmente -están en desarrollo para x86- hasta el momento sistemas Windows bajo QEmu)

Ya sabes que en los artículos I y II puedes consultar información sobre todo esto...


Byes!!