Si alguna vez has mirado para comprar un servidor virtual, o te gusta el tema de la virtualización habrás oído escuchar sobre OpenVZ y te habrán hablado de que es una de las posibilidades para crear una maquina virtual. Sin embargo hay algunos matices importantes antes de optar por este tipo de virtualización basada en containers, que es de lo que trata OpenVZ.
¿Es OpenVZ realmente un sistema de virtualización?
La respuesta es depende de que utilicemos para definir virtualización.
- Si consideramos virtualizar al correr instrucciones maquina sobre un hypervisor o sistema operativo, y no contra el hardware directamente entonces la respuesta es NO. OpenVZ no es un tipo de maquina virtual.
- Si por el contrario pensamos que virtualizar consiste en poder tener maquinas independientes entre si, a las cuales podemos asignar diferentes recursos de la maquina principal host, pero compartiendo el mismo sistema operativo madre. Entonces si que es un tipo de maquina virtual.
Obviamente la primera definición de maquina virtual es la más correcta. Por lo que la segunda definición, la que nos hemos sacado de la manga, es una definición para poder considerar OpenVZ un tipo de maquina virtual. Sin embargo, ese tipo de virtualización denominada container tiene una gran importancia para empresas como Google o Facebook, ya que la sobrecarga del sistema es casi nula.
¿Como funciona entonces OpenVZ?
OpenVZ da una vuelta más de tuerca a los sistemas multiusuarios, dentro de los cuales multiples usuarios pueden tener varios procesos corriendo, con diferentes permisos entre si. OpenVZ añade una capa más de abstracción permitiendo que se puedan correr diferentes aplicaciones entre cada maquina virtual. De esta manera OpenVZ es considerado por muchos como una SuperJaula, ya que lo hace es «limitar» aún más los datos de cada usuario, haciendo incluso que sea posible crear «maquinas» virtuales cada usuario, casi independientes entre si.
Digo casi independientes porque hay una cosa que no puede cambiar, todas corren el mismo sistema operativo, Linux, ya que con este tipo de virtualización, solo se pueden crear instancias de la propia maquina anfitriona, en este caso, Linux.
¿Merece la pena?
Después de ver como es la virtualización nos puede caber la duda de si es adecuada entonces para nosotros este tipo de virtualización. La respuesta es de nuevo depende de que lo queramos virtualizar.
La principal ventaja de OpenVZ es el rendimiento, al no virtualizar en ningún momento las instrucciones, y ser solo una jaula, apenas repercute en el rendimiento, con lo que si lo único que queremos es maquinas Linux sin perder apenas recursos, es una gran opción para nosotros, ya que no supone una sobrecarga para el sistema operativo ya que no tiene que convertir instrucciones del procesador, a llamadas del sistema.
Si en el día de mañana necesitamos virtualizar por ejemplo Windows, no es una solución, ya que no podremos virtualizar este tipo de sistema operativo con OpenVZ.
OpenVZ es una alternativa valida para un tipo de virtualización muy especifico, el cual lo más importante es no malgastar recursos por encima de nada. Es por ello que el mundo de los servidores virtuales privados es la opción más económica y más utilizada.