ESTUDIO DEL FUNCIONAMIENTO DE LAS TECNOLOGIAS DE CLOUD COMPUTING ACTUALES

INTRODUCCIÓN

En la actualidad el cloud computing está destinado a ser la tecnología que cambie el concepto de interrelación con las computadoras. Este concepto está fuertemente relacionado con la virtualización ya que el cloud computing nace como solución a la gestión de sistemas virtualizados muy grandes. La capacidad de las herramientas que disponen las tecnologías Cloud simplifica la gestión del datacenter. Se podría decir que el Cloud Computing hace homogéneo los sistemas de virtualización existentes, específicamente las infraestructuras como servicio.

PLANTEAMIENTO DEL PROBLEMA
El propósito de este TFC es investigar y hacer una instalación desde cero de un modelo de negocio basado en el alojamiento web usando tecnologías de Cloud Computing. El software open-source que se utilizará para ello será Openstack el cual se basa en un modelo de servicio como infraestructura (IaaS). Nuestra finalidad es poder implementar el modelo IaaS basado en Openstack. Para lleva a cabo este despliegue se hará servir a dos hipervisores (KVM y VMware ESXi) para testear diferentes sistemas de hipervisores trabajando conjuntamente. En segundo lugar, se investigará cómo se podría integrar esta plataforma en una empresa, estudiando qué rendimiento y coste tendría, así como haciendo una comparación con los sistemas actuales en producción, los cuales están compuestos de servidores virtuales y dedicados. La idea de este proyecto es dar una posible solución al gran problema que tienen las empresas de escalabilidad en sus sistemas. El problema es el caos generado en entornos heterogéneos de hipervisores haciendo perder muchos recursos en la administración de los mismos.

OBJETIVOS
General
Estudiar el funcionamiento de las tecnologías de Cloud Computing actuales.
Específicos
• Analizar e instalar un sistema de cloud (IaaS)
• Aprender diferentes sistemas de virtualización
• Evaluar el rendimiento de diferentes tecnologías de virtualización.
• Evaluar el coste real de un despliegue de una infraestructura deCloud.
• Cuantificar costes reales en un despliegue informático.

CRONOGRAMA
Hay que remarcar que la planificación puede variar en el transcurso del proyecto. Al inicio de este se probaran varias tecnologías con el fin de encontrar la mejor opción para llevar a cabo el proyecto. Desgraciadamente esta tarea se puede demorar más de lo que planeado ya que se tratara de buscar un sistema que permitiera alcanzar los objetivos sin que perderse en la complejidad técnica que supone trabajar con una tecnología de esta magnitud. Ahora bien, la búsqueda de la mejor distribución y el estudio posterior serán de gran ayuda para la realización del proyecto ya que permitirá aprender cómo funciona internamente OpenStack

MARCO TEÓRICO
La computación en nube es un nuevo modelo informático donde los recursos son abstractos. Estos últimos pueden ser desde la capacidad de proceso hasta el software que usamos. Los recursos pueden ser configurados remotamente y aprovisionados de una manera más rápida y fácil, ya que una de las características de la computación en nube es la sencillez de gestión para parte del usuario administrador de la misma.
Como diferentes tipos de nube tenemos los privados, los públicos y finalmente los híbridos. A continuación, definimos cada uno de ellos:
• Nube Privada: Es la configuración donde los servicios que utiliza una organización para llevar a cabo sus procesos productivos. los servicios están almacenados e instalados en la misma organización y pueden ser gestionados por ellos mismos o por terceros.
• Nube Público: Es la configuración donde los servicios pueden ser contratados por el público y una empresa privada es la propietaria de la infraestructura, normalmente un ISP.
• Nube Híbrido: Es la mezcla de las dos configuraciones anteriores. Por ejemplo, un sistema de correo en alta disponibilidad de una gran organización redundado en una nube privado y público a la vez.

