Ventajas y desventajas de la virtualización

Escrito por admin el . Posteado en Informatica

Conocidas las distintas tecnologías existentes, examinamos aquí las ventajas de la virtualización en cuanto a aprovechamiento del hardware, aislamiento, seguridad, flexibilidad, agilidad y portabilidad, así como sus aplicaciones en las empresas, recomendaciones y mejores prácticas.

En cuanto a aprovechamiento del hardware, un mal extendido en los CPDs actuales es el gran número de servidores, muchos de ellos infrautilizados. Si se virtualiza un número de esos sistemas infrautilizados en un solo servidor físico, se ahorrará energía, espacio, capacidad de refrigeración y administración, debido a que se ha reducido el número de servidores físicos.
La virtualización
Aislamiento: las máquinas virtuales son totalmente independientes, entre sí y con el hypervisor. Por tanto un fallo en una aplicación o en una máquina virtual afectará únicamente a esa máquina virtual. El resto de máquinas virtuales y el hypervisor seguirán funcionando normalmente. Seguridad: cada máquina tiene un acceso privilegiado (root o administrador) independiente. Por tanto, un ataque de seguridad en una máquina virtual sólo afectará a esa máquina. Flexibilidad: podemos crear las máquinas virtuales con las características de CPU, memoria, disco y red que necesitemos, sin necesidad de “comprar” un ordenador con esas características. También podemos tener máquinas virtuales con distintos sistemas operativos, ejecutándose dentro de una misma máquina física. Agilidad: la creación de una máquina virtual es un proceso muy rápido, básicamente la ejecución de un comando. Por tanto, si necesitamos un nuevo servidor lo podremos tener casi al instante, sin pasar por el proceso de compra, configuración, etc. Portabilidad: toda la configuración de una máquina virtual reside en uno o varios ficheros. Esto hace que sea muy fácil clonar o transportar la máquina virtual a otro servidor físico, simplemente copiando y moviendo dichos ficheros que encapsulan la máquina virtual.
Si en el PC de nuestra casa creamos máquinas virtuales, estaremos más protegidos ante posibles virus que puedan introducirse por la conexión a Internet
Recuperación rápida en caso de fallo: si se dispone de una copia de los ficheros de configuración de la máquina virtual, en caso de desastre la recuperación será muy rápida, simplemente arrancar la máquina virtual con los ficheros de configuración guardados. No es necesario reinstalar, recuperar backups y otros procedimientos largos que se aplican en las máquinas físicas. Como dice el refrán, “No hay vaca gorda que no pese”. Por tanto, todas estas ventajas tienen un precio, que consiste fundamentalmente en una pérdida de rendimiento, es decir, una aplicación generalmente correrá más despacio en una máquina virtual que en un servidor físico. La degradación dependerá de la tecnología de virtualización utilizada, de la configuración realizada a nivel hypervisor y de la propia aplicación. Por regla general, las aplicaciones que más repercuten la pérdida de rendimiento son las que realizan operaciones frecuentes de entrada/salida. Otro aspecto a tener en cuenta es que la máquina física deberá contar con suficiente memoria para poder arrancar todas las máquinas virtuales. Si queremos crear, por ejemplo, 20 máquinas virtuales en un servidor físico y que estén funcionando simultáneamente, hay tecnologías que permiten hacerlo con 1 sola CPU física (HP Integrity Virtual Machines). Pero al menos necesitaremos 1 GB de memoria para cada máquina virtual, más la requerida por el hypervisor, lo que daría lugar a unos requerimientos de unos 22 GB de memoria. Es decir, necesitaríamos un servidor con 1 CPU y 22 GB de memoria (lo que es una configuración bastante extraña).

Estos beneficios pueden obtenerse tanto en casa como en las empresas. Por ejemplo, si en el PC de nuestra casa creamos máquinas virtuales, estaremos más protegidos ante posibles virus que puedan introducirse por la conexión a Internet (sólo infectarían una máquina virtual) o de que se nos borren las fotos de las vacaciones (porque los datos están encapsulados en un fichero).

