Introducción a los conceptos de la virtualización
Introducción
En este capítulo, empezaremos dando una definición general de virtualización, seguida de una breve historia de la tecnología para entender mejor los problemas que llevaron a su desarrollo. Dado que el término "virtualización" se utiliza en contextos muy diversos y tiene muchos significados diferentes, esta retrospectiva nos ayudará a situarnos mejor en los distintos ámbitos de aplicación de la virtualización.
Después de preparar el terreno, presentaremos los principales tipos de virtualización que existen hoy en día y mostraremos en qué se diferencian de la virtualización de servidores, que es el tema específico de este libro.
Dado que el hipervisor y las máquinas virtuales son los dos componentes principales de la virtualización de servidores, empezaremos dando una definición inicial de ellos, pero serán objeto de capítulos dedicados que nos permitirán profundizar en su instalación en un entorno VMware.
Antes de dar una primera definición de virtualización, veamos el principio en el que se basa esta tecnología.
El principio de la virtualización
De la realidad virtual a la virtualización
Para entender el principio de la virtualización empecemos con una analogía que, sin duda, le resultará familiar. Todos estamos familiarizados con la realidad virtual, ya sea por haber visto una representación ficticia de ella en una película o por haberla experimentado con auriculares de RV.
La realidad virtual hace referencia a todas las tecnologías que sumergen a los usuarios en un mundo artificial creado por software. En otras palabras, la realidad virtual "hace creer" al usuario que está en un mundo real.
También podríamos llamar "virtualización de la realidad" a las técnicas que permiten simular la presencia física de un usuario en un entorno digital.
En una película como Matrix, por ejemplo, la simulación es tal que resulta casi imposible distinguir entre la realidad y su forma virtual.
El mismo principio se aplica a la virtualización de servidores, pero esta vez se trata de crear un entorno de hardware artificial -una máquina virtual- para que un sistema operativo funcione igual que en un ordenador físico.
A modo de recordatorio, un sistema operativo (ou OS pour Operating System) es un paquete de software compuesto por un conjunto de programas que ejecutan aplicaciones y gestiona el uso de los recursos físicos de un ordenador (memoria...
Definir la virtualización
1. ¿Qué es la virtualización?
En informática, la virtualización consiste en abstraer un componente físico en forma de software. La capa de abstracción resultante libera al componente de sus dependencias de hardware y oculta su complejidad.
La noción de abstracción tiene muchos significados en informática, pero en el contexto de la virtualización se refiere a una representación abstracta de objetos que unifica y simplifica su manejo.
Virtualizar un recurso informático permite optimizar su utilización y dotarlo de nuevas funciones, que se definen utilizando software. Por ejemplo, la virtualización aplicada a la memoria RAM, la red o el almacenamiento, simplifica la gestión de estos recursos y permite ponerlos en común y compartirlos. Volveremos sobre estos conceptos más adelante, cuando hablemos de los hipervisores.
2. Tres ejemplos de virtualización
Para ilustrar el concepto de virtualización, veamos tres ejemplos de uso común:
-
la memoria virtual
-
laVLAN
-
la tecnología RAID
a. Memoria virtual
La memoria virtual es una (virtual memory) técnica que permite a un sistema operativo utilizar una parte de un medio de almacenamiento masivo, como un disco duro, como si fuera memoria física (Random Access Memory o RAM). El espacio extra resultante se denomina espacio de intercambio...
Virtualización de servidores
Antes de adentrarnos en la virtualización de servidores, vamos a definir qué es un servidor en el contexto de este libro. Un servidor es un ordenador (físico o virtual) que proporciona servicios a uno o varios clientes. Estos clientes pueden ser otros ordenadores o servidores, tabletas, teléfonos inteligentes o cualquier otro dispositivo con capacidad de red.
Un servidor ejecuta una o varias aplicaciones para las que recibe peticiones de los clientes, que puede procesar él mismo o delegar en otros servidores. Una vez atendidas estas peticiones, el servidor devuelve la respuesta o los recursos adecuados de los clientes.
Este modo de transacción se denomina "cliente-servidor". En su forma más simple, este modo consiste simplemente en que un equipo que actúa como "servidor" espera las peticiones de una entidad que actúa como "cliente" y responde a ellas. Para llevar a cabo sus tareas, el servidor suele disponer de mayores recursos de procesamiento que los clientes.
En el contexto de la virtualización, la noción de servidor se aplica a dos entidades que en breve describiremos con más detalle: las máquinas virtuales y el hipervisor.
1. Representación informática de un servidor físico
La virtualización de servidores se refiere al conjunto de tecnologías utilizadas para crear una representación de software (o abstracción) de los recursos de hardware de un servidor físico (procesador, memoria, almacenamiento, red), para permitir que varias máquinas virtuales (Virtual Machine ou VM) funcionen simultáneamente en el mismo servidor físico.
Por tanto, una máquina virtual es, una representación por software de un ordenador físico y sus componentes.
Representación informática de un servidor físico
En el contexto de la virtualización de servidores, el sistema operativo y las aplicaciones de una máquina virtual operan en un entorno, que se les presenta como si fuera el hardware nativo de un servidor físico. En realidad, los recursos de hardware no están controlados por los sistemas operativos, sino por una capa de software...
Historia de la virtualización de servidores
Antes de describir los principales tipos de virtualización, una mirada al pasado nos permitirá comprender mejor los problemas que condujeron al desarrollo de esta tecnología.
1. Desde finales de los 50 hasta los 70
a. Mainframes y memoria virtual
Las tecnologías de virtualización empezaron a surgir a finales de los años 50 para resolver una serie de problemas causados por la falta de flexibilidad de los superordenadores y, sobre todo, de los mainframes, que dominaron el mercado en los años 60 y 70.
Los mainframes, ordenadores centrales raros y caros, se instalaban principalmente en universidades, centros de investigación e instalaciones militares.
Los mainframes tenían dos grandes inconvenientes: además de tener una capacidad de procesamiento extremadamente limitada (al menos para los estándares actuales), estaban infrautilizados. Debido a su arquitectura centralizada, eran muy restrictivos y planteaban retos complejos cuando se utilizaban en un entorno multiusuario, en el que había que realizar múltiples tareas simultáneamente.
La necesidad de desarrollar soluciones multiusuario y multitarea, está en la base del pensamiento que condujo a la invención de la virtualización.
b. Mainframes monotarea
Para situarse en el contexto de la época, imagínese por un momento a principios de los años 60 en un instituto científico, con cientos de empleados y un solo mainframe para procesar los programas de todos los investigadores.
No olvidemos que los PC a los que estamos acostumbrados, no estarían disponibles hasta veinte años después. Como ordenadores individuales con sus propios recursos de procesamiento, los PC (Personal Computers) fueron revolucionarios en una época en la que la informática se basaba en un modelo centralizado, en el que había que compartir los recursos de un ordenador central.
Para ejecutar un programa, primero había que escribirlo entero y segmentarlo en función de la memoria del ordenador. A continuación, estos segmentos de código se transponían a tarjetas perforadas y se entregaban a un operador, que tiene la tediosa tarea de cargarlos manualmente en un dispositivo de entrada, para que pudieran ser procesados por el ordenador.
La invención de la memoria virtual...
Conclusión
La virtualización de servidores es una tecnología disruptiva que ha redefinido la forma en que se prestan los servicios informáticos, desde hace varias décadas. El hipervisor se ha convertido en el componente central de los centros de datos corporativos, así como en la fuerza motriz de la computación en nube.
Hasta ahora nos hemos limitado a la virtualización de servidores, pero ya hemos visto hasta qué punto su funcionamiento depende o implica otras formas de virtualización. Éstas se han desarrollado a raíz de la virtualización de servidores, que nos proponemos examinar en el capítulo Los distintos tipos de virtualización.