Servicios y Virtualización TI: Infraestructura, Capas y Tecnologías Clave
Servicios TI y su Infraestructura en una Organización
Servicios TI Clave
- Conectividad de puestos de trabajo: Configuración TCP/IP, DNS
- Gestión de puestos de trabajo: Portal de gestión de incidencias, sistema de gestión remota de incidencias, servicios de instalación de software
- Conectividad de dispositivos móviles: Wifi Uniovi
- Comunicación Institucional: Portal Corporativo, boletines electrónicos informativos
- Comunicación interpersonal: Correo electrónico
- Seguridad: Gestión de la identidad
- Trabajo Colaborativo: Office 365
- Almacenamiento: OneDrive
- Aplicaciones corporativas: Campus Virtual, SIES
Infraestructura de TI
- Infraestructura de red: Interconecta todos los sistemas informáticos de la organización y les proporciona acceso a internet.
- Puestos de trabajo: Equipos informáticos usados por los trabajadores para realizar sus tareas.
- Periféricos: Múltiples tipos, sistemas multimedia, reprográficos, etc.
- Servidores: Proporcionan capacidad de procesamiento y almacenamiento para dar soporte a los servicios TI de la organización.
Estructura en Capas de un Sistema Informático
De forma general, puede considerarse que un sistema informático se encuentra organizado en tres capas: la plataforma física, el sistema operativo y las aplicaciones.
- Cada capa proporciona recursos a su capa superior. La plataforma hardware, recursos físicos, y el sistema operativo, recursos lógicos.
- Virtualizar es modificar la vista de recursos que una capa de un sistema informático proporciona a su capa superior, mediante el uso de una capa adicional de software, conocida como capa de virtualización.
Virtualización de Recursos
Proporcionar al sistema operativo o a las aplicaciones que se ejecuten sobre el mismo una vista modificada de un recurso o de una agrupación de los mismos.
Virtualización de Discos mediante RAID
- Objetivo de la virtualización de discos: gestionar discos físicos en agrupaciones, que son presentadas al sistema operativo como discos virtuales, con propiedades mejoradas respecto a los discos físicos.
- Ubicación de la capa de virtualización: en el firmware de la controladora RAID.
Memoria Virtual
- Objetivo de la virtualización de memoria: En un sistema multitarea, permite presentar a cada programa en el sistema una memoria privada para el mismo, y con un tamaño modificado respecto a la memoria física del sistema, habitualmente muy superior al de la memoria física.
- Ubicación de la capa de virtualización: en el subsistema de gestión de memoria del SO.
Virtualización de Plataforma
- Objetivo: proporcionar un mecanismo para generar plataformas virtuales de ejecución a partir de una plataforma hardware. Las plataformas virtuales reciben una visión totalmente modificada de los recursos físicos de la plataforma hardware, y múltiples plataformas virtuales pueden compartir una plataforma hardware.
Drivers en Plataformas Físicas y Virtuales
En el proceso de instalación del SO, los drivers de dispositivo se eligen de la forma apropiada para que se adecúen a los dispositivos de la plataforma de computación, ya sea esta física o virtual. De esta forma, mediante la selección de los drivers adecuados, un sistema operativo puede adaptarse fácilmente a una plataforma virtual, sin necesidad de modificar el código principal del sistema.
Problemática de las Plataformas de Computación Tradicionales
- Tendencia a la proliferación de servidores: Para evitar interferencias entre aplicaciones, se tiende a instalar una aplicación por servidor, lo que lleva a un rápido incremento del número de servidores instalados.
- Consecuencias de la proliferación de servidores: La CPU y la memoria suele estar infrautilizada.
Incremento de Costes
- De adquisición: +servidores → +dinero en la compra
- De administración y mantenimiento: +servidores → +personal de admin y mantenimiento
- De consumo energético: +servidores → mayor consumo
Virtualización de Plataforma: Solución
- Motivación: superar los problemas planteados por las plataformas de computación tradicional.
- Ventaja esencial: un solo servidor puede soportar muchos servidores virtuales.
- Beneficio esencial: reducción del número de servidores necesarios para soportar los servicios TI de las organizaciones.
- Concepto de consolidación de servidores: Proyectos acometidos en el ámbito de la industria TI para transformar servidores físicos en virtuales, reduciendo drásticamente el número de servidores físicos requeridos para dar soporte a los servicios de TI de empresas y organizaciones.
Paravirtualización
Se trata de modificar los sistemas operativos invitados de modo que cooperen con el hipervisor para su correcta ejecución en las máquinas virtuales (MV). Mecanismo de ejecución del código de modo supervisor: las secciones de código del sistema operativo invitado que requieren ejecutar instrucciones privilegiadas o realizar operaciones de entrada/salida (IO) son sustituidas por llamadas al hipervisor, que las trata de la forma apropiada.
Ventajas de la Paravirtualización
¿Qué ventajas ofrece la paravirtualización en relación con la virtualización asistida por hardware?: la paravirtualización ofrece unas prestaciones significativamente superiores en el manejo de los dispositivos de IO. Por tanto, es la tecnología adecuada para la implementación de drivers de dispositivo.
Alcance del Uso de la Paravirtualización
La paravirtualización es ampliamente utilizada en la implementación de drivers de dispositivo. Tanto Windows como Linux proporcionan versiones paravirtualizadas de los drivers de dispositivo para su ejecución en los hipervisores más comunes.
Uso Combinado
Uso combinado de la virtualización asistida por hardware y de la paravirtualización: lo más común es que se usen ambas tecnologías combinadamente, la virtualización asistida por hardware para la gestión de memoria y para manejar las instrucciones privilegiadas, y la paravirtualización en la implementación de los drivers de dispositivo.
Hipervisores: Tipos y Características
Hipervisor Tipo 1
- Concepto: Es un núcleo de sistema operativo muy ligero, cuyo objetivo es crear un entorno de ejecución para las MV, así como proporcionar a las mismas acceso coordinado a los recursos hardware de la plataforma física.
- Requisitos de software: Ninguna, se ejecuta directamente sobre la plataforma hardware (bare metal)
Modelos
- Micronúcleo – Xen e Hyper-V
- Diseño: El núcleo es de tamaño mínimo (1MB en el caso de Xen) y gestiona el procesador, la memoria y las interrupciones, la gestión de la IO se delega en una máquina virtual privilegiada.
- Administración de las MV: Se realiza mediante una herramienta administrativa instalada en la MV privilegiada
- Núcleo monolítico – VMWare ESXi
- Diseño: El núcleo es pequeño (32MB en el caso de ESXi) pero muy superior en tamaño al de los hipervisores micronúcleo, el núcleo gestiona el procesador, la memoria, las interrupciones y la IO.
- Administración de VM: Se realiza mediante una herramienta administrativa instalada en un ordenador externo que se conecta vía red a la plataforma física que da soporte al hipervisor. Un proceso que corre sobre el hipervisor gestiona la conexión.
Ámbito de Uso
Ámbito de uso más relevante: la virtualización de servidores.
Hipervisor Tipo 2 (Hosted Hypervisor)
- Concepto: Es una aplicación de virtualización que se instala sobre un sistema operativo de propósito general y cuyo objetivo es crear un entorno de ejecución para las MV, así como proporcionar a las mismas acceso coordinado a los recursos hardware de la plataforma física.
- Requisitos de software: el sistema operativo de soporte que recibe el nombre de anfitrión (host)
- Gestión de la IO: el sistema operativo anfitrión proporciona el soporte necesario para la gestión de la IO
- Administración de VM: La app de virtualización lleva integrada una herramienta administrativa para la gestión de las MV
- Ejemplos: Virtual Box, VMWare Workstation, VMWare Player.
- Ámbito de uso más relevante: la virtualización en el ordenador del usuario
Virtualización a Nivel de Kernel
Se trata de integrar en el núcleo del sistema operativo Linux un módulo de virtualización cuyo objetivo es crear un entorno de ejecución para las máquinas virtuales (MV), así como proporcionar a las mismas acceso coordinado a los recursos hardware de la plataforma física.
- Requisitos de software: el sistema Linux en el que se integra.
- Gestión de la IO: el sistema Linux proporciona el soporte necesario para la gestión de la entrada y salida (IO).
- Administración de las MV: utiliza una aplicación que se ejecuta sobre el sistema operativo Linux anfitrión.
- Ejemplos: KVM (Kernel-based Virtual Machine).
- Ámbito de uso más relevante: la virtualización de servidores.
Virtualización Completa
Los SO invitados se ejecutan en las máquinas virtuales (MV) sin modificación alguna (salvo en los drivers) respecto a los sistemas operativos que se ejecutan en plataformas físicas.
Tipos de Virtualización Completa
Tipos, atendiendo al mecanismo de ejecución del código de modo supervisor:
- Traslación binaria: el código del modo supervisor del SO es transformado por un traductor justo antes de su ejecución, de modo que se pueden tratar de forma apropiada las instrucciones privilegiadas y las de entrada/salida (IO).
- Asistida por hardware: la CPU posee un modo especial para la ejecución del hipervisor. Las instrucciones privilegiadas y de IO ejecutadas por un sistema operativo invitado generan excepciones que provocan transferencias de control al hipervisor, el cual las trata de forma apropiada.
Extensiones Hardware
Extensiones hardware que dan soporte a la virtualización asistida por hardware: Intel VT-x y AMD-V.
Virtualización de Sistemas Operativos (SO)
Objetivo: proporcionar un mecanismo para generar entornos de aislamiento de ejecución de aplicaciones sobre un sistema operativo base. Cada entorno de aislamiento, que se conoce habitualmente como contenedor, proporciona a las aplicaciones que se ejecutan sobre él una vista modificada de los recursos lógicos que se ejecutan en él. Así, gestiona su propio sistema de ficheros y maneja entornos privados de gestión de procesos y de red.
Docker
- Docker: es una tecnología estandarizada para la creación y gestión de imágenes de contenedores.
- Imagen Docker: paquete de software configurado para que pueda ser ejecutado como un contenedor en un anfitrión Docker (Docker host).
- Docker Engine: entorno de ejecución (runtime environment) de contenedores Docker (nota: un equipo equipado con Docker Engine se convierte en un Docker host).
- Contenedor Docker: imagen Docker puesta en ejecución sobre Docker Engine.
- Registro Docker: repositorio centralizado para el almacenamiento y distribución de imágenes Docker.
Beneficios de Docker
- Mecanismo ligero de gran eficiencia para la ejecución de múltiples cargas de trabajo aisladas en un mismo sistema.
- Mecanismo estandarizado para la distribución de aplicaciones que elimina las dependencias entre aplicaciones y las plataformas en las que se ejecutan.
Docker: Arquitectura Comparativa
Ventajas de la Virtualización de Plataforma
- Máxima flexibilidad en la selección de los sistemas operativos a ejecutar, permite la ejecución simultánea de MV que contengan cualquier tipo de SO, es decir, diferentes SO pueden ejecutarse simultáneamente en la máquina física.
- Máxima flexibilidad en la configuración de las MV: la capacidad de las plataformas de virtualización de emular hardware virtual proporciona una fiabilidad total a la hora de elegir la configuración de la máquina virtual a ejecutar.
Ventajas de la Virtualización del SO
- Menor consumo de recursos (disco y memoria), los contenedores no necesitan mantener una imagen propia del sistema operativo, todos ellos comparten una imagen única del sistema operativo que es lo que se mantiene en disco y en memoria, sin embargo, cada máquina virtual requiere su propio sistema operativo, lo que consume el espacio correspondiente tanto en disco como en memoria.
- Mejores prestaciones: los contenedores no requieren gestionar un sistema operativo completo, ya que todos ellos comparten una imagen del sistema operativo común. Esto simplifica la gestión de las estructuras hardware para el manejo del SO, consiguiéndose así una gestión más eficiente de la plataforma hardware.
Virtualización de Aplicaciones
Ejemplos: Microsoft App-V en entorno Windows y Snap en entorno Linux.
Infraestructura Virtual
- Concepto: Se trata de extender el concepto de virtualización más allá de la máquina física, aplicándose a un conjunto o banco de recursos interconectados en el que se integra almacenamiento, servidores y redes. Estos recursos trabajan colaborativamente, proporcionando a las máquinas virtuales una vista unificada de los recursos hardware subyacentes, que se conoce habitualmente como infraestructura virtual.
- Uso: los centros de procesamiento de datos (CPD) modernos, tal y como los gestionados por los grandes proveedores de cloud computing, se gestionan siguiendo el paradigma de la infraestructura virtual.