Un modelo de arquitectura para un sistema de virtualización distribuido
Resumen
Si bien los Sistemas Operativos disponen de características de seguridad, protección, gestión
de recursos, etc., éstas parecen ser insuficientes para satisfacer los requerimientos de los sistemas
informáticos que suelen estar permanente y globalmente conectados. Las actuales tecnologías de
virtualización han sido, y continúan siendo masivamente adoptadas para cubrir esas necesidades de
sistemas y aplicaciones por sus características de particionado de recursos, aislamiento, capacidad
de consolidación, seguridad, soporte de aplicaciones heredadas, facilidades de administración, etc.
Una de sus restricciones es que el poder de cómputo de una Máquina Virtual (o un Contenedor) está
acotado al poder de cómputo de la máquina física que la contiene. Esta tesis propone superar esta
restricción abordando esta problemática con el enfoque de un sistema distribuido.
Para poder alcanzar mayores niveles de rendimiento y escalabilidad, los programadores de
aplicaciones nativas para la Nube deben partirlas (factorizarlas) en diferentes componentes
distribuyendo su ejecución en varias Máquinas Virtuales (o Contenedores). Dichos componentes se
comunican mediante interfaces bien definidas tales como las interfaces de Web Services. Las
Máquinas Virtuales (o Contenedores) deben configurarse, asegurarse y desplegarse para poder
ejecutar la aplicación. Esto se debe, en parte, a que los diferentes componentes no comparten la
misma instancia de Sistema Operativo por lo que no comparten los mismos recursos abstractos tales
como colas de mensajes, mutexes, archivos, pipes, etc. El defecto de esta modalidad de desarrollo
de aplicaciones es que impide una visión integral y generalizada de los recursos. En ella, el
programador debe planificar la asignación de recursos a cada componente de su aplicación y, por lo
tanto, no solo debe programar su aplicación sino también gestionar la distribución de esos recursos.
En este trabajo se propone un modelo de arquitectura para un Sistema de Virtualización
Distribuido (DVS) que permite expandir los límites de un dominio de ejecución más allá de una
máquina física, explotando el poder de cómputo de un cluster de computadores. En un DVS se
combinan e integran tecnologías de Virtualización, de Sistemas Operativos y de Sistemas
Distribuidos, donde cada una de ellas le aporta sus mejores características. Este modelo de
arquitectura, por ejemplo, le brinda al programador una visión integrada de los recursos distribuidos
que dispone para su aplicación relevándolo de la responsabilidad de gestionarlos. El modelo de
DVS propuesto dispone de aquellas características que son requeridas por los proveedores de
servicios de infraestructura en la Nube, tales como: mayor rendimiento, disponibilidad,
escalabilidad, elasticidad, capacidad de replicación y migración de procesos, balanceo de carga,
entre otras.
Las aplicaciones heredadas pueden migrarse más fácilmente, dado que es posible disponer de la
misma instancia de un Sistema Operativo Virtual en cada nodo del cluster de virtualización. Las
aplicaciones desarrolladas bajo las nuevas metodologías para el diseño y desarrollo de software para
la Nube también se benefician adaptándose su utilización a un sistema que es inherentemente
distribuido.
URI
http://sedici.unlp.edu.ar/bitstream/handle/10915/77390/Resumen.pdf-PDFA.pdf?sequence=1&isAllowed=yhttp://hdl.handle.net/20.500.12272/5373
Colecciones
El ítem tiene asociados los siguientes ficheros de licencia: