Rapida introduccion
VirtualBox emula software sobre haredware combinadamente, se desarrollo por Innotek que despues paso a Sun y termino con Oracle, se provee gratis y libre, exceptuando adiciones en el paquete de extensiones, es especial porque combina virtualizacion de hardware soportado por virtualizacion por software como el unico software que hace esto y el primero en proveer pravirtualizacion.Docker lo hizo Solomon Hykes como una mininube, despues evoluciona integrando Linux Container, usando la libreria asi proveyendo la faltante optimizacion con acceso a hardware, idea original de Sun sobre solaris que hoy dia se llama Solaris containers, ahora es extremadamente rapido y optimo como la solucion virtual mas liviana pero menos segura ya que la paravirtualizacion implicita accede directo al hardware.
Qemu (y Xen/KVM) son emulacion de traduccion binaria, tecnica puramente de software virtualizacion pero gracias KVM de Avi Kivity y Red Hat se integro el KVM en el kernel y soporta paravirtualizacion sin embargo limitada a sistemas Alpha y ARM o x86/64 muy modernos. Ian Pat trabajaba en XEN junto Simon Crosby con una fundacion la cual se adquiere por Cirix y comienza una fuerte integracion Linux por un API de maquinas virtuales. Con esto Qemu, Xen y KVM se integran al api de la nueva LibVirt en una infraestructura donde Qemu se une y despues lo haria VirtualBox y Docker.
Tabla comparativa software virtuales
item | virtualbox | bochs | qemu y/o KVM | vmware(soft) | Docker/Xen |
---|---|---|---|---|---|
Hardware VT | Intel-VT/AMD-V | NO, soft only | Indirect-access | Direct-access | Direct-access |
Limites | disco, cpu, ram | disco, 1 cpu, ram | disco, cpu, ram, gpu | disco | Ilimitados |
Rendimiento | Cercano al real | Pobre y flexible | Mediano | Cercano | Alto, bueno |
CPU/instala | x86/x64 | x86/x64/ARM/PwrPC | x86/x64/ARM/PwrPC/m68k | x86/x64 | solo el os |
CPU/emula | x86/x64/PwrPC | x86/x64 | x86/x64[ARM/PwrPC/m68k] | x86/x64 | solo el os |
OS/emula | Linux,Mac,BSD.Win | Lnx,Mac,BSD,Os2,Win | Lnx,Mac,BSD,Os2,Win | Linux,Win | solo el os |
OS/instala | Linux,Mac,BSD.Win | Lnx,Mac,BSD,Os2,Win | Lnx,Mac,BSD,Os2,Win | Linux,Win | Linux |
InterfazGUI | Si, completa | NO | Si, terceros/incomplet | Si, completa | No |
Pausar | Si, recuperable | NO | Si, recuperable | Si | Si, recuperab |
Ram (dinam) | Si, reasignable | NO | Si, reasignable | Dinamica | No, la del os |
Tabla comparativa de imagenes disco virtuales y acceso
tipo | virtualbox | bochs | qemu/KVM | vmware | Docker/Xen |
---|---|---|---|---|---|
ISO | Si | Si | Si | Si | No |
USB 1.1 | Si | Si | Si | Si | Si |
USB 2/3 | No | No | Si | Si | Si |
HDD(disco) | Si | Si | Si | Si | Si |
HDD(parti) | Si | Si | Si | Si | Si |
RAW | Si | Si | Si | No | Si |
VDI | Si | No | No | No | No |
VHD | Si | Si | No | No | Si |
VMDK4 | Si | Si | No | Si | No |
VMDK3 | Si | Si | Si | Si | No |
QCOW | Si | No | Si | No | No |
QCOW2 | Si | No | Si | No | No |
Conclusiones
Configurar un Docker o un VMWare es complicado si no se tiene el conocimiento, especialmente si no provee interfaces graficas para los iniciados.
Qemu resulta en una solucion muy complicada ya que requiere de XEN o KVM en si no emula con buen rendimiento y no es facil de administrar
Para alto rendimiento se requiere mejor Docker si no es software de distinto OS/arch, ya que los contenedores acceden directo, pero requiere mayor nivel de experiencia con estos.
En el futuro Docker reemplazara VMWare exceptuando casos especiales de software para sistemas distintos.
Casos de usos virtualbox vs contenedores
Las maquinas virtuales son mejores y mas faciles de administrar por su aislamiento, es decir, se le puede dejar la administracion de la virtualizada a un experto sin que este altere el entorno real, de esta manera no hay que administrar accesos reales al sistema real, si algo malo sucede, se reestablece el respaldo facilmente.
Los contenedores Docker deben usarse cuando se emplee porciones de software, mientras que las maquinas virtuales separan por completo el entorno invitado (emulado/guest) proveyendo mayor facilidad en la seguridad.
Las maquinas virtuales se pueden migrar/exportar a otras reales (host) sin alteraciones, los contenedores requiren volver adaptarse al nuevo sistema que los ejecutan, puestos estos dependen del sistema operativo que los implementan.
Los contenedores son muchisimos mas veloces y optimos que una maquina virtual.
Las maquinas virtuales aislan el entorno, los contenedores o Docker son alterados con las actualizaciones respecto el sistema operativo que los ejecutan. Esto aplica cuando se necesita ejecutar un software especial para otros sistemas distintos ejemplo arquitectura distinta o incluso ditinto sistema operativo.
Comentarios
Publicar un comentario