5a. Academia de Actualización Profesional 2008 Virtualización: implicancias en la tolerancia a fallos y planes de contingencia PwC
Agenda / Contenido Motivación Introducción Principales usos de las tecnologías de virtualización Clustering Virtualización como herramienta de tolerancia a fallos Implicancias en planes de contingencia Resumen
Virtualización: Implicancias en la tolerancia a fallos y planes de contingencia Motivación Introducción Principales usos de las tecnologías de virtualización Clustering Virtualización como herramienta de tolerancia a fallos Implicancias en planes de contingencia Resumen
Motivación Relevancia actual de las tecnologías de virtualización Muy alta relación prestaciones/costo en las plataformas x86 actuales Importante subutilización de los recursos disponibles en dichas plataformas Reducción de costos muy significativa en los últimos años en sistemas de storage (soluciones y discos) Gran cantidad de aplicaciones corporativas (tanto desarrollos internos o a medida como ERPs y otras de clase mundial) que operan en ambientes Windows/Linux Excesiva cantidad de servidores (en muchos casos con configuraciones diferentes) en granjas corporativas, generando dificultades y costos elevados de mantenimiento/administración Diapositiva 4
Motivación Relevancia actual de las tecnologías de virtualización Niveles de tolerancia a fallos/planes de recuperación típicamente inferiores a otras plataformas (i.e. mainframes o similares) no necesariamente asociados a una criticidad menor de las aplicaciones Disponibilidad de tecnologías de virtualización probadas para diversas plataformas con distintos grados de inversión requeridos dependiendo de las necesidades de la organización (inclusive versiones gratuitas y trials de versiones comerciales) Facilidad de instalación y ejecución de pruebas de concepto con requerimientos mínimos de recursos (hardware y personal) Al irse extendiendo la utilización de estas tecnologías se hace necesario además para auditores de sistemas estar al tanto de las mismas y sus implicancias Diapositiva 5
Virtualización: Implicancias en la tolerancia a fallos y planes de contingencia Motivación Introducción Principales usos de las tecnologías de virtualización Clustering Virtualización como herramienta de tolerancia a fallos Implicancias en planes de contingencia Resumen
Introducción Virtualización de plataformas Consiste, en esencia, en la abstracción de los recursos físicos (hardware) existentes en un equipo informático para poder correr sobre el mismo una serie de virtual machines Cada una de dichas máquinas virtuales ve un servidor completo (con su correspondiente hardware) pero en lugar de interactuar directamente con el mismo, lo hace a través de la abstracción provista por la tecnología de virtualización Por ejemplo, si un equipo cuenta con múltiples procesadores, el software de virtualización puede mostrar a cada máquina solamente alguno de los mismos, o inclusive porciones de cada uno de ellos Del mismo modo es posible configurar (generalmente en forma manual o automática) el resto de los recursos disponibles para cada máquina virtual (memoria, storage, puertos de comunicación, etc.) Diapositiva 7
Introducción Virtualización de plataformas Aplicaciones Aplicaciones Aplicaciones S/O Hardware Virtual S/O Hardware Virtual Hypervisor S/O S/O Hardware Hardware Diapositiva 8
Introducción Virtualización de plataformas No es un concepto nuevo (existe desde los 60s) pero los aspectos mencionados previamente han generado un gran desarrollo de este tipo de tecnologías en la última década Existen dos clases principales de hypervisors: - Bare-metal : corren directamente sobre el hardware (i.e. se instalan como un sistema operativo) - Hosted : corren como una aplicación sobre un sistema operativo previamente operativo La primera clase ofrece en general la mejor performance mientras que la segunda resulta en muchos casos más simple de implementar (particularmente en escenarios con equipamiento heterogéneo) Diapositiva 9
Introducción Virtualización de plataformas Si bien cualquier tecnología de virtualización tiene un impacto en la performance de las máquinas virtuales, a partir de lo anterior se puede citar una primera ventaja fundamental: - Dado que el hypervisor presenta siempre la misma abstracción del hardware (independientemente de cómo o dónde esté instalado), las máquinas virtuales pasan a ser automáticamente multiplataforma Por ejemplo, una máquina virtual conteniendo un Linux y una serie de aplicaciones asociadas puede correr sobre un hypervisor hosted sobre un Windows, otro Linux, o cualquier otra instalación que sea válida para el hypervisor considerado (incluyendo una variante bare metal ) Diapositiva 10
Introducción Virtualización de plataformas Otra posible ventaja importante es que en el caso de contar con servidores con bajo nivel de utilización, el correr múltiples máquinas virtuales en los mismos permite aprovechar al máximo el hardware disponible Una nueva experiencia que se está haciendo en la actualidad relacionada con las tecnologías de virtualización es la distribución de paquetes de software como Virtual Appliances - Cada appliance incluye un S/O configurado específicamente para sus requerimientos y una o más aplicaciones (e.g. web server) preconfiguradas - El concepto principal es que la appliance es multiplataforma por defecto (al correr virtualizada), incluye toda la configuración necesaria y facilita la distribución de patches o nuevas versiones Diapositiva 11
Virtualización: Implicancias en la tolerancia a fallos y planes de contingencia Motivación Introducción Principales usos de las tecnologías de virtualización Clustering Virtualización como herramienta de tolerancia a fallos Implicancias en planes de contingencia Resumen
Principales usos de las tecnologías de virtualización Consolidación de servidores Uno de los usos más populares (que es tipicamente el que lleva a una organización a probar esta tecnología) es la consolidación de una cantidad importante de servidores como máquinas virtuales dentro de unos pocos equipos de hardware de mayor porte Además de las ventajas administrativas, esto suele permitir una serie de mejoras ambientales/físicas (reducción del espacio requerido, reducción del consumo de energía, etc.) Al facilitarse el monitoreo tanto de los recursos utilizados por cada máquina virtual como del hardware subyacente, este tipo de instalaciones pueden permitir una mejor utilización de dicho hardware, la configuración de las máquinas virtuales para que provean la performance requerida por los usuarios y la planificación del crecimiento (via upgrades o nuevo equipamiento) Diapositiva 13
Principales usos de las tecnologías de virtualización Instalación de nuevos servidores Una vez instalado adecuadamente, un sistema de virtualización típicamente permite la creación de un nuevo servidor virtuales en cuestión de minutos (particularmente si se utilizan imágenes con instalaciones por defecto) Esto resulta sumamente eficiente para diferentes situaciones tales como: - R&D (instalación/pruebas de nuevas tecnologías) - Instalación de nuevos aplicativos enlatados (sin afectar a la infraestructura de producción) - Servidores de prueba en general (para desarrollo, patches, etc.) - Prueba/implementación de Virtual Appliances Diapositiva 14
Principales usos de las tecnologías de virtualización Virtualización en equipos de usuario final ( workstation ) En este caso, la misma tecnología es utilizada para que un usuario (en lugar de un servidor) pueda correr diferentes sistemas operativos en su desktop/laptop Un uso tradicional se da en desarrollo, donde los programadores pueden correr múltiples máquinas virtuales para ir probando su código en distintos escenarios (e.g. para sistemas con requerimientos de multiplataforma o para verificar la compatibilidad con diferentes versiones de un sistema operativo) o probar sistemas cliente/servidor Una posible extensión de esta tecnología sería proveer a todos los usuarios (internos y externos) con una máquina virtual que incluye un S/O cerrado con todos los aplicativos necesarios para acceder a los recursos corporativos, lo cual presenta posibilidades muy interesantes en la óptica de seguridad y control Diapositiva 15
Virtualización: Implicancias en la tolerancia a fallos y planes de contingencia Motivación Introducción Principales usos de las tecnologías de virtualización Clustering Virtualización como herramienta de tolerancia a fallos Implicancias en planes de contingencia Resumen
Clustering Conceptos básicos de clusters de alta disponibilidad (HA) A efectos de facilitar los próximos ejemplos, conviene recordar los siguientes conceptos: - Un cluster de alta disponibilidad es simplemente un conjunto de equipos que comparten la responsabilidad por la ejecución de un cierto servicio - Simplificando el cluster a dos equipos existen dos configuraciones tradicionales: Activo-Activo (ambos equipos están corriendo el servicio, usualmente agregando funciones de balanceo de carga) y Activo-Pasivo (en el caso de que el equipo Activo falle, el Pasivo empieza a operar para garantizar la continuidad del servicio) Existe un gran número de soluciones de HA diferentes, pero en líneas generales, para cualquier sistema operativo se puede conseguir una solución que implemente como mínimo esas dos configuraciones Diapositiva 17
Virtualización: Implicancias en la tolerancia a fallos y planes de contingencia Motivación Introducción Principales usos de las tecnologías de virtualización Clustering Virtualización como herramienta de tolerancia a fallos Implicancias en planes de contingencia Resumen
Virtualización como herramienta de tolerancia a fallos Aspectos básicos Existen dos mecanismos básicos a través de los cuales se puede mejorar la tolerancia a fallos de un servicio: - Robustecer el hardware donde corre (e.g. calidad general del equipo, redundancia de fuentes de poder, UPSs, sistemas RAID) - Establecer clusters de HA con otros equipos para mantener el servicio aún en el caso de una falla Si bien la virtualización no participa en la primera opción (y hasta podría argumentarse que agrega una capa adicional de complejidad que podría fallar), la facilidad mencionada previamente para crear servidores y correrlos en equipos heterogéneos en cuanto a hardware resulta ideal para la segunda A continuación se verán dos ejemplos con diferentes niveles de complejidad y requerimientos de la solución de virtualización Diapositiva 19
Virtualización como herramienta de tolerancia a fallos Ejemplo 1 Se cuenta con dos equipos (uno que oficia como servidor web donde corren una serie de aplicaciones y otro con las bases de datos correspondientes) sin ningún mecanismo de alta disponibilidad La organización no desea adquirir nuevo equipamiento Claramente, la falla de cualquiera de los dos equipos interrumpe el servicio al no contarse con uno de los componentes críticos Es importante recordar que aun contándose con respaldos adecuados para ambos equipos, esto no impide la interrupción hasta que los operadores puedan levantar/reconstruir el equipo afectado Observar que en la solución propuesta a continuación, los dos hypervisors no tienen ningún grado de interacción entre ellos (los clusters son independientes de la tecnología de virtualización) Diapositiva 20
Virtualización como herramienta de tolerancia a fallos Ejemplo 1 Web BD Web (activo) Web (pasivo) Cluster 1 BD (pasivo) BD (activo) Cluster 2 Hypervisor Hypervisor Diapositiva 21
Virtualización como herramienta de tolerancia a fallos Ejemplo 2 En este caso se presenta un ejemplo con varios equipos corriendo una solución de virtualización que contiene un módulo específico para lograr alta disponibilidad de todos los servidores virtuales corriendo sobre la infraestructura A diferencia del caso anterior, existen agentes que están monitoreando la salud de cada servidor virtual y en caso de detectar un problema levantan otra copia del servidor en un equipo diferente Es necesario en este caso que exista un sistema de storage compartido entre todos los equipos para garantizar que el estado de cada servidor virtual esté accesible para todo el hardware de la infraestructura Diapositiva 22
Virtualización como herramienta de tolerancia a fallos Ejemplo 2 Servidor 1 Servidor 3 Servidor 5 Servidor 6 Servidor 2 Servidor 4 Hypervisor Hypervisor Hypervisor Hypervisor Storage Diapositiva 23
Virtualización como herramienta de tolerancia a fallos Ejemplo 2 Servidor 1 Servidor 3 Servidor 5 Servidor 6 Servidor 2 Servidor 4 Servidor 1 Servidor 2 Hypervisor Hypervisor Hypervisor Hypervisor Storage Diapositiva 24
Virtualización: Implicancias en la tolerancia a fallos y planes de contingencia Motivación Introducción Principales usos de las tecnologías de virtualización Clustering Virtualización como herramienta de tolerancia a fallos Implicancias en planes de contingencia Resumen
Implicancias en planes de contingencia Ventajas/facilidades ofrecidas por los servidores virtuales para la definición de planes de contingencia de IT En el caso de los planes de contingencia de IT es común pensar en las posibilidades de recuperación luego de una pérdida total/parcial de cierto equipamiento crítico o sitio de procesamiento Un primer comentario relevante es que los dos ejemplos anteriores podrían considerarse como parte de un plan de contingencias siempre y cuando los equipos corrieran en sitios independientes y los usuarios tuvieran conectividad garantizada a ambos ambientes Dado que las soluciones más sofisticadas (como en el ejemplo 2) requieren de un acceso de alta velocidad al sistema de storage, sería necesario garantizar que existiera un mecanismo de espejado Otro aspecto que naturalmente debería considerarse es que la suma de recursos disponibles en ambos sitios fuera razonable para correr el total de servidores (con una pérdida aceptable de performance) Diapositiva 26
Implicancias en planes de contingencia Ventajas/facilidades ofrecidas por los servidores virtuales para la definición de planes de contingencia de IT Sin llegar a soluciones de este tipo, existen dos funcionalidades ofrecidas por los sistemas de virtualización que pueden ser de suma utilidad para lograr una recuperación ante un desastre La primera consiste en obtener un snapshot (imagen) de un servidor en un momento dado, que no requiere bajar o detener el servidor, por lo cual puede hasta utilizarse como mecanismo regular de respaldo De esta forma, al recuperar dicha imagen/respaldo en un sitio de contingencia o en un nuevo equipo de hardware que se haya adquirido o puesto en producción, se evita la necesidad de instalar todos los componentes/aplicaciones y luego recuperar los datos de las aplicaciones (todo el estado se encuentra guardado en la imagen) Además, el equipo donde se vaya a levantar la imagen no tiene por que ser igual/similar al original en términos de hardware Diapositiva 27
Implicancias en planes de contingencia Ventajas/facilidades ofrecidas por los servidores virtuales para la definición de planes de contingencia de IT La otra funcionalidad disponible es la migración de servidores virtuales entre distintos equipos de la infraestructura Con esta función es posible mover un servidor virtual a otro equipo de hardware sin interrumpir sus operaciones y sin un impacto observable para los usuarios (dado que toda la conectividad de red también está virtualizada y por lo tanto se mantiene sin cambios) De este modo, para aquellos casos donde no existe una pérdida total de un cierto sitio de procesamiento, es posible mover servidores virtuales en forma manual ante un incidente o degradación del equipamiento en el que están corriendo o ante algún problema de conectividad que impida el acceso de los usuarios a determinado sitio o segmento de red Diapositiva 28
Virtualización: Implicancias en la tolerancia a fallos y planes de contingencia Motivación Introducción Principales usos de las tecnologías de virtualización Clustering Virtualización como herramienta de tolerancia a fallos Implicancias en planes de contingencia Resumen
Resumen Comentarios generales La virtualización en plataformas x86 ha tenido un importante impulso en los últimos años y todo parece indicar que su utilización seguirá creciendo y estandarizándose Cualquier organización que cuente en la actualidad con un número importante de servidores x86 o que utilice los mismos para aplicaciones/servicios críticos debería evaluar estas tecnologías La realización de pruebas piloto o pruebas de concepto es sumamente sencilla dada la disponibilidad de las herramientas en forma gratuita o en modalidad de trial La disponibilidad de servicios de virtualización puede ser muy positiva tanto en la tolerancia a fallos como en el diseño de planes de contingencia de IT y es recomendable que aquellas organizaciones que cuenten con esta tecnología analicen en detalle dichas opciones Diapositiva 30
Nuestra Visión Ser la Firma líder en servicios profesionales, reconocida por ser diferente en su enfoque innovador, comportamiento ético, calidad, multidisciplinariedad, integración en torno al cliente y su aporte al desarrollo de la comunidad, que se caracteriza por relacionamientos profesionales de largo plazo, con rentabilidad sostenida en el tiempo y por la satisfacción y compromiso de sus talentos. 2008. Todos los derechos reservados. hace referencia a la red de firmas miembro de International Limited, siendo cada una de ellas una entidad legal separada e independiente.*connectedthinking es una marca registrada de LLP (US). PwC Diapositiva 31