Implementación de software como servicio y virtualización de escritorios Linux en la red UCLV
74
0
0
Texto completo
(2) Universidad Central “Marta Abreu” de Las Villas Facultad de Ingeniería Eléctrica Departamento de Telecomunicaciones y Electrónica. TRABAJO DE DIPLOMA Implementación de software como servicio y virtualización de escritorios Linux en la red UCLV Autor: Miguel Ramírez Verdecia Email: [email protected]. Tutor: MSc. Arelys Ramos Fleites Email: [email protected]. MSc. Miriel Martin Mesa Email: [email protected]. Santa Clara 2015 Año 57 de la Revolución ii.
(3) Hago constar que el presente trabajo de diploma fue realizado en la Universidad Central “Marta Abreu” de Las Villas como parte de la culminación de estudios de la especialidad de Ingeniería en Telecomunicaciones y Electrónica, autorizando a que el mismo sea utilizado por la Institución, para los fines que estime conveniente, tanto de forma parcial como total y que además no podrá ser presentado en eventos, ni publicados sin autorización de la Universidad.. Firma del Autor Los abajo firmantes certificamos que el presente trabajo ha sido realizado según acuerdo de la dirección de nuestro centro y el mismo cumple con los requisitos que debe tener un trabajo de esta envergadura referido a la temática señalada.. Firma del Autor. Firma del Jefe de Departamento donde se defiende el trabajo. Firma del Responsable de Información Científico-Técnica. iii.
(4) i. PENSAMIENTO. No existen realidades milagrosas donde solo existen hombres de ciencia El futuro no se escribe, se construye Miguel Ramírez Verdecia (Ingeniero en Telecomunicaciones y Elelectrónica). La verdadera ignorancia no es la ausencia de conocimientos, sino el hecho de rehusarse a adquirirlos Karl Popper (Filósofo, sociólogo y teórico de la ciencia). i.
(5) ii. DEDICATORIA. Quiero dedicar esta tesis a mi familia en general, pero en primer lugar mi madre, que dio siempre de si hasta lo imposible para verme lograr con éxito mis objetivos, que estuvo a mi lado en todo los momentos duros y amargos de mi carrera y mi vida. A mi padre y mi hermana que fueron para mí como el ejemplo único por el cual esperamos guiarnos todos. Un momento especial de esta dedicatoria la quiero dar a mi mejor amiga Carmen Nilcia y a mi novia Analilian, porque sin ellas no creo haber podido superar los momentos de esfuerzo y estrés, ayudándome a culminar mis estudios de la manera que lo hice. No podría dejar de mencionar a esa personita que estuvo siempre en mi mente cada día, cada noche, dándome fuerzas para continuar adelante, que siendo aún muy pequeña ya ocupa el primero de mis orgullos: a mi niño Christian Ramírez Reyes.. ii.
(6) iii. AGRADECIMIENTOS. De todo corazón agradezco a todas aquellas personas que me ayudaron a lo largo de mi carrera. A todos mis amigos que me apoyaron y muchas cosas me enseñaron, que gracias a ellos hoy me siento una mejor persona. Agradezco a mis padres que me estuvieron a mi lado en todo momento, a mi madre que fue para mí como el motor impulsor para seguir adelante, demostrándome que todo en la vida es posible escogiendo para mí el camino más seguro. Quiero agradecer a todas aquellas personas, que solo el simple hecho de existir hizo para mí un futuro más visible, mis padres, mi niño, mis hermanas, mi novia y compañera, mis amigos y hermanos de batalla, sin ellos, los tiempos hubiesen sido mucho más duros.. … A todos grAciAs…. iii.
(7) iv. TAREA TÉCNICA Para lograr la confección del presente trabajo y alcanzar los resultados esperados fue necesario desarrollar las tares técnicas siguientes: . Estudio bibliográfico sobre el estado del arte y las tecnologías más usadas en la actualidad para crear modelos y soluciones usando las técnicas de virtualización y el modelo SaaS.. . Análisis de los softwares existentes. Modelo y soluciones que implementan.. . Configurar el software seleccionado para su correcto funcionamiento.. Documentar el procedimiento de instalación y puesta en marcha del sistema.. iv.
(8) v. RESUMEN. Con el crecimiento actual que tienen las redes de computadoras, la necesidad cada vez más marcada del uso de las TIC en todas las esferas y el aumento de las capacidades de procesamiento de los equipos de cómputo, obligan al país a mantener actualizadas cada una de estas tecnologías pero con altos costes de mantenimiento, grandes ciclos de configuración y puesta en funcionamiento y vulnerabilidades en la seguridad. Todos estos factores impulsan a las organizaciones a considerar soluciones informáticas más sencillas, autónomas, eficientes y seguras: La implementación de un software capaz de brindar servicios a través de escritorios virtuales alojados de forma centralizada en un servidor. Consiste en que el equipo de escritorio del usuario es una imagen de pantalla en la estación de trabajo, mientras que los archivos, datos y aplicaciones se almacenan y administran desde un servidor central. Mediante el uso de Thin Clients, dispositivos móviles o equipos convencionales, los usuarios pueden acceder a sus escritorios desde cualquier lugar, tanto dentro como fuera del entorno corporativo, proporcionando así una gran flexibilidad y movilidad. La Facultad de “Ingeniería Eléctrica” no cuenta hoy con el equipamiento necesario para desde sus propios laboratorios de computación poder usar algún software de simulación y procesamiento de datos que requieren de equipos de cómputo de grandes prestaciones. Aprovechando este nuevo clúster de procesamiento y la red de computadoras conectada a Gbps se pueden instalar en estos servidores virtualizados las herramientas necesarias de libre acceso desde cualquier estación de trabajo de la red. En este trabajo se aborda la temática de la virtualización de escritorios, primero desde un punto plenamente teórico y genérico para sentar unas bases mínimas, para posteriormente tratar una parte práctica cuyos principales objetivos son: el análisis de las posibles v.
(9) vi soluciones para escritorios Linux disponibles en el mercado actual, la selección de aquella más adecuada al entorno de la “UCLV”, la realización del diseño, la implementación y despliegue de la infraestructura en el entorno corporativo real de la Universidad. Todo ello, desde la perspectiva de un proyecto piloto que permitirá, en un futuro cercano, cubrir y completar las necesidades de la comunidad universitaria.. vi.
(10) vii. TABLA DE CONTENIDOS. PENSAMIENTO .....................................................................................................................i DEDICATORIA .................................................................................................................... ii AGRADECIMIENTOS ........................................................................................................ iii TAREA TÉCNICA ............................................................................................................iv RESUMEN ............................................................................................................................. v INTRODUCCIÓN .................................................................................................................. 1 CAPÍTULO 1.. MODELOS DE IMPLEMENTACIÓN EN LA NUBE Y MÉTODOS DE. VIRTUALIZACIÓN DE ESCRITORIOS ............................................................................. 4 1.1.. Modelo VDI ............................................................................................................. 4. 1.2. Del ASP al SaaS ....................................................................................................... 5. 1.3. Cloud Computing o “la nube” .................................................................................. 5. 1.4. Software de implementación. Modelo SaaS ............................................................ 8. 1.4.1. SaaS, punto de vista técnico ............................................................................. 9. 1.4.2. Características del modelo SaaS ..................................................................... 10. 1.4.3. Capa de presentación. Modelo SaaS ............................................................... 10. 1.4.3.1. Elementos de interfaz de usuario ................................................................ 11. 1.4.3.2. Aplicaciones SaaS ....................................................................................... 11. 1.5. Modelo de transición a SaaS .................................................................................. 12. vii.
(11) 1.5.1. viii SaaS en el mercado ......................................................................................... 13. 1.5.2. Escalabilidad; más allá de SaaS ...................................................................... 14. 1.6. Despliegue de herramientas para la virtualización del escritorio. .......................... 15. 1.6.1. Quality Virtual Desktop (QVD) ..................................................................... 15. 1.6.1.1. Características ............................................................................................. 17. 1.6.1.2. Versiones de QVD ...................................................................................... 18. 1.6.1.3. Requisitos técnicos ...................................................................................... 18. 1.6.2. VMware Horizon Application Manager y Thin App ...................................... 19. 1.6.3. Xen App .......................................................................................................... 19. 1.6.4. Xen Virtual Desktop ....................................................................................... 19. 1.6.5. Ulteo en Ulteo (OVD)..................................................................................... 19. 1.6.5.1. Características ............................................................................................. 20. 1.6.5.2. Versiones de Ulteo OVD ............................................................................ 21. 1.6.5.3. Requisitos técnicos ...................................................................................... 21. 1.6.6. Solución a implementar. Comparativa............................................................ 22. Conclusiones del capítulo ................................................................................................. 23 CAPÍTULO 2.. ESPECIFICACIONES MÁS IMPORTANTES DE QVD ...................... 24. 2.1. Principio general de trabajo ................................................................................... 24. 2.2. Estructura principal de QVD .................................................................................. 24. 2.3. Componentes secundarios ...................................................................................... 26. 2.4. Arquitectura interna de QVD ................................................................................. 27. 2.4.1. L7R ................................................................................................................. 28. 2.4.2. HKD ................................................................................................................ 30. 2.5. Virtualización KVM............................................................................................... 31 viii.
(12) 2.6. ix Virtualización LXC ................................................................................................ 32. 2.7. Arquitectura de la infraestructura QVD ................................................................. 32. 2.8. Diseño del sistema.................................................................................................. 35. 2.8.1. Selección de la tecnología............................................................................... 36. 2.8.2. Diseño de la arquitectura de QVD .................................................................. 36. Conclusiones del capítulo ................................................................................................. 38 CAPÍTULO 3.. IMPLEMENTACIÓN DEL SISTEMA .................................................. 39. 3.1. Diseño de la arquitectura de red ............................................................................. 39. 3.2. Configuración de la base de datos .......................................................................... 40. 3.2.1. Instalación del software y paquetería .............................................................. 41. 3.2.2. Creación de usuarios y base de datos .............................................................. 42. 3.2.3. Configuración del PosgreSQL ........................................................................ 44. 3.2.4. Creación de las tablas ..................................................................................... 45. 3.2.5. Pruebas de acceso ........................................................................................... 45. 3.3. Configuración del servidor de administración ....................................................... 45. 3.3.1. Instalación del software y paquetería .............................................................. 46. 3.3.2. Autenticación en la WAT ............................................................................... 47. 3.4. Configuración de los nodos QVD .......................................................................... 48. 3.4.1. Instalación del software y paquetería .............................................................. 48. 3.5. Pruebas de funcionamiento .................................................................................... 49. 3.6. Configuración SSL ................................................................................................. 50. 3.7. Análisis económico ................................................................................................ 52. Conclusiones del capítulo ................................................................................................. 52 CONCLUSIONES Y RECOMENDACIONES ................................................................... 53 ix.
(13) x Conclusiones ..................................................................................................................... 53 Recomendaciones ............................................................................................................. 54 REFERENCIAS BIBLIOGRÁFICAS ................................................................................. 55 ANEXOS .............................................................................................................................. 57 Anexo I. Comparativas entre plataformas ..................................................................... 57. Anexo II. Características del DC en la UCLV ............................................................ 58. Anexo III. Características del Clúster en la UCLV ...................................................... 58. Glosario de términos ......................................................................................................... 60. x.
(14) INTRODUCCIÓN. 1. INTRODUCCIÓN. En el transcurso de la vida, cada ser humano se enfrenta desde las primeras edades, a una gran cantidad de problemas cuya solución depende en mayor o menor medida, de la preparación teórica y práctica que haya tenido en su formación. Las Tecnologías de la Información y de las Comunicaciones (TIC) posibilitan la creación de un nuevo espacio social para las interrelaciones humanas. Términos tales como: aplicaciones multimedia, software educativo, tutoriales, han ido ganando protagonismo en el quehacer diario y en especial en la educación a todos los niveles e instituciones establecido, las TIC (redes telemáticas, televisión, videojuegos, tecnologías multimedia, plataformas interactivas, etc.) están modificando la actividad universitaria. Esta rápida evolución de las tecnologías de hardware y software han impactado la vida social y productiva, facilitando la creación y funcionamiento de sistemas de información que apoyan el proceso docente en las universidades de todo el mundo. A través del presente trabajo se plantea el enfoque de desarrollo de software orientado a la prestación de servicios, que recibe el nombre de Modelo SaaS (nombre derivado de sus siglas en inglés que significan Software as a Service o en español, Software como un Servicio). Se describen los diferentes aspectos que envuelven este enfoque de desarrollo de software, que incluyen la arquitectura física y de software necesaria para soportar este tipo de aplicaciones. Cada vez con más fuerza se hace hincapié en que el software orientado a servicios será la próxima revolución en el desarrollo de software; las capacidades de los 1.
(15) INTRODUCCIÓN. 2. servicios Web están en constante expansión desde la utilización para mensajería instantánea hasta la construcción de aplicaciones empresariales complejas. Estos nuevos enfoques orientados al servicio parecen resolver el problema de la rigidez existente en el mantenimiento y evolución de una aplicación de software. La implementación un software basado en SaaS que posibilite la disponibilidad de las aplicaciones y la escalabilidad del sistema da paso a diversas interrogantes: . ¿Por qué el modelo SaaS es el software escogido para la implementación del proyecto si existen otros que de igual forma logran desde una estación cliente conectarse a recursos y servicios de manera centralizada?. . ¿Qué técnicas de virtualización de escritorio están disponibles para el uso del software como demanda y cuál sería la adecuada para el montaje real de la plataforma?. . ¿Cómo implementar en el Centro de Datos de la red “UCLV” dicho sistema?. . ¿Cuáles son los comandos de instalación para el montaje de la plataforma virtual y cómo se configuran los módulos que conforman el sistema?. "El progreso alcanzado en la última década en las tecnologías para el aprendizaje, sobre todo con las tecnologías de la información y de las comunicaciones, aporta las bases para nuevas perspectivas del problema del aprendizaje". El objetivo general de este trabajo es complementar el montaje de un modelo de distribución de software basado en SaaS y la disposición de escritorios virtuales para brindar un servicio de libre acceso. Específicamente: . Estudio bibliográfico sobre el estado del arte y las tecnologías más usadas en la actualidad para crear modelos y soluciones usando las técnicas de virtualización y el modelo SaaS.. . Análisis de los softwares existentes. Modelo y soluciones que implementan.. . Configurar el software seleccionado para su correcto funcionamiento.. Documentar el procedimiento de instalación y puesta en marcha del sistema. El informe está estructurado en un cuerpo de tres capítulos que recogen en esencia el orden metodológico siguiente: introducción, estado del arte, descripción de sus especificaciones 2.
(16) INTRODUCCIÓN. 3. técnicas y anotación del procedimiento de instalación y puesta en marcha del sistema. Le siguen conclusiones, recomendaciones, referencias bibliográficas, glosario de términos y anexos. A continuación se resume brevemente el contenido de los capítulos. Capítulo 1: Modelos de implementación en la nube y virtualización de escritorios En el primer capítulo se hará una búsqueda bibliográfica sobre el estado del arte en el empleo de sistemas y modelos que empleen el Software como Servicio (SaaS) y de las técnicas de virtualización de escritorio. Capítulo 2: Especificaciones más importantes de Quality Virtual Desktop (QVD) En este capítulo se describe y analiza la arquitectura de QVD como herramienta de virtualización de escritorio, estructura física, su capacidad de ejecutar aplicaciones y las formas de acceso de los usuarios. Capítulo 3: Implementación del sistema Análisis y exposición de los resultados. La existencia de tecnologías poderosas que permiten transmitir y compartir la información y ofrecen un cúmulo inagotable de posibilidades muestra cómo ha evolucionado la Web permitiendo planificar, construir, gestionar, compartir, con mayor precisión.. 3.
(17) CAPÍTULO 1. MODELOS DE IMPLEMENTACIÓN EN LA NUBE Y METODOS DE. 4. VIRTUALIZACION DE ESCRITORIOS. CAPÍTULO 1. MODELOS DE IMPLEMENTACIÓN EN LA NUBE Y MÉTODOS DE VIRTUALIZACIÓN DE ESCRITORIOS. Este capítulo está dedicado a la planificación del proyecto, identificando todas las actividades a llevar a cabo para alcanzar los objetivos descritos anteriormente. La decisión de la metodología es relativamente sencilla, pues al tratarse de un proyecto de implementación de un sistema, existen múltiples metodologías completamente validadas y con resultados satisfactorios, las cuales serán abordadas posteriormente. 1.1. Modelo VDI La infraestructura de escritorio virtual (VDI, en sus siglas en inglés) es uno de los escenarios de optimización de escritorio que ofrece Microsoft para ayudar a las organizaciones a optimizar su infraestructura TI (Tecnología de la Información). Es un modelo de implementación alternativa de escritorio para Windows 7. Se trata de un conjunto completo de tecnologías de Microsoft y sus partners, que permiten la centralización de escritorios, aplicaciones y datos. Gracias a lo rentable de esta oferta, los TI empresariales pueden realizar una gestión integral de sus escritorios ya sean físicos, virtuales o estén basados en sesiones y una utilización de los datos de usuario centralizada además de mejoras en la entrega de aplicaciones. La infraestructura de escritorio virtual ofrece ventajas a los trabajadores no móviles en empresas con departamento TI sofisticados y consolidados[1]. Es idónea para trabajadores de subcontratas o que trabajan fuera de la oficina, los usuarios que necesitan 4.
(18) CAPÍTULO 1. MODELOS DE IMPLEMENTACIÓN EN LA NUBE Y METODOS DE. 5. VIRTUALIZACION DE ESCRITORIOS. tener acceso a aplicaciones y escritorios corporativos y usuarios que trabajan desde casa de manera ocasional y cuyo escritorio principal está cubierto por una licencia corporativa[2]. 1.2. Del ASP al SaaS. En la década de los 90, junto con el desarrollo de Internet, surgió el concepto Application Service Provider (ASP), por el que una empresa podía acceder remotamente a aplicaciones. gestionadas por un tercero, el proveedor ASP[3]. Dichas aplicaciones se basaban en una plataforma Cliente - Servidor y, tan solo, hacían uso de algunas páginas html estáticas que no estaban diseñadas para su uso web. El servicio se implementaba de forma que cada cliente accedía a su propia base de datos (con su propia licencia) dedicada por lo que la administración de la infraestructura era compleja y las actualizaciones se debían coordinar adecuadamente con todos los clientes. Por ello, este modelo de negocio no se desarrolló plenamente. Aunque era una estrategia válida aún no se disponía de la tecnología adecuada para optimizar los costes y ofrecer un buen servicio[4]. Con el desarrollo de las Arquitecturas Orientadas a Servicios (SOA) se ha vuelto a definir el concepto como Software como Servicio o bajo demanda (on-demand) ya que se han superado las carencias técnicas de los años del modelo ASP[3]. 1.3. Cloud Computing o “la nube”. La RAE (Real Academia Española), en su acepción define la nube como “agrupación o cantidad muy grande de algo que va por el aire” por lo que es lógico pensar que en la nube tecnológica, esa cantidad de “algo” haría referencia a los datos. Es una plataforma altamente escalable que promete un acceso rápido al recurso hardware o software y donde el usuario no necesita ser experto para su manejo y acceso. Y si hay algo en cantidad muy grande en la nube tecnológica son, sin duda, datos: emails, fotos, vídeos, bases de datos, facturas, presentaciones, notas de prensa, informes, memorias…. 5.
(19) CAPÍTULO 1. MODELOS DE IMPLEMENTACIÓN EN LA NUBE Y METODOS DE. 6. VIRTUALIZACION DE ESCRITORIOS. Las nubes suelen apoyarse en tecnologías como la virtualización, técnicas de programación como el multitenancy y/o habilidades para la escalabilidad, balanceo de carga y rendimiento óptimo, para conseguir ofrecer el recurso de una manera rápida y sencilla. El Cloud Computing (Capacidad de ‘‘computo en la nube’’) lo podemos dividir en tres niveles en función de los servicios que actualmente están ofreciendo las empresas. Desde el más interno hasta el más externo nos encontramos: Infraestructura como Servicio, Plataforma como Servicio y Software como Servicio[5]. Así tenemos, en primer lugar, en la capa baja la IaaS o Infraestructura como Servicio, cuya misión es ofrecer, como si de un suministro se tratara, capacidad de cómputo, memoria volátil y almacenamiento persistente. Estos recursos se complementan con características de redundancia y alta disponibilidad, así como múltiples opciones a nivel de redes privadas y acceso a la red Internet[6]. En segundo lugar, en las capas medias, nos encontramos con la PaaS o Plataforma como Servicio, que son plataformas de software para las que la herramienta de desarrollo en si misma está alojada en la nube y el acceso se produce a través de un navegador web. Con PaaS, los desarrolladores pueden construir aplicaciones web sin tener que instalar ninguna herramienta adicional en sus computadoras y, luego, despliegan estas aplicaciones sin necesidad de tener ningún conocimiento administrativo especializado. Por último, en la capa alta de la nube, se sitúa el SaaS o Software como Servicio, que es la variante de cloud más extendida y supone un nivel de abstracción mayor sobre IaaS / PaaS, siendo sus consumidores los usuarios finales. En estos niveles el usuario no sabe ni necesita conocer nada de la tecnología que subyace sobre el servicio consumido (normalmente plataformas PaaS y/o IaaS). La figura 1.1 detalla los distintos niveles de abstracción, sus relaciones y aplicaciones que pertenecen a cada nivel. En dicha figura se puede observar como una capa hace uso de los servicios de la inferior y a su vez provee los recursos para que la superior pueda funcionar[6]. A nivel de IaaS se puede observar como partiendo desde el nivel eléctrico y mecánico de DC se agrega el nivel de red, en esta capa también son considerados los servidores a nivel físico 6.
(20) CAPÍTULO 1. MODELOS DE IMPLEMENTACIÓN EN LA NUBE Y METODOS DE. 7. VIRTUALIZACION DE ESCRITORIOS. y su virtualización; esta capa provee, como se puede observar, un conjunto de servicios los cuales pueden ser definidos como tangibles, es decir equipos e infraestructura para el funcionamiento de un DC (Centro de Dato). Sobre esta se encuentra el PaaS en el cual se encuentran en primer lugar los sistemas operativos y sobre ellos un conjunto de herramientas que sirven para la construcción de aplicaciones como bases de datos y lenguajes de programación[6]. A su vez, la capa de SaaS es un conjunto de servicios de aplicaciones que pueden ser accedidos a través de una red.. Figura 1.1. Niveles de abstracción. En la figura 1.2 (Anexo I) se detallan los diferentes niveles de servicio, SaaS, PaaS e IaaS y se realiza una comparación con los niveles de acceso que poseen, tanto el proveedor como el usuario, a su vez la figura es dividida horizontalmente en tres niveles: aplicación, plataforma e infraestructura. Se puede observar como a más bajo nivel, extremo izquierda de la figura, IaaS, el responsable de la mayor parte de la administración es el usuario y hacia la derecha, SaaS, el responsable de todas las capas es el proveedor de servicio. En esta figura se puede observar claramente que el modelo de SaaS es un modelo en el cual los usuarios deben utilizar menor cantidad de recursos para la administración, y por. 7.
(21) CAPÍTULO 1. MODELOS DE IMPLEMENTACIÓN EN LA NUBE Y METODOS DE. 8. VIRTUALIZACION DE ESCRITORIOS. consiguiente, menor nivel de conocimientos para el uso de las aplicaciones provistas por el servicio[6].. Figura 1.2.Niveles de servicio. 1.4. Software de implementación. Modelo SaaS. El concepto "Software como un Servicio” nació entre los años 2000 y 2001 junto a conceptos como "Negocios Remotos". El término en inglés "SaaS (Software as a Service)" fue usado ampliamente después de ser usado por primera vez en una conferencia relacionada con el tema en marzo del año 2005[7]. El modelo de desarrollo de software orientado a prestación de servicios, también conocido como modelo SaaS, es una forma relativamente nueva de vender y distribuir software. Le permite a una persona individual o a una pequeña o mediana empresa, hacer uso de aplicaciones de software y servicios de tecnología avanzados, mediante el cual un proveedor concede a sus clientes una licencia para utilizar un servicio a la carta. En su configuración más habitual, los proveedores de software SaaS alojan la aplicación en sus propios servidores web, a los que los usuarios suscritos al servicio acceden normalmente mediante un navegador[8].. 8.
(22) CAPÍTULO 1. MODELOS DE IMPLEMENTACIÓN EN LA NUBE Y METODOS DE. 9. VIRTUALIZACION DE ESCRITORIOS. No se trata de una tecnología en sí, no es un protocolo ni un estándar. Aunque lógicamente SaaS se apoya en las últimas soluciones técnicas, el concepto surge desde una perspectiva orientada a un modelo de negocio para acceder a aplicaciones, de forma flexible, dinámica y con un nuevo enfoque de los costes[7, 9]. El SaaS podría catalogarse mejor como un buen acuerdo comercial que como un programa de software, ya que es un servicio que facilita el programa de software y garantiza su mantenimiento para el cliente. Este servicio incluye una amplia gama de servicios de infraestructura informática: redes, almacenamiento, sistemas operativos, bases de datos, servidores web y servicios de restauración y de copia de seguridad. Además, ofrece un amplio abanico de servicios operativos: autenticación, disponibilidad, gestión de identidades, control de producción, gestión de paquetes de ayuda, control de la actividad, actualizaciones de la versión y personalización del software. 1.4.1 SaaS, punto de vista técnico SaaS permite que todos los usuarios del servicio accedan a una aplicación que cubra las necesidades de cada uno, pero cuyo código existente por debajo de la capa de usuario es el mismo para todos. Esto sería una arquitectura multi-inquilino y supone que cualquier mejora que se realice a petición de los usuarios, estaría disponible para todos los clientes. Existe un modelo de madurez SaaS que describe la evolución que puede darse para una aplicación, considerando los factores facilidad de configuración, multi-inquilino y escalabilidad[5]. Además, el modelo de datos y la arquitectura de sistemas que subyacen a la aplicación son comunes a cada cliente. Por tanto, el proveedor puede realizar una gestión más eficaz al no tener que planificar actualizaciones y probar la compatibilidad para varias versiones de software y plataformas. Es conveniente para este estudio ampliar el espectro de proveedores SaaS, estén más o menos alineados con el modelo exacto, con la idea de obtener una oferta más amplia. 9.
(23) CAPÍTULO 1. MODELOS DE IMPLEMENTACIÓN EN LA NUBE Y METODOS DE. 10. VIRTUALIZACION DE ESCRITORIOS. ofreciendo así la posibilidad de adoptar diferentes soluciones, lo que supone poder acceder a una oferta global más competitiva. 1.4.2 Características del modelo SaaS El proveedor de servicio de aplicaciones es dueño y maneja por completo, de forma independiente o a través de otra empresa, las aplicaciones de software que ofrece. El proveedor pone la información y las aplicaciones de software a disponibilidad del cliente a través de un explorador o un "thin client" (aplicación cliente "delgada" que utiliza la información de un servidor al que se encuentra conectada para realizar sus operaciones). 1.4.3 Capa de presentación. Modelo SaaS Esta capa está compuesta por todos los componentes que permiten la interacción de los usuarios con las aplicaciones. La capa se encuentra dividida en la interfaz de usuario (UI) y los componentes de procesos de interfaz de usuario. Todas las aplicaciones Web desarrolladas bajo el modelo SaaS necesitan proveer una forma de interacción entre el usuario y la aplicación. Las interfaces de usuario de las aplicaciones Web utilizadas en el modelo SaaS son presentadas como páginas Web desarrolladas principalmente en lenguaje HTML, mostrando la información de los clientes a través de la generación de ciertas partes de las páginas utilizando lenguajes del lado del servidor como C# o Visual Basic si se utiliza ASP.NET, PHP, etcétera[10]. Los componentes de interfaz de usuario administran su interacción con la aplicación. Ellos se encargan de desplegar información al usuario, recibir información de él, interpretar eventos que el usuario realiza al actuar con la información del negocio, cambiar el estado de la interfaz de usuario o ayudar al usuario a realizar cierta tarea[11].. 10.
(24) CAPÍTULO 1. MODELOS DE IMPLEMENTACIÓN EN LA NUBE Y METODOS DE. 11. VIRTUALIZACION DE ESCRITORIOS. 1.4.3.1. Elementos de interfaz de usuario. Deben permitir dar formato a la información mostrada al usuario para que sea más legible. Deben validar semánticamente la información que se ingresa. Por ejemplo, un campo que reciba edades no debe permitir que se ingresen edades ilógicas como números negativos o edades superiores a los 150 años. Deben restringir los tipos de información que un usuario puede ingresar. Por ejemplo, un campo que reciba cantidades debe permitir únicamente el ingreso de números. Deben asistir al usuario en el ingreso de información proveyendo consejos visuales, validaciones y los controles apropiados para cada tarea. 1.4.3.2. Aplicaciones SaaS. Escritorio Web completo: El usuario percibe un escritorio Web con las aplicaciones que tenga asignadas y las unidades de almacenamiento que le correspondan como si se tratase de un escritorio tradicional. Portal Web: El usuario percibe un portal Web donde encuentra sus aplicaciones a un lado y un explorador de archivos de manera clara. Aplicaciones integradas: Mediante el uso de un cliente instalado en el equipo local se publican las aplicaciones en el escritorio del usuario como si se tratase de un acceso directo. Este modo permite que la experiencia del usuario sea la de una aplicación instalada. Acceso desde dispositivos móviles: Existe también un cliente para Tablets, iPad, Iphones que permite el acceso a las aplicaciones desde dichos dispositivos[12, 13].. 11.
(25) CAPÍTULO 1. MODELOS DE IMPLEMENTACIÓN EN LA NUBE Y METODOS DE. 12. VIRTUALIZACION DE ESCRITORIOS. 1.5. Modelo de transición a SaaS. La figura 1.3 muestra el modelo de transición a SaaS traducido en un conjunto de procesos actuales a virtualizar en la Universidad Marta Abreu de Las Villas para llevar a cabo el éxito de los procesos que se desempeñan en las plataformas educativas:. Figura 1.3. Modelo de transición a SaaS. La capa de procesos y herramientas consiste en la implementación de sistemas visto como una suite tales como el Aula Virtual para el intercambio entre profesores y estudiantes con un almacenamiento de bibliografías incluido, y la agrupación de programas o aplicaciones utilizadas en las diferentes carreras. En la segunda capa de Procesos Virtualizados se muestra la infraestructura de Escritorio Remoto, al cual se accede por vía Web, brindando todos estos procesos centralizados sin necesidad que los mismos se instalen en las computadoras de los usuarios. La implementación de dicha capa contempla la fusión de dos servidores (Software Libre y. 12.
(26) CAPÍTULO 1. MODELOS DE IMPLEMENTACIÓN EN LA NUBE Y METODOS DE. 13. VIRTUALIZACION DE ESCRITORIOS. Propietario) para brindarle al usuario los dos sistemas inicialmente e ir preparándolos para la migración total a sistemas libres de pago[13]. Finalmente los usuarios pueden acceder a la plataforma SaaS mediante un usuario, una contraseña y escoger o predeterminar los programas que se necesitan ya sea para la docencia o para el uso laboral, por ejemplo: secretaría, decanatos, sistemas contables del departamento económico de la entidad, etc. Unido a estos servicios se incluye la vinculación de la tecnología a la enseñanza, con una dinámica enfocada en la autogestión del conocimiento. Las sedes universitarias serán el escenario de esta nueva aplicación, permitiendo virtualizar los procesos educacionales facilitando la rapidez y calidad en la adquisición del conocimiento por parte del estudiantado, removiendo en sus cimientos el rol tradicional de profesor - estudiante para la aprehensión. 1.5.1 SaaS en el mercado El Software como Servicio se ha convertido en la tendencia con más fuerza tanto en el ámbito de las soluciones CRM (Customer Relationship Management) como en el mercado de las pequeñas y medianas empresas. SaaS está facilitando un aumento de la competitividad en el mercado de los proveedores de aplicaciones lo que se traduce en una ventaja para los consumidores, que podrán acceder a más productos para cubrir sus necesidades y poder aumentar también la competitividad de sus negocios[14]. El concepto SaaS no es reciente, en 1999 ya se comenzó a hablar de la idea del software como un servicio. En dicho año se publicó el artículo Service-Based Software: The Future for Flexible Software, donde se planteaba que para alcanzar los niveles de funcionalidad,. flexibilidad y time-to-market requeridos por las empresas, era necesario dar un giro radical al método de desarrollo de software, de forma que se focalizase más hacía las necesidades de la demanda, para ser distribuido como un servicio en un mercado global. Los que actualmente son los proveedores de soluciones SaaS más importantes, surgieron alrededor de esos años (Salesforce 1999, Netsuite 1998, OpenBravo 2001, SugarCRM 2004)[14]. 13.
(27) CAPÍTULO 1. MODELOS DE IMPLEMENTACIÓN EN LA NUBE Y METODOS DE. 14. VIRTUALIZACION DE ESCRITORIOS. Hoy en día, con la dimensión que ha alcanzado Internet se puede valorar el impacto de un concepto por el número de referencias que los buscadores encuentran; google muestra 19 millones de referencias sobre el concepto SaaS. Por ejemplo, el término ERP (sistemas de planificación de recursos empresariales) (Enterprise Resource Planning), concepto ya maduro y asumido tanto por proveedores como por las empresas, arroja 60 millones de entradas. Este dato da una idea sobre el debate que está generando este tipo de servicio. Es importante destacar que tanto en Europa como en Estados Unidos existen coincidencias al identificar los elementos que impulsan a la adopción de soluciones SaaS[15]. IDC (International Data Corporation) ha realizado un estudio sobre el modelo SaaS en España. Según dicho informe, actualmente este modelo es solo conocido por el 22% de las empresas y su penetración alcanza un 6%. Sin embargo, el modelo muestra un gran potencial ya que una de cada tres empresas que lo conoce lo utiliza. Según IDC el primer escollo es el desconocimiento existente en el mercado, un 78% de las empresas no está familiarizado con este concepto[15]. 1.5.2 Escalabilidad; más allá de SaaS Para concluir con la revisión del mercado SaaS y ver la verdadera dimensión que puede alcanzar este modelo, merece la pena situarlo en la escena del desarrollo tecnológico. El aspecto más relevante que rodea al concepto SaaS, es como a partir de ello se ha desarrollado una de las ideas que puede suponer uno de los cambios más significativos en el modo de entender el acceso e implementación de soluciones informáticas, tanto a nivel doméstico como empresarial, desde la aparición de Internet. Esta idea se ha denominado Computación en la Nube (Cloud Computing). Este término se puede definir brevemente como un estilo de computación en el que los recursos son accedidos a través de Internet como servicios, escalables dinámicamente y virtualizados.. 14.
(28) CAPÍTULO 1. MODELOS DE IMPLEMENTACIÓN EN LA NUBE Y METODOS DE. 15. VIRTUALIZACION DE ESCRITORIOS. El concepto incorpora Infraestructure as a Service (IaaS), Platform as a Service (PaaS) y Software as a Service (SaaS), así como Web 2.0 y otras tendencias tecnológicas recientes para. satisfacer la demanda de los usuarios[16]. IBM, Google, Amazon, Microsoft y Salesforce son actualmente los más activos en el estudio y análisis de cómo se podría definir este nuevo escenario de servicios globales[4]. Como ejemplo de las implicaciones que puede tener el Cloud Computing, Microsoft está desarrollando el proyecto Azure, que entre otras, cambiaría drásticamente la informática doméstica al distribuir su más famosa suite de productos únicamente a través de la nube. La escalabilidad corre a cargo del proveedor formando parte del conjunto de servicios que ofrecen sus soluciones, es decir, el usuario de las SaaS no se preocupa de este término. Por último, en el nivel del SaaS la escalabilidad también puede referirse a la posibilidad de aumentar el número de usuarios que pueden acceder a la aplicación y esto al igual que en el nivel de infraestructura es una propiedad destacable ya que se puede realizar con facilidad y rapidez[4]. 1.6. Despliegue de herramientas para la virtualización del escritorio.. Se realizó una investigación exhaustiva de las plataformas disponibles para la virtualización del escritorio en la red universitaria, las cuales son: QVD, VMware Horizon Application Manager y Thin App, Xen App, Xen Virtual Desktop y Ulteo OVD. Como resultado se llegó a la conveniencia de considerar el despliegue con vistas a determinar sus puntos fuertes y débiles. 1.6.1 Quality Virtual Desktop (QVD) Quality Virtual Desktop es una potente infraestructura de escritorio virtual (VDI) de código. abierto, que hace que sea fácil de implementar soluciones altamente escalables y de bajo costo para proveer a cualquier número de usuarios locales y darles acceso remoto a sus escritorios Linux. 15.
(29) CAPÍTULO 1. MODELOS DE IMPLEMENTACIÓN EN LA NUBE Y METODOS DE. 16. VIRTUALIZACION DE ESCRITORIOS. QVD tiene como objetivo proporcionar un servicio seguro, fiable y fácil de gestionar que se puede instalar en cualquier entorno empresarial de forma rápida y con mínima dificultad. Se centra principalmente tanto en presentar escritorios virtuales Linux como la disponer de aplicaciones en la nube (Saas). Es una solución flexible que permite soluciones escalables y de bajo costo para una gran cantidad de usuarios[17]. Es una plataforma de virtualización de contenedores que es capaz de ejecutar múltiples máquinas virtuales a partir de una o más imágenes de sistema en un sólo nodo de la red. Análisis de QVD a escala mundial BBVA Bancomer tenía la necesidad de proveer de un escritorio de trabajo común a sus empleados en las oficinas de Bancomer en todo México. Qindel Group propuso una solución de escritorios remotos open source, con soporte para clientes Microsoft y Linux. Esta solución es parte del núcleo de la solución QVD de Qindel Group y trae consigo un ahorro considerable en licencias de software ya que está basado en tecnología abierta. Para este desarrollo ellos destacan las siguientes ventajas: . Reducción en costes de administración y gestión. . Facilidad en las actualizaciones de los escritorios. . Ampliación de la vida útil del hardware. . Experiencia conocida para el usuario. . Facilita la distribución geográfica: teletrabajo. . Reducción en el consumo eléctrico (para entornos de thinclients). . Optimización del ancho de banda. . Facilidad de respaldos al estar la información centralizada en NFS. Actualmente, Qindel Group lleva el soporte de un servicio para más de 22000 usuarios potenciales, con una concurrencia de más de 8000 entre todas las oficinas de Bancomer en México.. 16.
(30) CAPÍTULO 1. MODELOS DE IMPLEMENTACIÓN EN LA NUBE Y METODOS DE. 17. VIRTUALIZACION DE ESCRITORIOS. 1.6.1.1 Características Alta densidad: Ofrece la posibilidad de ejecutar múltiples máquinas virtuales a partir de una o más imágenes en un solo nodo de la red. Permite por tanto, reutilizar una imagen de sistema base para varias máquinas virtuales. Al ejecutar varias imágenes por nodo permite dar servicio a un elevado número de usuarios. Balanceo de carga: Dispone de un sistema de balanceo de carga automático que lo hace adecuado para ser implantado en clústers de un servidor. Dispone de una serie de servicios para asegurarse de que el cliente que se conecte a cualquier nodo del servidor se redirige al nodo correcto. Alta disponibilidad: Presenta la posibilidad de determinar automáticamente que nodo servidor del clúster tiene la mayor parte de recursos disponibles, lo que ayuda a asegurar una alta disponibilidad de los entornos de escritorio. Auto provisión: En QVD cada usuario es identificado de forma independiente a través de un nombre y una contraseña, de tal forma que se puede asignar una imagen de escritorio por usuario. QVD permite establecer su propio nombre de usuario y contraseña o integrar dicho sistema con sistemas de autenticación externos como LDAP o “Active Directory”.. Clientes: QVD presenta clientes software para Linux y Windows, al igual que un cliente Android que actualmente se encuentra en desarrollo. Simplemente ejecutando alguno de estos clientes, el usuario puede tener acceso a su propio escritorio virtual. Administrador web: Proporciona herramientas de línea de comandos, lo que permite trabajar a través de SSH (“Secure Shell” es un protocolo para acceder remotamente a una máquina a través de la red. Permite manejar remotamente una máquina a través del intérprete de comandos). Además, QVD tiene un completo entorno de administración web, lo que facilita la tarea del administrador. Acceso remoto: QVD hace uso de una versión modificada de NX (Software que realiza conexiones remotas X11 muy rápidas, lo que permite a los usuarios acceder a escritorios 17.
(31) CAPÍTULO 1. MODELOS DE IMPLEMENTACIÓN EN LA NUBE Y METODOS DE. 18. VIRTUALIZACION DE ESCRITORIOS. remotos Linux o Unix bajo conexiones lentas. Es un protocolo que proporciona una alta eficiencia en la conexión gracias a una correcta compresión), lo que permite reducir la carga de ancho de banda. Ofrece distintos algoritmos de compresión en función de la configuración del usuario (usuarios con alto o bajo ancho de banda)[17]. 1.6.1.2 Versiones de QVD La solución o infraestructura de escritorios virtuales QVD ofrece tres versiones distintas: QVD Community Edition: Versión gratuita destinada fundamentalmente para desarrolladores, o para uso particular sencillo. Está fundamentalmente orientada hacia instalaciones de un único servidor de pruebas y poco crítico. QVD Online Suscription: Es la versión intermedia con el objetivo principal de ser asentada en pequeñas y medianas empresas que poseen administradores de sistemas propios. QVD Enterprise Edition: Versión más completa y como es lógico, más cara. Está destinada a organizaciones relativamente grandes o con infraestructuras críticas que requieren unas necesidades altamente funcionales y con un soporte completo. 1.6.1.3 Requisitos técnicos Las especificaciones técnicas o requisitos mínimos de un sistema QVD es una de sus ventajas, pues al tratarse en su base de un sistema operativo Linux, bajo condiciones teóricas, los requisitos mínimos de los equipos servidores podrían ser los mismos que para una instalación de un operativo Linux en un ordenador convencional. Aunque no existen unos requisitos mínimos de instalación, es evidente de que serán necesarios mejores equipos en la infraestructura cuanto mayor sea el servicio que se desea ofrecer a los usuarios (Por ejemplo, un usuario medio que emplee su escritorio virtual para navegación puede emplear alrededor de 200 o 300 megabytes de memoria RAM y otros 200 megabytes de espacio en disco). Esto quiere decir, que los requisitos mínimos de instalación vendrán dados por el propio diseño y el futuro uso de la infraestructura. 18.
(32) CAPÍTULO 1. MODELOS DE IMPLEMENTACIÓN EN LA NUBE Y METODOS DE. 19. VIRTUALIZACION DE ESCRITORIOS. 1.6.2 VMware Horizon Application Manager y Thin App Es un portal web desarrollado por VMWARE, en el cual tendremos dos interfaces, una de gestión y otra para nuestros usuarios, donde podremos presentar nuestras aplicaciones ThinApp. Basándose en un servicio Cloud SaaS (Software as a Service) los usuarios podrán abrir. las aplicaciones ThinApp que necesiten de una forma muy sencilla. Además con la reciente versión de VMware ThinApp, podremos integrar más fácilmente nuestros paquetes con el portal de Horizon App Manager. Entre otras características, desde la consola de administración podríamos monitorizar el uso de nuestras aplicaciones, así como (opcionalmente) asignar licenciamiento a las aplicaciones y comprobar de una forma interna si cumplimos nuestros acuerdos, el único inconveniente es que al tratarse de software propietario no está acorde con la política Nacional y Sectorial. 1.6.3 Xen App Desarrollado por CITRIX la misma empresa que adquirió el Hipervisor con el que están desplegadas muchas de las plataformas de virtualización existentes (XEN). Además XenAPP destaca por su simpleza y por ser una de las mejores soluciones para brindar Software como Servicio (SaaS), presenta el mismo inconveniente que la anterior. 1.6.4 Xen Virtual Desktop Otro producto de CITRIX y otra de las soluciones punteras en cuanto a virtualización del escritorio pero presenta el mismo inconveniente que las dos anteriores, no obstante las tres fueron analizadas para tener un punto de comparación con respecto a las soluciones más sólidas en este campo. 1.6.5 Ulteo en Ulteo (OVD) Existen productos similares de grandes compañías como Citrix, VMware y Sun. A diferencia de sus competidores, Ulteo OVD se presenta bajo licencia GNU GPL[18], y está disponible libremente para su descarga.. 19.
(33) CAPÍTULO 1. MODELOS DE IMPLEMENTACIÓN EN LA NUBE Y METODOS DE. 20. VIRTUALIZACION DE ESCRITORIOS. El sistema cliente puede ser un ordenador completamente Windows, un ordenador Linux o incluso un sistema Thin Client. Un usuario que trabaje con el escritorio virtual en el cliente puede incluso cortar texto de aplicaciones Linux y pegarlos en una aplicación Windows. El escritorio unificado se sirve en un navegador Web con Java, sobre Linux, Windows o Mac. Y no tenemos que emplear tiempo, esfuerzo o dinero configurando sistemas cliente. Dado que Ulteo OVD usa túneles SSH seguros. Lo mejor de Ulteo OVD es que puede usar servicios de red existentes, como servidores de directorio (tanto Active Directory como LDAP), para autenticar a los usuarios, lo que simplifica el proceso de configuración e integra el escritorio con la infraestructura de red existente[19]. OVD nos permite con seguridad servir aplicaciones de varias formas: Escritorio completo: A través de un navegador Web (con soporte Java) se dispone de un escritorio Windows o Linux con todas las aplicaciones de ambos entornos que se encuentren publicadas para el usuario[18]. Se dispone también de la opción de carpetas e impresoras locales del usuario redirigidas al escritorio y carpetas compartidas desde un servidor de ficheros para los usuarios de la plataforma. Modo portal: Desde el navegador web tenemos acceso a un portal que en lugar de servir un escritorio nos muestra la lista de aplicaciones que el sistema tiene publicadas para el usuario y un administrador de archivos de muy fácil uso, desde el que podemos acceder a las carpetas e impresoras tanto locales como compartidas[20]. Acceso desde dispositivos móviles): Soporte para tabletas iPad y Android. 1.6.5.1 Características Escalable: Ofrece una correcta manipulación y control de la carga dando un posible soporte de hasta 50.000 usuarios (Evidentemente, en muchos casos la limitación de usuarios vendrá impuesta por la infraestructura)[19].. 20.
(34) CAPÍTULO 1. MODELOS DE IMPLEMENTACIÓN EN LA NUBE Y METODOS DE. 21. VIRTUALIZACION DE ESCRITORIOS. Hi-Def: Buena definición de pantalla para ofrecer una correcta visualización del escritorio para acercarse lo máximo posible a una experiencia de usuario similar a la de un escritorio nativo. Servidores de ficheros: Ofrece un entorno de persistencia para almacenar los datos personales y de configuración (ejemplo: El perfil de un usuario Linux). Compatibilidad: La infraestructura Ulteo destaca por su compatibilidad con la virtualización de escritorios Linux y Windows, permitiendo así a las organizaciones seleccionar el sistema operativo que más se adapte a sus necesidades[21]. Es por tanto también compatible con cualquier aplicación destinada a operar en cualquiera de estos dos sistemas. Balanceo de carga: Proporciona la posibilidad de balancear automáticamente la carga de los servidores en función de los escritorios virtuales en activo[19]. 1.6.5.2 Versiones de Ulteo OVD Ulteo presenta dos posibles soluciones o versiones: Ulteo OVD Community Edition: Se trata de la versión base de la plataforma Ulteo. Es la opción gratuita y proporciona las funcionalidades pertenecientes al núcleo de la aplicación, es decir, las funcionalidades más básicas. Sería la versión adecuada para uso particular o de pequeña empresa[20]. Ulteo OVD Premium Edition: Es la versión adecuada para importantes infraestructuras de virtualización de empresas medianas o grandes. Ofrece mejores capacidades que la anterior. Es necesario un contrato de suscripción de Ulteo[20]. 1.6.5.3 Requisitos técnicos Los requisitos técnicos de la infraestructura Ulteo, se dividen por componentes:. 21.
(35) CAPÍTULO 1. MODELOS DE IMPLEMENTACIÓN EN LA NUBE Y METODOS DE. 22. VIRTUALIZACION DE ESCRITORIOS. Servidores de aplicación OVD: CPU dual o quad-core. RAM 1GB o más para 15 usuarios concurrentes. Sistemas operativos mínimos soportados: Ubuntu 10.04, RHEL 5.2 o 5.3, CentOS 5.2+, Fedora 10, OpenSuSE 11.2, o superiores. Servidores administradores de sesi´on OVD: Cualquier CPU Pentium x86 con 1GB o más RAM. Soporta los mismos sistemas operativos que el anterior. Servicios de directorio: LDAP, e-Directory, ZENwork y Active Directory. Servidores de ficheros: CIFS o cualquier servidor WebDAV embebido[19]. 1.6.6 Solución a implementar. Comparativa Tal y cómo se muestra en la tabla comparativa 1.1, la solución Ulteo en su versión gratuita (Community Edition) sólo ofrece clientes de acceso al escritorio remoto mediante el navegador, bien a través del motor Java del navegador. Los clientes nativos para las plataformas móviles y de escritorio sólo están disponibles en su versión de pago (Premium Edition). A diferencia de Ulteo, en este caso resulta mucho más completa la solución de QVD, pues permite la descarga y el uso de todos los clientes disponibles. Es importante destacar que aunque el cliente Android se encuentre en fase beta, es completamente funcional. Del mismo modo, el cliente iOS se encuentra en desarrollo y será posible también emplearlo con la alternativa gratuita.. Tabla 1.1: Comparativa de los clientes de acceso al escritorio Linix 22.
(36) CAPÍTULO 1. MODELOS DE IMPLEMENTACIÓN EN LA NUBE Y METODOS DE. 23. VIRTUALIZACION DE ESCRITORIOS. En relación al rendimiento de los escritorios se trata de una prueba de difícil justificación inicial. Es decir, ambas soluciones ofrecen un rendimiento similar. El problema reside en la imposibilidad de realizar una prueba de ambas soluciones en un entorno real y con una carga de trabajo real (con varias decenas o centenas de usuarios). Conclusiones del capítulo Para el despliegue se tuvo en cuenta en la selección del software que sea de código abierto, con estándares abiertos y de gran aceptación. Se tuvo en cuenta que la estructura fuese la de menor complejidad que aportara los requerimientos de los servicios a brindar. Se demostró que era posible asumir las crecientes necesidades de elevar la vitalidad de los servicios existentes así como hospedar otros nuevos mediante la transformación de la infraestructura de empleo del mismo empleando la tecnología de la Computación en la Nube, Software como Servicio y Virtualización del Escritorio mediante la optimización de la memoria RAM de los equipos que fueron empleados en la misma. Aunque Ulteo fuese desde un primer momento una alternativa de muy posible implementación, la carencia de clientes de acceso en sus versiones gratuitas hace que no sea tan adecuada como QVD para el uso en la Universidad, pues esta última permite y flexibiliza a los alumnos y personal el uso de los escritorios virtuales desde cualquier dispositivo de forma gratuita.. 23.
(37) CAPÍTULO 2. ESPECIFICACIONES MAS IMPORTANTES DE QVD. 24. CAPÍTULO 2. ESPECIFICACIONES MÁS IMPORTANTES DE QVD. En este capítulo se realizará un estudio específico de los aspectos fundamentales de QVD para la virtualización de escritorio. Se expondrán las características técnicas de esta herramienta con el objetivo de lograr el montaje idóneo del sistema. 2.1. Principio general de trabajo. QVD es un proyecto open-source (código abierto) del grupo Quindel Group y que proporciona una infraestructura para la implantación de escritorios virtuales Linux en una organización[22]. Se trata de una alternativa a un precio asequible, altamente escalable, fácil de gestionar y que permite tanto la virtualización de escritorios como disponer de aplicaciones en la nube (SaaS). Es una solución flexible que permite soluciones escalables y de bajo costo para una gran cantidad de usuarios. La filosofía de la empresa QVD es presentar independencia tecnológica y ahorro. Es por ello que se centra principalmente en ofrecer escritorios Linux a los usuarios, con el objetivo de reducir los costes de licencias y fomentar la adopción de la tecnología de código abierto. 2.2. Estructura principal de QVD. Existen componentes esenciales que pueden ser montados por separado o juntos en un mismo servidor aunque lo recomendado es montarlos en servidores independientes, su administración es extremadamente sencilla a través de una interfaz de servicio Web. En la 24.
(38) CAPÍTULO 2. ESPECIFICACIONES MAS IMPORTANTES DE QVD. 25. figura 2.1 se muestra como dichos componentes pueden estar presentes de forma conjunta en un solo nodo servidor (pequeñas instalaciones o destinadas a pruebas) o bien distribuirse en diferentes nodos para entornos de producción[22].. Figura 2.1: Esquema básico de QVD Servidor o servidores QVD (1): Se trata del nodo/s de procesamiento en los que se ejecutarán las máquinas o escritorios virtuales. Habitualmente (en instalaciones reales) serán una serie de servidores formando una arquitectura clúster[23]. Es decir, varios nodos funcionando y configurados para dar servicio de forma conjunta. Servidor de administración (2): Será el encargado de ejecutar la interfaz de administración que emplearán los administradores de QVD para realizar todas las tareas de gestión de los escritorios. Servidor base de datos (3): Básicamente se trata de un servidor con un SGBD (Sistema de Gestión de Bases de Datos)[23], que en el caso de QVD el SGBD es PosgreSQL.. 25.
(39) CAPÍTULO 2. ESPECIFICACIONES MAS IMPORTANTES DE QVD. 26. Éste contiene una base de datos que incluye toda la información acerca de los usuarios, máquinas, servidores, sistemas operativos y configuraciones del entorno. Cliente de acceso QVD (4): Se trata del conjunto de programas de software disponibles para las diferentes plataformas y que permiten el acceso al escritorio virtual. 2.3. Componentes secundarios. Todos y cada uno de los componentes anteriormente mencionados son indispensables para el funcionamiento básico de una infraestructura QVD, sin posibilidad de excluir ninguno de ello. Además de esos componentes existen otros que pese no ser completamente necesarios, están igualmente presentes en la totalidad de las infraestructuras en funcionamiento con un mínimo de usuarios. Dichos componentes se muestran en un diagrama de ejemplo en la Figura 2.2.. Figura 2.2: Esquema de QVD con componentes adicionales. 26.
(40) CAPÍTULO 2. ESPECIFICACIONES MAS IMPORTANTES DE QVD. . 27. Balanceador de carga (1): Necesario para cualquier entorno en producción con más de un nodo QVD y que ejecutan múltiples máquinas virtuales para dar servicio a varios usuarios. Dicho balanceador será el encargado de redistribuir equitativamente las máquinas virtuales en ejecución entre los nodos de QVD[24].. . Almacenamiento compartido (2): En una infraestructura en la que exista más de un nodo QVD, todo los componentes de QVD deben tener acceso a un almacenamiento compartido en el que se almacenan las imágenes de los sistemas operativos para cargar las distintas máquinas virtuales y los datos propios del entorno de cada uno de los usuarios[24].. . QVD Virtual Machine Agent: Es el responsable de aceptar las conexiones desde el cliente a la VM a través de un nodo QVD. Es un demonio o programa software que se instala en las máquinas virtuales para facilitar el acceso por parte de los clientes y es el elemento responsable que la infraestructura QVD tiene ejecutándose dentro de cada máquina virtual. Al encontrarse dentro de las máquinas virtuales no puede mostrarse en la figura 2.2.. 2.4. Arquitectura interna de QVD. Los encargados de llevar a cabo las tareas principales de la infraestructura para que todo funcione de forma correcta. Los core components de QVD son: L7R: Conocido como Layer-7 Router o Router de capa 7[25]. Es el encargado de ejercer las tareas de bróker (es el encargado de determinar qué escritorio virtual será asignado a cada usuario, siendo este el que establece la conexión), característico de este tipo de entornos. Es decir, sería el responsable de realizar dentro de los nodos QVD, todas las tareas para establecer las sesiones que abren los usuarios contra sus máquinas virtuales. HKD: Es el otro de los daemons encargados del funcionamiento interno de QVD. El House Keeping Daemon es el encargado de gestionar el estado de las máquinas virtuales (arranques, paradas, etc). Gestiona y monitoriza cada una de las VM's, siendo. 27.
(41) CAPÍTULO 2. ESPECIFICACIONES MAS IMPORTANTES DE QVD. 28. también el responsable de actualizar la información sobre el estado de las máquinas en la base de datos. Gestiona las máquinas virtuales[26]. En la Figura 2.3 se muestra un diagrama completo en el que se introducen los dos nuevos componentes descritos y las relaciones de estos con los componentes descritos en las secciones anteriores.. Figura 2.3: Arquitectura general de QVD 2.4.1 L7R La conexión de un cliente a su escritorio virtual, se realiza a través de una conexión HTTPS contra uno de los servidores de QVD (previa autenticación). Es en este proceso donde el Layer-7 Router cobra mayor importancia.. El L7R, una vez recibe una petición de autenticación, debe comprobar la base de datos de la infraestructura para determinar el modo de autenticación configurado. Si la autenticación es a través de un mecanismo externo (como LDAP), deberá realizar los pasos apropiados para 28.
(42) CAPÍTULO 2. ESPECIFICACIONES MAS IMPORTANTES DE QVD. 29. autenticar al usuario, mientras que si la autenticación se realiza propiamente en el sistema, simplemente será necesario comprobar las credenciales en la tabla de usuarios de la base de datos de QVD[25]. En cualquiera de los casos, si la autenticación es satisfactoria devolverá un mensaje HTTP OK y 401 Unautorized en otro caso. Una vez finalizado el proceso de autenticación, el L7R tiene que comprobar la lista de máquinas virtuales o escritorios de los que dispone el usuario autenticado y responder con dicha lista al cliente. El usuario deberá seleccionar la máquina virtual a la que se desea conectar (si hay más de una). Es labor del L7R el asegurarse de que las máquinas virtuales están disponibles y si la máquina solicitada no se encuentra en ejecución en ninguno de los nodos, este debe iniciarla automáticamente en el nodo más apropiado (en función de la configuración del balanceador de carga será más apropiado un nodo u otro). Una vez se encuentre disponible la VM (Virtual Machine o Máquina Virtual) del usuario, el L7R establecerá la comunicación entre el usuario y su máquina virtual a través del protocolo NX[25]. Por último, una vez el usuario está vinculado a su máquina, deberá actualizarse el estado en la base de datos para indicar que un cliente está conectado, labor también del demonio L7R. Por otra parte, en entornos reales de balanceo de carga, el Layer-7 Router presenta la capacidad de redirigir a un usuario al nodo en el que se encuentra en ejecución su máquina virtual. Imaginando un entorno con un nodo A y otro nodo B, si un usuario se conecta al nodo B, pero su VM se encuentra ya en ejecución en el nodo A, el L7R redirigirá la conexión del usuario al nodo A[25]. En el caso de no existir previamente la VM en ejecución, se hace uso de un algoritmo de balanceo para determinar el nodo más apropiado para iniciar la máquina virtual. En la Figura 2.4 se muestra el diagrama de interacción cliente-servidor, en el que se puede apreciar las labores del demonio L7R comentadas durante esta sección.. 29.
(43) CAPÍTULO 2. ESPECIFICACIONES MAS IMPORTANTES DE QVD. 30. Figura 2.4: Interacción cliente-servidor y demonio L7R 2.4.2 HKD El House Keeping Daemon es el daemon o demonio que se ejecuta en cada uno de los nodos de QVD y es el responsable de realizar la total gestión de las máquinas virtuales en ejecución sobre los nodos. Realiza las actualizaciones de estado mediante polls o actualizaciones periódicas en la base de datos PosgreSQL. Como es lógico el HKD[27], además de tratar los cambios de estado, será también el encargado de ejecutarlos mediante el envío de comandos a la máquina virtual. Ejemplificando, si se envía una señal de apagado a una máquina virtual, el demonio debe enviar la señal de terminación a la máquina virtual y una vez confirmado el cambio de estado deberá enviar la actualización a la base de datos para que dicho cambio pueda ser reflejado en todo el sistema. El funcionamiento HKD es dependiente de la tecnología de virtualización empleada (KVM o LXC) y existen ligeras diferencias en la actividad a bajo nivel: 30.
(44) CAPÍTULO 2. ESPECIFICACIONES MAS IMPORTANTES DE QVD. 31. Cuando la virtualización es KVM[27], el demonio de HKD ejecuta una instancia de KVM para cada máquina virtual que es lanzada y carga la configuración de la misma desde la base de datos y los datos del usuario. Cuando la tecnología de virtualización es LXC, el trabajo de HKD se complica, siendo necesario que HKD seleccione la imagen del sistema operativo a cargar y la descomprima. Hecho esto, deberá vincular o unir dicha imagen con el sistema de ficheros del usuario de la máquina virtual (los datos propios del usuario), creando una nueva imagen que será lanzada en una instancia LXC[25]. 2.5. Virtualización KVM. La tecnología de virtualización Kernel Virtual Machine es una solución de virtualización completa sobre GNU/Linux que está formada por un módulo para el kernel (kvm.ko) y herramientas en el espacio de usuario. Permite ejecutar máquinas virtuales empleando imágenes de disco que contienen sistemas operativos sin modificar. Cada máquina virtual contiene su propio hardware virtualizado, algo que es posible al emplear una versión modificada de QEMU (Emulador hardware)[27]. Se trata, básicamente de un hipervisor que se ejecuta dentro del kernel (no es necesario modificar el kernel, ya que se trata simplemente de un módulo) de la máquina Linux anfitriona. De esta forma el KVM actúa como intermediario entre el anfitrión y la máquina virtual asegurando una total independencia entre ambos. Hospeda las máquinas virtuales como procesos, por lo que cada máquina virtual podrá beneficiarse de todas las características del kernel de Linux (Aunque KVM está fuertemente ligado a Linux, soporta los sistemas de Microsoft como invitados, es decir, en las máquinas virtuales. De hecho, el soporte Windows está en las mismas raíces del proyecto KVM, pensado inicialmente para la virtualización de escritorios Windows.), heredando los drivers y el amplio soporte hardware de este con el único requisito de necesitar las extensiones para virtualización Intel VT-x (Intel Virtualization Technology. Soporte para virtualización de Intel) o AMD-V [27](AMD Virtualization. Soporte para virtualización de AMD). Las ventajas más destacables de este tipo de virtualización en un entorno QVD son: Diseñado para entornos de virtualización total. 31.
(45) CAPÍTULO 2. ESPECIFICACIONES MAS IMPORTANTES DE QVD. 32. No es necesaria la modificación del kernel del host anfitrión. Compatibilidad e integración total para entornos Linux. Es Open Source. Independencia entre máquinas virtuales y host anfitrión. Facilidad de instalación, configuración y gestión. Es un hipervisor ligero, de gran rendimiento y software libre. 2.6. Virtualización LXC. Linux Containers es una tecnología de virtualización basada en “contenedores”, que permite crear jaulas aisladas. Una “jaula contenedora” es un sistema GNU/Linux auto contenido dentro de otro, al que se le pueden aplicar cuotas de disco, CPU, memoria, una o varias interfaces de red, algunos otros límites y capacidades e iniciarlo como si de un equipo independiente se tratase. En resumen, crear equipos o máquinas virtuales. A diferencia de una virtualización al estilo KVM, una virtualización basada en contenedores sólo permite emplear máquinas virtuales con el sistema operativo del host anfitrión, en este caso, diferentes versiones o distribuciones de GNU/Linux. Destaca por no necesitar una gran cantidad de recursos para levantar un contenedor LXC[25], ya que consumen menos recursos que una máquina KVM. Además de su ventaja principal, existen otras importantes: Recursos, servicios y aplicaciones ofrecen un rendimiento prácticamente igual al nativo. No es necesario un hardware especial. Es Open Source. No necesita ningún módulo en el kernel. 2.7. Arquitectura de la infraestructura QVD. Pasos en la comunicación entre los clientes y los servidores QVD: 1.. El software cliente puede realizar la conexión a la infraestructura (hacia un nodo servidor) desde la propia LAN corporativa o a través de Internet, empleando para ello 32.
Figure
+7
Documento similar