Ahora definiremos los tipos de servicios proporcionados por la nube, introducidos en la primera figura de este punto. Los definimos a continuación:
• Infraestructura como servicio (IaaS )
La infraestructura como servicio es aquella en la que los usuarios administradores sólo pueden gestionar los recursos, en cambio, no puede modificar la plataforma física. Los usuarios tienen el poder para cambiar, crear dimensionar máquinas, reconfigurar la red, etc. Como inconveniente, no pueden ampliar la plataforma (aumentar los recursos totales disponibles) sin la intervención de la organización que provee la infraestructura.
• Plataforma como servicio (PaaS)
La plataforma como servicio se utiliza para desplegar aplicaciones bajo un determinado sistema fijado por el proveedor de la nube. Las características de la plataforma vienen dadas por uno o varios lenguajes de programación y por diferentes herramientas de desarrollo de software.
• Software como servicio ( SaaS )
El software como servicio es un conjunto de aplicaciones que se pueden acceder mediante el navegador. El usuario de estas aplicaciones no tiene ningún control de lo que hay instalado o en qué servidor se encuentra, es sólo un usuario funcional.

Openstack
Openstack es una nueva tecnología basada en Open Source destinada la creación de nubes privadas y públicas. Openstack es una infraestructura como servicio, más conocida como IaaS, desarrollada por la NASA y la empresa Rackspace en 2010. Openstack nace de la fusión de dos códigos basados en plataforma, el Nebula (NASA) y el Cloud Files (Rackspace). Estos códigos están presentes en las distribuciones de Ubuntu y Red Hat.
En la actualidad más de 150 compañías apoyan este proyecto, son un ejemplo AMD, INTEL, etc. La versión de Openstack que se abordará en este trabajo es Essex y está formada por los módulos:
• Nueva (Compute) – Servicio de procesamiento
• Glance (Image) – Servicio de imágenes
• Swift (Object Storage) – Servicio de almacenamiento
• Horizon (Dashboard) – Servicio web de administración
• Keystone (Identity) – Servicio de autentificación
Nova
El servicio Nueva de Openstack da las herramientas para hacer posible la computación en nube. Estas herramientas incluyen la posibilidad de ejecutar instancias, configurar redes y controlar el acceso de los usuarios y proyectos. Nueva por sí mismo no tiene capacidad de virtualización y para conseguir esta funcionalidad es necesario una API libvirt ‘que permite la comunicación con los hipervisores instalados (KVM)

Glance
El servicio Glance de Openstack proporciona imágenes de las máquinas virtuales. Análogamente a Nova, Glance también utiliza una API para este propósito. Las características principales de Glance son:
• Proporcionar nuevas imágenes
• Listar o consultar las imágenes existentes
• Proporcionar servicios de almacenamiento con terceros (Openstack Object Storage, Amazon S3, etc.)

Swift
El servicio Swift de Openstack tiene la finalidad de crear un entorno de almacenamiento estático muy escalable y redundado. Este servicio no está centralizado y puede llegar a tener miles de Terabytes de información

Horizon El servicio Horizon de Openstack proporciona una interfaz web modular para que los usuarios puedan administrar los servicios proporcionados por Openstack.

Keystone
El servicio Keystone de Openstack proporciona autorización y autentificación para todos los servicios de Openstack. Además, puede desplegar un catálogo de servicios en una instalación particular.

Stackops
Stackops es una distribución Linux basada en Ubuntu preparada para hacer un despliegue de Openstack muy rápido. Esta distribución tiene dos versiones, la comunitaria y la enterprise. Para hacer pruebas de desarrollo y entornos de test (como los que se han usado en la elaboración de este trabajo) es suficiente la versión comunitaria. Por otra parte para instalaciones más robustas y de mayor magnitud se usaría la entreprise (hay puntualizar que esta es de pago). Stackops es una empresa española con sede en Madrid, es un punto a tener en cuenta ya que podremos disfrutar de un apoyo especializado insitu.

Autor: Jazbani