Los
servidores virtuales en la actualidad son una solución adoptada por muchas
empresas para solventar muchos de los problemas que se presentan en el área de
administración de TI. Desde la constante exigencia de mejorar la eficacia y la
disponibilidad de servicios y aplicaciones hasta mantener el ritmo del rápido
desarrollo de las TI y el crecimiento exponencial del internet. Tanto la
pequeña y mediana empresa como grandes organizaciones se ven en la necesidad de
implementar de alguna forma la virtualización de servidores.
Podemos
diferenciar 2 formas diferentes de implementar la virtualización de servidores:
§
A través
de máquinas virtuales
§
A través
de cluster de servidores
La
primera idea que se nos viene a la mente cuando escuchamos el término “Servidor
Virtual” es a través de la primera firma de implementación mencionada
anteriormente. Iniciaremos desarrollando este concepto.
Virtualización
de servidores a través de Máquinas virtuales
La virtualización permite ejecutar
varias máquinas virtuales en una misma máquina física, donde cada una de las
máquinas virtuales comparte los recursos de ese único ordenador físico entre
varios entornos. Una máquina virtual es un contenedor de software perfectamente
aislado que puede ejecutar sus propios sistemas operativos y aplicaciones como
si fuera un ordenador físico. La máquina virtual se comporta exactamente igual
que un ordenador físico y contiene su propia CPU virtual, memoria, disco duro y
tarjeta de interfaz de red. Esto nos permite eliminar el concepto
clásico de “un servidor, una maquina”.
Un sistema operativo no puede distinguir entre una
máquina virtual y una máquina física, de la misma manera que no pueden hacerlo
las aplicaciones o los otros ordenadores de la red. Incluso la propia máquina
virtual considera que es un ordenador "real". Sin embargo, una
máquina virtual se compone exclusivamente de software y no contiene ninguna
clase de componente de hardware. El resultado es que las máquinas virtuales
ofrecen una serie de ventajas con respecto al hardware físico.
Esto
nos permite por ejemplo: Contar con un equipo físico y sobre este tener un
servidor Apache Linux para aplicaciones PHP y a su vez tener un servidor IIS
para aplicaciones ASP.
Algunas de las características más destacadas de las
máquinas virtuales son:
§ Compatibilidad
Son plenamente compatibles con la totalidad de sistemas
operativos x86, aplicaciones y controladores de dispositivos estándar, de modo
que se puede utilizar una máquina virtual para ejecutar el mismo software que
se puede ejecutar en un ordenador x86 físico.
Aunque las máquinas virtuales pueden compartir los recursos
físicos de un único ordenador, permanecen completamente aisladas unas de otras,
como si se tratara de máquinas independientes.
Una máquina virtual es básicamente un contenedor de software
que agrupa o "encapsula" un conjunto completo de recursos de hardware
virtuales, así como un sistema operativo y todas sus aplicaciones, dentro de un
paquete de software.
Las máquinas virtuales son completamente independientes de su
hardware físico subyacente. Por ejemplo, se puede configurar una máquina
virtual con componentes virtuales (CPU, tarjeta de red, controlador SCSI,
pongamos por caso) que difieren totalmente de los componentes físicos presentes
en el hardware subyacente. Las máquinas virtuales del mismo servidor físico
pueden incluso ejecutar distintos tipos de sistema operativo (Windows, Linux,
etc.).
Hay
muchas aplicaciones que permiten la creación de máquinas virtuales, algunos de
los más populares son:
§
Virtuozzo
§
Oracle VM
Virtual Box
§ Linux (KVM) Kernel-Based Virtual Machine
Virtualización
de servidores a través de cluster de servidores
Es
una forma altamente escalable y con gran disponibilidad construido con un
cluster de servidores reales. Los usuarios interactúan con el cluster de
servidores como si fuera un único servidor de alto rendimiento.
Para
comprender el funcionamiento de esta tecnología debemos aclarar los mecanismos
que permiten la implementación de la misma. Existen 2 formas de implementarlo:
§
Basado en
Software – DNS
Es la forma más simple de construir un servicio de cluster
para servidores. Utiliza el sistema de nombres de dominio para distribuir las
diferentes peticiones a través de la resolución del nombre a diferentes
direcciones IP o puerto. Cuando una petición DNS llega al servidor DNS redirige
el trafico al socket establecido dependiendo de la estrategia utilizada
(Round-Robin).
Sin embargo debido a algunas deficiencias del sistema DNS en
momentos de alto tráfico se vuelve difícil de controlar lo cual puede conducir
a fallos en la distribución.
§ Basado en Hardware – Switch (Load Balancer)
Es una forma de distribuir el procesamiento de peticiones al
cluster de servidores a través de un dispositivo de red dedicado. Los
servidores del cluster parecen uno solo para los usuarios y el balanceador de
carga recibe el tráfico de la nube y lo distribuye al socket del servidor real correspondiente a través de un switch de la
forma que se muestra en la siguiente figura. Servidor real es la representación
de un servidor físico a través de un socket (IP:Puerto). Consideremos que un mismo
equipo físico podría estar brindado múltiples servicios como por ejemplo ser
servidor de correo electrónico y servidor web al mismo tiempo.
¿Por qué
utilizar servidores virtuales?
Anteriormente mencionábamos que virtualización de servidores
es una forma de resolver algunos problemas de administración de TI, pero, ¿A
qué problemas nos referimos? La principal razón por la cual se opta por
recurrir a una de las formas de virtualización de servidores ha sido el
explosivo crecimiento del internet y la importancia que tiene en los negocios,
el tráfico y carga a la cual se somete a los servidores ha crecido
considerablemente. Muchos servidores se han visto sobrecargados por el
incremento del tráfico en poco tiempo. Para solucionar este problema existen 2
opciones:
§
La primera es mejorar el servidor actual para
que sea capaz de funcionar correctamente (esto tiene sus limitaciones de
acuerdo al hardware, influye el factor económico, la complejidad y que el
servidor se podría ver afectado por el mismo problema rápidamente)
§
La segunda es tener múltiples servidores
trabajando en conjunto para cumplir con la carga a la cual son sometidos por
medio de una balanceador de carga.
Otra razón es la necesidad con diferentes tipos de servicios
o necesitar correr diferentes plataformas de sistemas operativos.
Además se pueden mejorar los servicios brindando mayor
escalabilidad y disponibilidad. Para evitar que posibles fallos en el servidor
obliguen a que el servicio se vea suspendido por algún tiempo corto o incluso
hasta prolongado.
Finalmente con la proximidad del fin de la era ipv4
actualmente es bastante costoso y difícil adquirir una ipv4 publica. Con la
virtualización de servidores podemos contar con múltiples servicios utilizando
únicamente una ipv4.
Máquinas
Virtuales vrs. Cluster de Servidores
Ambas
tecnologías ofrecen ventajas y desventajas. Adoptar una de ellas dependerá de
muchos factores. El tamaño de la empresa, la funcionalidad que se pretenda
obtener, la cantidad de procesamiento, la infraestructura de red, entre otros
son aspectos que se deben de analizar cuidadosamente al momento de escoger cuál
de estas 2 opciones implementar. Cada una ofrece opciones únicas y diferentes
no solo para ofrecer mejores resultados de rendimiento a la organización, sino
también, para facilitar el trabajo del administrador de TI y permitiendo que
este realiza su trabajo de forma más eficaz y a su vez dedique su tiempo a
buscar diferentes formas de innovar y desarrollar nuevas opciones para la
organización.
Podemos
concluir que para un entorno de una pequeña o mediana empresa es preferible
utilizar si es necesario máquinas virtuales ya que económicamente es
beneficioso, ahorra espacio, menor cantidad de equipo y menor cantidad de carga
en comparación a las grandes organizaciones.
Las
grandes organizaciones consideramos se
ven mayormente beneficiadas con la implementación de cluster de servidores ya
que cuentan con los recursos económicos para implementarlo, es más eficiente
para grandes cantidades de carga y brinda mayor versatilidad en cuanto
escalabilidad, disponibilidad y seguridad informática.
Por Rodrigo Ernesto Ortiz y Edgardo Caleb Flores
No hay comentarios:
Publicar un comentario