Networking | Artículos | 01 SEP 2007

Beneficios de la virtualización x86/x64

Alejandro Solana.
Ante el ritmo vertiginoso de la evolución tecnológica, y no en un contexto puramente empresarial, sino incluso en nuestro propio día a día, merece la pena tomarse un respiro y analizar con detenimiento y perspectiva las ventajas y beneficios que éstas nos pueden llegar a aportar.

Una de las tecnologías más actuales y con mayor auge hoy en día, en el sector de las TI es la virtualización de servidores x86. Aunque la virtualización ha estado presente en la industria informática desde hace décadas, originariamente en entornos mainframe, lo realmente novedoso en la actualidad es su incursión e implantación en plataformas x86. Son varias las razones que justifican la virtualización sobre estas plataformas, pero podríamos centrarnos en tres:
- Arquitectura de aplicación. Las arquitecturas de aplicación han evolucionado rápidamente de cliente-servidor a arquitecturas Web de varias capas, para llegar a las actuales arquitecturas SOA, derivando en un desmedido crecimiento del número de servidores.
- Infrautilización de servidores. Por otra parte, la ejecución de un único servicio por servidor acaba redundando en una plataforma normalmente sobredimensionada e infrautilizada.
- Mayor Capacidad. Nuevas tecnologías en plataformas x86. Hoy en día, la introducción de plataformas de 64 bits, capacidades actuales de procesamiento (dual-core, quad-core), memoria, capacidad de almacenamiento y red de la plataforma acentúa la tendencia a una infrautilización de los servidores.

No sólo consolidación de servidores
En la actualidad, la virtualización en plataformas x86 hace referencia a una capa de software que permite la ejecución simultánea de diferentes máquinas virtuales sobre el mismo servidor físico compartiendo sus recursos. Cada máquina virtual es independiente del hardware, y encapsula el sistema operativo con su correspondiente aplicación, comportándose como un servidor físico tradicional. Por tanto, su consumo promedio también se situará en torno al 15%.
No obstante, plantear una solución de consolidación mediante la virtualización de servidores no sólo aporta el beneficio directo en la reducción del hardware necesario, así como de sus costes asociados. Por otra parte, cada máquina virtual está formada por un conjunto reducido de ficheros, gracias a lo cual el proceso de provisioning de un nuevo servicio es prácticamente inmediato y acaba reduciéndose a la copia de un simple fichero. De hecho, gracias a esta propiedad, cada vez es más común el concepto virtual appliance, que consiste fundamentalmente en proporcionar directamente una solución software preinstalada, preconfigurada y optimizada en un fichero de máquina virtual.
Otros beneficios indirectos están relacionados con conceptos como la reducción de espacio físico en el CPD, consumo de potencia, refrigeración, consumo eléctrico, capacidad de operación, facilidad y flexibilidad en su administración, emisiones de CO2…

Arquitectura flexible centrada en el servicio
La virtualización nos permite gestionar nuestro CPD como un pool de recursos o agrupación de toda la capacidad de procesamiento, memoria, red y almacenamiento disponible en nuestra infraestructura x86. Esta capacidad total la podremos repartir en diferentes subpools de recursos en función de las necesidades reales de servicio en los distintos entornos o departamentos de nuestra organización. Por otro lado, sobre la capacidad asignada a un determinado entorno, dimensionaremos oportunamente cada servicio como una máquina virtual respondiendo de forma ágil y flexible a los requisitos de nuestro negocio.
Con este nuevo enfoque en el que se simplifican los distintos componentes de nuestra infraestructura (servidores, red y almacenamiento) reduciéndolos a la capacidad disponible, lo realmente prioritario es que cada máquina virtual disponga de la capacidad necesaria para asegurar su calidad del servicio, y no el conocer si una máquina virtual está ejecutando en un determinado servidor físico u otro. Para ello, la tecnología de virtualización proporciona funcionalidades avanzadas que permiten abstraernos de la infraestructura física subyacente:
- Migración en caliente de máquinas virtuales (sin pérdida de servicio) de un servidor físico a otro, eliminando la necesidad de paradas planificadas por mantenimiento de los servidores físicos.
- Balanceo dinámico de máquinas virtuales entre los servidores físicos que componen el pool de recursos, garantizando que cada máquina virtual ejecute en el servidor físico más adecuado y proporcionando un consumo de recursos homogéneo y óptimo en toda la infraestructura.
- Arquitectura en alta disponibilidad. Por otra parte, los niveles de disponibilidad son muy elevados. Ante un fallo de servidor, la tecnología permite detectar qué máquinas virtuales se han visto afectadas para volverlas a arrancar automáticamente en los servidores más adecuados que queden disponibles en la infraestructura.

Recuperación ante desastres sencilla, abierta y fiable
Dada la evolución experimentada en los últimos años en la plataforma x86, nos encontramos con que, en la actualidad, el número de aplicaciones y servicios críticos que ejecutamos sobre esta plataforma se ha incrementado considerablemente. Teniendo en cuenta sus características, la tendencia a ejecutar un único servicio por aplicación, así como el imparable crecimiento anual del número de servicios (y por tanto de servidores), hace que las posibilidades de ofrecer una solución de recuperación ante desastres sencilla, abierta y fiable que proporcione respaldo en este tipo de entornos acabe convirtiéndose prácticamente en una utopía con un coste desorbitado.
¿Cuáles son los condicionantes de esta situación?
• Los servicios ejecutan sobre hardware de servidor muy heterogéneo. Este hecho hace muy complicado la posibilidad de replicar 1:1 la misma disposición de hardware en el centro de respaldo para garantizar el correcto funcionamiento del servicio en caso de desastre, encareciendo considerablemente este tipo de solución.
• Almacenamiento. El sistema operativo y el software de aplicación suelen utilizar el almacenamiento local del servidor físico. Los datos de la aplicación pueden almacenarse bien en el almacenamiento local o bien en un almacenamiento compartido tipo SAN. En este contexto, es muy difícil conocer la ubicación de la información de cada servicio, así como el mecanismo óptimo para poder llevar y utilizar toda la información relativa a dicho servicio en el centro de respaldo. En algunos casos podríamos utilizar generación de imágenes del disco local; en otros podríamos utilizar las funcionalidades de replicación SAN, herramientas de backup, copias en CD…
• Dependencias “ocultas” con otros servicios. El contexto de informática distribuida en el que nos encontramos incide directamente en las relaciones entre sí de los distintos servicios que ejecutan sobre nuestra infraestructura. Controlar, mantener y gestionar estas dependencias es de vital importancia en el diseño de una solución de recuperación ante desastres para garantizar su correcto funcionamiento.
• Pruebas de recuperación. Teniendo en cuenta todos los condicionantes anteriores –tanto las posibilidades de disp

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios