La virtualización puede ser la solución a tus problemas
La virtualización consiste en utilizar software para crear una réplica de un recurso tecnológico físico como pueden ser servidores, aplicaciones, redes o almacenamiento. Supongamos que una empresa cuenta con tres dispositivos distintos en su CPD que hacen las veces de servidores, utilizando virtualización se podría conseguir con uno solo los mismos resultados y usar los otros dos servidores para otras tareas o incluso apagarlos.
Conceptos básicos sobre virtualización
El dispositivo físico que hará las veces de anfitrión se conoce como host, este será el encargado de alojar los diferentes recursos virtualizados conocidos como máquinas virtuales o VM, por sus siglas en inglés «Virtual Machine». Para gestionar las máquinas virtuales es necesario instalar en el host una herramienta específica denominada software de virtualización, que puede ser de dos tipos:
- Nativo. En este caso el software de virtualización también actuará como sistema operativo ejecutándose directamente sobre el hardware del dispositivo anfitrión o host.
- Hosted o alojado. El software de virtualización se ejecuta sobre el sistema operativo del host.
En la siguiente imagen se describe de manera gráfica los dos tipos de software de virtualización y cómo son ejecutados en el host.
El software de virtualización simulará los recursos de hardware necesarios para cada VM. Para ello, habrá que definir diferentes aspectos como memoria RAM, disco, CPU, etc. La cantidad de recursos que consumirá una VM nunca será superior a la que requiere el software de virtualización para ser ejecutado.
En el siguiente escenario el dispositivo host cuenta con las siguientes especificaciones:
- CPU con 4 núcleos
- 512Gb de disco
- 16Gb de RAM
El software de virtualización requiere de un núcleo, 4Gb de RAM y 32Gb de disco. El resto de recursos podrían dividirse entre las VM que sean necesarias, como muestra la siguiente gráfica. En el eje vertical aparece el consumo de recursos tanto del host como de las diferentes VM y en el eje horizontal los diferentes ejemplos propuestos.
En los ejemplos 1, 2 y 3 el funcionamiento tanto del host como de las VM sería correcto y se aprovecharían todos los recursos del dispositivo anfitrión. Por el contrario, en el ejemplo 4 la distribución del consumo de recursos por parte de las VM es incorrecto, ya que requieren recursos utilizados por el host y el software de virtualización, lo que provocaría funcionamientos incorrectos.
¿Cómo puede ayudar la virtualización a las empresas?
Virtualizar sistemas puede ser beneficioso para la empresa, algunos de los motivos son:
- Reducción de costes y eficiencia. Una de las principales ventajas de la virtualización es la reducción de costes, tanto energéticamente en el hardware utilizado como en el desembolso de equipos. Gracias a la virtualización se puede pasar de utilizar varios servidores a solamente uno. Virtualizar entornos también mejora la eficiencia del personal dedicado a su administración, de manera que todos los recursos podrán ser gestionados desde una plataforma central simplificando así cualquier labor de mantenimiento y gestión.
- Escalabilidad. Gracias al software de virtualización se pueden crear o eliminar máquinas virtuales según las necesidades de la organización. Además, se podrán establecer los recursos necesarios en función de la demanda existente.
- Compatibilidad. Determinadas aplicaciones requieren para su uso un determinado software o sistema operativo, gracias a la virtualización es posible ejecutar aplicaciones que requieren software específico en un entorno controlado.
- Aislamiento y seguridad. Las máquinas virtuales se ejecutan en un entorno aislado respecto a las otras máquinas y al host. Un fallo en una de las máquinas virtuales solamente afectaría a la máquina en cuestión, el resto seguirán funcionando con normalidad. Los entornos virtualizados también ofrecen protección contra el malware, puesto que estas no podrán infectar al resto de VM o al propio host si la configuración es correcta. Asimismo, muchos malware al detectar que son ejecutados en una máquina virtual cambian su comportamiento, volviéndose inocuos en algunos casos.
Pese a las múltiples ventajas que conlleva la virtualización también hay que tener presente inconvenientes como:
- Reducción en el rendimiento. Las VM necesitan para su ejecución un software de virtualización que consume recursos del dispositivo, por lo que siempre existirá una pérdida de rendimiento.
- Limitaciones de hardware. No se puede utilizar hardware que no sea compatible con el software de virtualización.
- Excesivas máquinas virtuales. El número de VMs puede aumentar considerablemente, ya que no es necesario invertir recursos en hardware. Esto se traduce en un aumento en las labores de administración y problemas de seguridad si no se aplican los parches y configuraciones apropiados.
- Centralización. Ubicar todas las VMs en un mismo dispositivo puede poner en riesgo la continuidad de los servicios si el host tiene algún problema. Por ello, habrá que recurrir a soluciones de alta disponibilidad con el aumento de costes que ello conlleva.
- Inversión económica. Las empresas que decidan invertir en virtualización y no cuenten con los recursos hardware necesarios deberán realizar una inversión económica. Además, se recomienda contar con personal especializado, bien sea propio o contratado como servicio.
Antes de implantar cualquier solución de virtualización en la empresa es recomendable realizar un estudio previo de viabilidad considerando las cuestiones particulares de cada empresa.
Tipos de virtualización
La virtualización permite implementar en la organización diferentes variantes. A continuación se exponen los principales métodos de virtualización:
- Virtualización de servidores. De utilizar varios servidores con el consiguiente gasto en hardware, electricidad y recursos humanos a usar un único dispositivo donde están virtualizados todos los servidores que la empresa necesita. La virtualización de servidores ha permitido reducir costes y es una de las piedras angulares del cloud computing.
- Virtualización de almacenamiento. También conocido como almacenamiento definido por software o SDS, por sus siglas en inglés «Software Defined Storage». Este tipo de virtualización mejora el rendimiento y eficiencia, permitiendo centralizar todo el almacenamiento de la organización, incluido el almacenamiento cloud.
- Virtualización de escritorio. Este tipo de virtualización permite almacenar en un servidor de la empresa el espacio de trabajo de cada usuario en lugar de hacerlo en cada dispositivo de manera local. La virtualización de escritorios reduce los costes y hace que los usuarios puedan trabajar desde cualquier lugar y dispositivo.
- Virtualización de redes. Consiste en utilizar software para llevar a cabo las tareas que habitualmente realizan dispositivos hardware. La virtualización de redes permite desplegar los diferentes elementos de forma ágil cuando las necesidades de la empresa así lo requieran sin necesidad de depender de implementaciones de hardware.
- Virtualización de aplicaciones. El objetivo es conseguir que las aplicaciones puedan ser ejecutadas con independencia del entorno en que son necesarias. Gracias a este tipo de virtualización es posible eliminar cualquier problema causado por incompatibilidades pudiendo ejecutar aplicaciones de escritorio en un smartphone.
La virtualización en cualquiera de sus variantes puede ser una herramienta de gran potencia para muchas empresas al reducir costes y aumentar la eficiencia de los empleados.