La virtualización en la empresa La virtualización en la empresa tiene una clara aplicación práctica: la consolidación de servidores. La consolidación de servidores consiste simplemente en la reducción del número de servidores. Existen distintas maneras de consolidar, y una de ellas es la virtualización. Frente a otras vías para la consolidación, la virtualización permite reducir el número de servidores y optimizar al mismo tiempo su utilización. Es decir, que si antes de consolidar teníamos 100 servidores con una utilización media de CPU del 30%, después de consolidar con virtualización tendremos 50 servidores con una utilización media de CPU del 60%. Si consolidamos sin virtualización, podríamos tener 70 servidores con una utilización media del 40% (los números son meramente ilustrativos). Muchas compañías se encuentran actualmente inmersas en proyectos de consolidación de servidores, pero ¿por qué consolidar, y no seguir con el modelo de servidores independientes? Si preguntásemos a un empleado del departamento de informática de cualquier compañía que nos describiera el CPD, seguramente lo haría basándose en los servidores existentes. Nos mencionaría, por ejemplo, el servidor de base de datos, el servidor del correo electrónico, el servidor de CRM… Y también nos comentaría que cada servidor es de un fabricante diferente y cuenta con sistemas operativos diferentes. Por tanto, también se necesitan administradores formados en las diversas tecnologías existentes, y herramientas de gestión específicas, porque (digamos) lo que vale para monitorizar los servidores con Windows, no vale para los servidores con Unix. Esta morfología se ha originado porque los CPDs actuales han ido creciendo basándose en silos aislados, en función de las necesidades del negocio. Si había que montar una nueva base de datos X, se examinaban las distintas comparativas (benchmarks) y se compraba el servidor más potente para esa base de datos X, del fabricante y sistema operativos indicados. Si seguidamente había que montar un servicio de atención al cliente, se compraría el servidor mejor para la aplicación de CRM elegida, muy posiblemente de otro fabricante y otros sistema operativo. Y así sucesivamente.
La virtualización no es una moda, sino la respuesta a una necesidad que tienen los CPDs actuales
Después de décadas de un crecimiento de este tipo, los CPDs han llegado a un punto en que se han vuelto inmanejables, debido al alto número de servidores, la dificultad para coordinar cambios en esos CPDs, las múltiples consolas que es necesario visualizar para conocer exactamente cómo se está comportando el CPD, etc. Para empeorar más la situación, estos CPDs generan unos costes altísimos. Cada máquina ocupa un espacio y consume electricidad para su alimentación y refrigeración. Los productos están licenciados para todo el hardware (CPUs) presente en los servidores, cuando los estudios demuestran que la utilización media de cada servidor está en torno al 30%. Esto quiere decir que sen está pagando por un 70% de máquina que no usamos normalmente, con sus costes asociados de licencias, mantenimiento, soporte, etc. Por último, diversos estudios muestran que aproximadamente el 75% del presupuesto de TI de una compañía se gasta en mantenimiento de la estructura existente, mientras que tan sólo el 25% se dedica a innovación. Afortunadamente, la virtualización nos puede ayudar a cambiar todo esto. La virtualización no es una moda, sino la respuesta a una necesidad que tienen los CPDs actuales. La virtualización permite a las empresas evolucionar desde el CPD tradicional, basado “en hierro”, a un CPD de nueva generación, basado “en software”, en el que un pool de recursos compartidos se asigna dinámicamente a las aplicaciones que lo necesiten. Este nuevo CPD permitirá a los administradores centrarse en el servicio y no en la operación, mediante la abstracción del hardware y eliminación la gestión física de dispositivos. Curiosamente, lo contrario a la virtualización, llamada agregación de servidores o grid computing, es otra forma de virtualización. Consiste en que diversos servidores funcionen como uno solo, y también nos puede ayudar a construir el nuevo CPD. Virtualización del front-end o del back-end La virtualización puede realizarse a todos los niveles del CPD: desde los servidores de entrada o de aplicaciones (front-end), a los servidores que contienen las aplicaciones críticas para el negocio o las bases de datos (back-end), pasando por servidores de desarrollo o pruebas. De la gran variedad de soluciones comerciales de virtualización, algunas están más orientadas a virtualizar los servidores de negocio, mientras que otras son más adecuadas para servidores no críticos. Por ejemplo, las soluciones de VMWare, pioneras en virtualización y muy bien valoradas por los usuarios, son más adecuadas para el front-end por diversos motivos. Por mencionar algunos, el hardware sobre el que se ejecutan (arquitectura x86) no es capaz de direccionar tantos datos de una sola vez como otras arquitecturas (porque no es una arquitectura nativa 64 bits). Esto se traduce en un menor rendimiento para cargas de trabajo pesadas (p.e., consulta a una base de datos grande). Y este hardware tiene características de fiabilidad y disponibilidad medias (RAS – Reliability Availability Serviceability), es decir, se estropea con más frecuencia y su reparación es más complicada que otras arquitecturas. En el plano de software, las máquinas virtuales VMWare no admiten sistemas operativos unix estables tradicionales de las aplicaciones críticas, como AIX o HP-UX. Por todos estos motivos, VMWare no es la solución óptima para virtualizar las aplicaciones críticas, que correrán por ejemplo en HP-UX, necesitarán rendimientos muy buenos y minimizar la paradas debido a averías hardware.
Las soluciones óptimas para virtualizar los servidores críticos son las que se ejecutan en servidores de alta gama, por ejemplo HP Integrity Virtual Machines. Esta solución permite crear máquinas virtuales sobre servidores con arquitectura Itanium. Itanium proporciona estupendas características de rendimiento (procesador 64 bits puro, con enormes cachés, etc.), fiabilidad y disponibilidad a la altura de los grandes ordenadores o mainframes. En HP Integrity Virtual Machines es posible ejecutar sistemas operativos estables como HP-UX. La importancia de la gestión de la virtualización En el apartado anterior analizábamos la importancia de elegir de la tecnología más adecuada para virtualizar correctamente el servidor que deseemos; tanto o más importante es disponer de una buena herramienta de gestión. La virtualización presenta múltiples ventajas para los CPDs, principalmente desde el punto de vista de simplificación de la infraestructura física y conexiones. Pero al realizarse por software lo que antes se hacía por hardware, se introducen una nueva problemática que no existían en los entornos físicos. Por ejemplo, si una máquina virtual puede ejecutarse en distintos servidores físicos, debemos saber en qué servidor físico se está ejecutado en cada momento. O si un servidor físico cuenta con varias máquinas virtuales que pueden estar arrancadas o no, debemos conocer en todo momento el estado de esas máquinas virtuales. Normalmente, en un CPD convivirán servidores físicos y virtuales, por lo que la herramienta de gestión deberá permitir la gestión de los dos tipos de plataformas, idealmente en una única consola. Además, si se utilizan diversas tecnologías de virtualización, desde esta consola deberán poderse invocar de manera transparente todas las herramientas de gestión específicas de cada plataforma. E idealmente, debería tratarse de una herramienta de gestión de la infraestructura integrable con herramientas de gestión empresarial, que nos avisasen de la repercusión que un problema en una máquina virtual puede tener en el negocio. Un ejemplo, si se para la máquina virtual que contiene la base de datos de clientes, se generaría una alerta en la herramienta de gestión de la infraestructura virtual, alerta que se redirigirá a la herramienta de gestión empresarial informando de que el servicio “Atención al cliente” está indisponible. Virtualización y negocio Si además queremos ligar totalmente nuestra infraestructura virtual con el negocio, no sólo a nivel de alertas, sino para asegurar que se satisfacen todos los compromisos de la compañía con sus clientes, podemos utilizar las denominadas herramientas de Automatización. Las herramientas de Automatización permiten definir una serie de métricas que deben cumplirse siempre en una máquina virtual, y si la herramienta detecta que se va a incumplir una métrica, es capaz de reconfigurar las máquinas virtuales para que esto no llegue a ocurrir. Esta métrica puede ser una medida de infraestructura (% consumo de CPU, MB de memoria libres) o una métrica de negocio (tiempo de respuesta, duración de un trabajo batch). Supongamos una máquina física que alberga varias máquinas virtuales. Si una de estas máquinas virtuales contiene una aplicación cuyo tiempo de respuesta debe estar siempre por debajo de 2 segundos, pero la herramienta de automatización detecta que el tiempo de respuesta es de 1,9 segundos y es muy probable que en breve sobrepase los 2 segundos de máximo, la herramienta reconfigurará la máquina virtual asignándole, por ejemplo, más CPU. Esta CPU la puede obtener “tomándola prestada” de otra máquina virtual que se esté ejecutando en la misma máquina física (que no esté utilizando la CPU que tiene asignada), activando CPUs presentes pero deasctivadas de la máquina física o moviendo la máquina virtual a otra máquina física con más CPU libre disponibles, entre otras opciones. El término SLA (Service Level Agreement o Acuerdo de Nivel de Servicio) se emplea mucho en las compañías, para referirse al contrato que tiene esa compañía con otras partes (normalmente clientes) de proporcionar un servicio con determinadas características de calidad. Por ejemplo, una compañía de telefonía que ofrezca a sus clientes de línea ADSL un compromiso de sólo 30 minutos de indisponibilidad al año.
Lo primero que hay que tener en cuenta es que la consolidación total es algo sólo teórico, que no es posible en el mundo real. La consolidación total implicaría reutilizar todo el hardware existente, que no hubiera ningún tipo de traba política, de licenciamiento, ni de aislamiento entre aplicaciones, y lamentablemente esto no es así
Para cumplir el SLA, la compañía tendrá que vigilar una serie de métricas, que serán las que definirán si se cumple o no es SLA. Estas métricas se conocen con el nombre de SLOs (Service Level Objectives). Volviendo al ejemplo de la ADSL, un SLO podría ser que la aplicación que asigna dinámicamente direcciones IP a los routers domésticos de ADSL, debe proporcionar la IP en un tiempo de 5 segundos como máximo. Podríamos decir que un SLA (contrato) está formado por SLOs (métricas). Si en la herramienta de Automatización se definen métricas que correspondan con los SLOs, la compañía tendrá su infraestructura virtual totalmente ligada con los SLAs, y por tanto, con el negocio.
El camino a la virtualización Lo primero que hay que tener en cuenta es que la consolidación total es algo sólo teórico, que no es posible en el mundo real. La consolidación total implicaría reutilizar todo el hardware existente, que no hubiera ningún tipo de traba política, de licenciamiento, ni de aislamiento entre aplicaciones, y lamentablemente esto no es así. En el otro extremo, si se decide no consolidar, los problemas de dispersión de servidores, tiempos largos de puesta en producción de servicios, etc., no sólo no se solucionarán, sino que se irán agravando y lo más probable es que esa compañía deje de ser competitiva. En el término medio está la virtud, y por ese motivo las compañías se están planteando proyectos de consolidación, en los que se reutiliza sólo parte del hardware existente, y que se aplica únicamente a determinados entornos (típicamente los no productivos) o aplicaciones. Este tipo de consolidación ya ofrece unos beneficios notables en cuanto a ahorro de costes y agilidad. Una vez que una compañía decide abordar un proyecto de consolidación mediante virtualización, los pasos generales a seguir serían los siguientes: Planificación: como en cualquier otro proyecto, el punto de partida de la consolidación será realizar la planificación. La planificación consta de dos etapas: análisis y diseño. El análisis consiste en realizar un estudio del CPD, que contenga un inventario de los servidores, aplicaciones y uso de estas últimas. Esto nos permitirá identificar las aplicaciones candidatas a ser virtualizadas (recordemos que algunas aplicaciones son especialmente sensibles a la sobrecarga que introduce la virtualización o ya contienen algún tipo de virtualización ya embebida – como Oracle RAC, por lo que no es recomendable virtualizarlas). El diseño consiste en seleccionar el hardware adecuado para usar como máquinas físicas y definir las características de las máquinas virtuales que albergarán las aplicaciones: CPUs virtuales, memoria, etc. Existen herramientas comerciales que sirven de ayuda en esta fase inicial. En general, se trata de herramientas que recopilan información de la utilización de recursos de las aplicaciones antes de la consolidación (CPU, memoria, disco, red), y empleando de esa información, permiten simular cómo se comportaría esa aplicación en otra plataforma, en una máquina virtual o lo que nos queramos inventar. Un ejemplo de este tipo de herramientas es HP Capacity Advisor. Migración: una vez diseñada la plataforma final, se configuran las máquinas virtuales y se realiza la migración de las aplicaciones. Esta conversión de físico a virtual se conocer con el nombre “Migración Physical to Virtual” o, de manera abreviada, “P2V”. La migración se puede realizar manualmente o ayudado por herramientas que permiten replicar los entornos de máquinas físicas a máquinas virtuales. Un ejemplo sería p2vassist, utilidad proporcionada por la última versión de máquinas virtuales HP Integrity. Gestión: una vez las máquinas virtuales están operativas, es necesario disponer de herramientas que incorporen procedimientos de monitorización y gestión para las máquinas virtuales. Existen múltiples soluciones comerciales para ello, por ejemplo, HP Virtualization Manager o VMWare Virtual Center. Automatización: esta última etapa es opcional. Sin embargo, ya se ha explicado que es clave si se desea disponer de una infraestructura virtual dinámica, que se reorganice sin intervención humana y en tiempo real según las demandas del negocio. La Automatización puede estar embebida la propia tecnología de virtualización, o ser proporcionada por aplicaciones adicionales que permitan que los servidores virtuales respondan a diversas métricas, que pueden ser de negocio. La virtualización no es sólo tecnología Virtualización suele asociarse a tecnología. Sin embargo, la tecnología que permite la virtualización es sólo la punta del iceberg, una pequeña porción de la foto global. Cuando una compañía decide abordar la virtualización, gran parte del esfuerzo debe dedicarse a los aspecto culturales, humanos y relativos a procesos. Algunas preguntas relativas a las personas y la cultura que es bueno plantearse antes de lanzarse a la virtualización: o ¿Cómo va a afectar la virtualización a los empleados involucrados? o ¿Habrá cambios en sus roles y responsabilidades? o ¿Se necesitará volver a formarlos, o moverlos a posiciones nuevas? o ¿Qué clase de cambios culturales serán necesarios para asegurar el éxito? o ¿Está la compañía preparada para concebir el departamento de TI como un proveedor de servicio, y no como alguien que gestiona los sistemas?

La virtualización supone también un cambio significativo en los procesos de negocio. El movimiento hacia un entorno más centralizado podría requerir que TI también consolidase sus procesos, herramientas y software.

Via: techWEEK

Por Isabel Martín, consultor preventa de Software de Servidores Críticos de HP Española

Share

Etiquetas:, ,

Deja un comentario

SXInformatica
C/Soria 5 25200 Cervera
973 534 445
info@sxinformatica.net

PCmode
www.pcmode.net
635 824 172
ventas@pcmode.net
SEO Powered by Platinum SEO from Techblissonline