computaci on en la nube: un estudio orientado para el despliegue de arquitecturas de … · del...

18
Computaci´ on en la Nube: Un estudio orientado para el despliegue de arquitecturas de componentes Jes´ us Vallecillos Grupo de Inform´ atica Aplicada, Universidad de Almeria Email: [email protected] La Computaci´ on en la Nube es un concepto relativamente reciente en la literatura, que se ha ido consolidando cada vez m´ as en cualquier ´ ambito y dominio de aplicaci´ on de la ingenier´ ıa inform´ atica, y considerado como un nuevo paradigma tecnol´ ogico para gestionar y ofrecer servicios de terceras partes a trav´ es de Internet. Aunque hoy d´ ıa son muchos los trabajos existentes, este paradigma sigue en constante evoluci´on, apareciendo continuamente en el tiempo nuevas metodolog´ ıas, herramientas, y modelos de computaci´ on en la Nube. El presente documento es el resultado de un estudio realizado de la revisi´ on de los trabajos as destacados en la literatura de la Computaci´ on en la Nube. La selecci´ on de los trabajos se ha realizado en base a aquellos que utilizan la Computaci´ on en la Nube como un mecanismo para el despliegue de Sistemas basados en Arquitecturas. El presente estudio pretende establecer las bases para el desarrollo de una metodolog´ ıa que permita el despliegue en la Nube de interfaces de usuario. A lo largo de este estudio se realiza un recorrido por la computaci´on en la nube, cubriendo los conceptos esenciales, las arquitecturas que definen esta tendencia, las caracter´ ısticas que identifican a este modelo de computaci´ on, algunas tecnolog´ ıas que hacen posible su despliegue. Se estudia y analiza adem´ as los dominios de aplicaci´ on en los cuales se esta explotando la Computaci´on en la Nube. Keywords: Computaci´on en la Nube 1. INTRODUCCI ´ ON En las ´ ultimas d´ ecadas se ha propiciado que en Internet, las t´ ecnicas de procesamiento y las t´ ecnicas de almacenamiento sean recursos computacionales m´ as baratos, m´ as potentes y est´ en m´ as disponibles que nunca. Esta tendencia tecnol´ ogica ha producido el nacimiento de un nuevo modelo de computaci´ on llamado Computaci´on en la Nube (Cloud Computing ), en el cu´ al los recursos (e.g., CPU y almacenamiento) se proporcionan como elementos que pueden tomarse prestados y liberados por los usuarios a trav´ es de Internet en un momento determinado. En un entorno de computaci´ on en la nube, el rol tradicional de proveedor de servicio se convierte en dos: el proveedor de infraestructura que gestiona la plataforma de la nube y lanza los recursos acordes a un modelo de precio basado en uso, y los proveedores de servicios, que alquilan recursos a uno o muchos proveedores de infraestructuras para servir a los usuarios finales. Tambi´ en, la aparici´ on de la computaci´ on en la nube ha producido un tremendo impacto en la industria de las Tecnolog´ ıas de la Informaci´ on (TI), donde grandes compa˜ ıas tales como Google, Amazon y Microsoft se han esforzado en proporcionar m´ as potencia, plataformas seguras y eficientes, y donde las empresas han llevado a cabo un cambio en los modelos de negocio para obtener as beneficios. Estas son algunas de las caracter´ ısticas interesantes que aporta la computaci´ on en la nube: Sin inversi´on inicial : La computaci´ on en la nube usa un modelo de pago por uso. Un proveedor de servicio no necesita invertir en la implantaci´ on de una infraestructura para empezar a obtener beneficios de la computaci´ on en la nube, es decir, no debe preocuparse de desplegar un hardware y un software que le de soporte. Simplemente reserva recursos de la nube acorde a sus propias necesidades y paga por usarlos. Bajo coste de operaci´on : Los recursos computacio- nales en el entorno de la nube pueden ser r´ apida- mente asignados y desasignados bajo demanda. Por tanto, un proveedor de servicios ya no necesita te- ner recursos ociosos esperando la llegada de cargas de trabajo. Ahora un proveedor, en el caso de la llegada de un gran volumen de trabajo, puede so- licitar recursos a otros proveedores por medio de servicios y poder as´ ı satisfacer a sus clientes. Applied Computing Group, Technical Report

Upload: others

Post on 08-Aug-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Computaci on en la Nube: Un estudio orientado para el despliegue de arquitecturas de … · del modelo de computaci on en la nube es que gran parte de la tecnolog a se reaprovecha,

Computacion en la Nube: Un estudioorientado para el despliegue dearquitecturas de componentes

Jesus Vallecillos

Grupo de Informatica Aplicada, Universidad de Almeria

Email: [email protected]

La Computacion en la Nube es un concepto relativamente reciente en la literatura,que se ha ido consolidando cada vez mas en cualquier ambito y dominio deaplicacion de la ingenierıa informatica, y considerado como un nuevo paradigmatecnologico para gestionar y ofrecer servicios de terceras partes a traves deInternet. Aunque hoy dıa son muchos los trabajos existentes, este paradigmasigue en constante evolucion, apareciendo continuamente en el tiempo nuevasmetodologıas, herramientas, y modelos de computacion en la Nube. El presentedocumento es el resultado de un estudio realizado de la revision de los trabajosmas destacados en la literatura de la Computacion en la Nube. La seleccionde los trabajos se ha realizado en base a aquellos que utilizan la Computacionen la Nube como un mecanismo para el despliegue de Sistemas basados enArquitecturas. El presente estudio pretende establecer las bases para el desarrollode una metodologıa que permita el despliegue en la Nube de interfaces de usuario.A lo largo de este estudio se realiza un recorrido por la computacion en la nube,cubriendo los conceptos esenciales, las arquitecturas que definen esta tendencia, lascaracterısticas que identifican a este modelo de computacion, algunas tecnologıasque hacen posible su despliegue. Se estudia y analiza ademas los dominios de

aplicacion en los cuales se esta explotando la Computacion en la Nube.

Keywords: Computacion en la Nube

1. INTRODUCCION

En las ultimas decadas se ha propiciado que enInternet, las tecnicas de procesamiento y las tecnicasde almacenamiento sean recursos computacionales masbaratos, mas potentes y esten mas disponibles quenunca. Esta tendencia tecnologica ha producido elnacimiento de un nuevo modelo de computacionllamado Computacion en la Nube (Cloud Computing),en el cual los recursos (e.g., CPU y almacenamiento)se proporcionan como elementos que pueden tomarseprestados y liberados por los usuarios a traves deInternet en un momento determinado. En un entornode computacion en la nube, el rol tradicional deproveedor de servicio se convierte en dos: el proveedor deinfraestructura que gestiona la plataforma de la nube ylanza los recursos acordes a un modelo de precio basadoen uso, y los proveedores de servicios, que alquilanrecursos a uno o muchos proveedores de infraestructuraspara servir a los usuarios finales. Tambien, la aparicionde la computacion en la nube ha producido untremendo impacto en la industria de las Tecnologıasde la Informacion (TI), donde grandes companıas talescomo Google, Amazon y Microsoft se han esforzado

en proporcionar mas potencia, plataformas seguras yeficientes, y donde las empresas han llevado a caboun cambio en los modelos de negocio para obtenermas beneficios. Estas son algunas de las caracterısticasinteresantes que aporta la computacion en la nube:

Sin inversion inicial : La computacion en la nubeusa un modelo de pago por uso. Un proveedorde servicio no necesita invertir en la implantacionde una infraestructura para empezar a obtenerbeneficios de la computacion en la nube, es decir,no debe preocuparse de desplegar un hardwarey un software que le de soporte. Simplementereserva recursos de la nube acorde a sus propiasnecesidades y paga por usarlos.Bajo coste de operacion: Los recursos computacio-nales en el entorno de la nube pueden ser rapida-mente asignados y desasignados bajo demanda. Portanto, un proveedor de servicios ya no necesita te-ner recursos ociosos esperando la llegada de cargasde trabajo. Ahora un proveedor, en el caso de lallegada de un gran volumen de trabajo, puede so-licitar recursos a otros proveedores por medio deservicios y poder ası satisfacer a sus clientes.

Applied Computing Group, Technical Report

Page 2: Computaci on en la Nube: Un estudio orientado para el despliegue de arquitecturas de … · del modelo de computaci on en la nube es que gran parte de la tecnolog a se reaprovecha,

2 J. Vallecillos

Altamente escalable: Los proveedores de infraes-tructura juntan gran cantidad de recursos en elcentro de procesamiento de datos, lugar donde seconcentran los recursos para el procesamiento de lainformacion (cluster, sistemas de almacenamiento,refrigeracion, etc.), y hacen estos recursos muy ac-cesibles. De esta manera, un proveedor de serviciospuede expandir sus servicios rapidamente cuandoestos tienen una gran demanda sin tener que preo-cuparse de elementos relacionados con la infraes-tructura. Este concepto es a veces nombrado olea-da de computacion [Fox et al., 2009].Facil acceso: Los servicios localizados en la nubeson generalmente basados en web. Por lo tanto,son facilmente accesibles a traves de gran variedadde dispositivos con conexion a Internet. Estosdispositivos no solo incluyen PCs y portatiles, sinotambien smart phones y PDAs.Reduccion de riesgos economicos y mantenimiento:Instalando la infraestructura en la nube, unproveedor de servicios cambia sus riesgos denegocio (tales como fallos en el hardware) alproveedor de infraestructura que le da soporte.Los proveedores de infraestructura tienen mashabilidades y estan mejor equipados para gestionarestos riesgos. Ademas, un proveedor de serviciosreduce ası el mantenimiento de hardware y el costede formacion de personal.

En el estudio realizado en [Vaquero et al., 2008],destacan sobre todo como la computacion en la nubese asocia con un nuevo concepto para proporcionarinfraestructura de computacion que pueda ser ofrecidaa traves de la red. Por tanto, este concepto cambiala localizacion de la infraestructura con el objetivo dedisminuir el coste asociado con la gestion de recursoshardware y software [Hayes, 2008]. Podemos destacartambien que la computacion en la nube se centra enlas tecnologıas de la informacion y la comunicacion,gracias a la aparicion de un conjunto de serviciosagrupados por niveles, y que son proporcionados todosellos a traves de Internet. Otro elemento a destacardel modelo de computacion en la nube es que granparte de la tecnologıa se reaprovecha, como es lavirtualizacion, el grid computing, SOA, Web 2.0, etc.ademas de las nociones de acceso transparente arecursos a traves de pago por uso, donde se debeconfiar en la infraestructura gestionada por terceraspartes. La computacion en la nube ademas, es especialpor otras muchas cualidades que veremos a lo largode este trabajo. Uno de los inconvenientes que se lepuede detectar al concepto de computacion en la nubees que realizar un compendio de tantas tecnologıas,ha producido que la computacion en la nube genereun panorama de confusion general, al no quedar claroque elementos tecnologicos constituyen este modelo decomputacion [Hwang, 2008] [Hayes, 2008].

En el presente trabajo se realiza un estudio dela literatura en “Cloud Computing” (Computacionen la Nube) el cual pretende identificar y unificardefiniciones, ambitos de aplicacion, tecnologıas masfrecuentes, y caracterısticas que los unen. Ademas, elestudio se ha realizado como interes en el Grupo deInvestigacion de Informatica Aplicada de la Universidadde Almerıa para aplicar la Computacion en la Nubecomo medio para resolver una metodologıa parael despliegue de interfaces de usuario basadas encomponentes y en tiempo de ejecucion. Por tanto, elestudio realizado se ha centrado especialmente en laindagacion de bibliografıa que en cierta medida usala Nube como medio para el despliegue de algunainfraestructura. En lo que resta del artıculo, parasimplificar, usaremos indistintamente el termino Nubeo “Computacion en la Nube” para referirnos al segundo.

El trabajo queda estructurado de la siguiente forma.En la Seccion 2 se han tratado las definiciones de lanube para dejar claro el marco en el que se mueveeste modelo de computacion. A continuacion vamos atratar en la Seccion 3 las cualidades de la computacionen la nube, centrandonos en sus arquitecturas desdeel punto de vista de negocio, de su descomposicionen capas tecnologicas y los tipos que nos podemosencontrar. Ademas, en esta seccion tambien veremoslas caracterısticas que hacen especial a este modelo decomputacion, finalizando la seccion con un apartadoen el que se tratan las tecnologıas que se puedenencontrar para desplegar una nube. En la Seccion 4se hace un estudio sobre los dominios en los cuales seesta explotando el modelo de computacion en la nube,pudiendose observar claramente dos grandes campos,como son las aplicaciones cientıficas y el negocio, y lasaplicaciones consumidor. Para finalizar, en la Seccion5 se presentan algunas consideraciones finales comoconclusiones del estudio realizado.

2. DEFINICIONES DE LA NUBE

En esta seccion pretendemos definir claramenteque se entiende por el concepto de computacion en lanube. Tal y como se comenta en [Zhang et al., 2010],la idea principal de la computacion en la nube no esalgo novedoso. John McCarthy en 1960 ya dijo quelos recursos computacionales serıan proporcionadospara ser publicados como una utilidad [Parkhill, 1966].El termino nube ha sido tambien usado en varioscontextos como para describir grandes redes ATMen 1990. Sin embargo cuando Eric Schmidt, siendoCEO de Google en el ano 2006, uso el termino paradescribir un modelo de negocio que proporciona ser-vicios a traves de Internet. Fue entonces cuando eltermino empezo a ganar popularidad. Desde entonces,el termino de computacion en la nube ha sido usadoprincipalmente como un termino de marketing en unavariedad de contextos para representar muchas ideasdiferentes. Concretamente, la falta de una definicion

Applied Computing Group, Technical Report

Page 3: Computaci on en la Nube: Un estudio orientado para el despliegue de arquitecturas de … · del modelo de computaci on en la nube es que gran parte de la tecnolog a se reaprovecha,

Un estudio de la Computacion en la Nube 3

estandar de computacion en la nube ha generado nosolo un termino de moda, sino tambien mucho escepti-cismo y confusion. Por esta razon, ha habido trabajospara estandarizar la definicion de computacion en lanube. Un ejemplo de estos trabajos se puede obser-var en [Vaquero et al., 2008], donde ademas se hablasobre ciertos aspectos de la tecnologıa basandose en[Hwang, 2008] [McFredries, 2008] [Begin et al., 2008][Buyya et al., 2008]. En [Vaquero et al., 2008] sereunen mas de 20 definiciones (ver Tabla 1) diferentesrealizadas por expertos con el objetivo de obtener undenominador comun y obtener una definicion estandar.Por ejemplo, Mark Klems menciona que la escalabi-lidad inmediata y la optimizacion de uso de recursosson elementos claves para la nube. Otros autores noestan de acuerdo con que estos requerimientos seansuficientes para que una infraestructura sea conside-rada como nube. Algunos autores se centran en unmodelo de negocio (colaboraciones y pago por uso) y lareduccion en gastos de capital (Jeff Kaplan y ReuvenCohen). Otro objetivo principal para la nube es apor-tar facilidades a los usuarios a la hora de usar recursos.Buyya en [Buyya et al., 2008] anadio que la corrientede busqueda comercial es necesaria para fortalecer elrole de Acuerdos por Nivel de Servicio (Service-LevelAgreements, SLAs) entre el proveedor de servicio y losconsumidores del servicio. Creen que los SLAs deberıanser tambien establecidos entre el proveedor de servicioy el proveedor de infraestructura para proporcionarcertificados de garantıa de Calidad de Servicio (Qua-lity of Service, QoS). Muy recientemente, McFedries[McFredries, 2008] describio el centro de procesamientode datos de la nube como una unidad basica de la nubeque ofrece una cantidad enorme de almacenamiento ypoder computacional usando recursos de repuesto. Estadefinicion se relaciona con el concepto de escalabilidadde datos masivos propuesto por Hand [Hand, 2007].

Por otra parte, la nube ha sido definida como la vir-tualizacion de hardware y software previa a la monitori-zacion y provision de tecnologıas (vease Douglas Gour-lay y Kirill Sheynkman en [Geelan, 2008]). Otros exper-tos (vease las definiciones de Reuven Cohen, PraisingGaw, Dawon Edwards, Ben Kepes en [Geelan, 2008])no insisten en las cualidades de la nube, pero mas biencreen que la computacion en la nube es un “termino demoda” que abarca una amplia variedad de aspectos ta-les como despliegue, balanceo de carga, almacenamientode datos y procesamiento externo. En la Tabla 1 pode-mos ver algunas de las definiciones que han sido reco-piladas en [Vaquero et al., 2008].

Continuando con definiciones sobre la computacionen la nube, en [Vaquero et al., 2008] hacen unapropuesta de definicion donde tienen en cuenta a la horade su eleboracion diferentes definiciones desarrolladaspor autores importantes. Teniendo en cuenta que elconcepto de computacion en la nube cambia, dicenque hoy en dıa se concibe como: “La nube es ungran conjunto de recursos facilmente utilizables y

virtualizados (tales como hardware, plataformas dedesarrollo o servicios). Estos recursos pueden serdinamicamente reconfigurados para ajustarse a unacarga variable, permitido tambien una optimizacion dela utilizacion de los recursos. Este conjunto de recursoses normalmente explotado por un modelo de pago poruso, el cual se ofrece de forma segura a traves deun proveedor de infraestructura de clientes SLAs”.El amplio termino de la computacion en la nube esresumido en [Mell and Grance, 2011] de la siguientemanera: “La computacion en la nube es un modelopara habilitar convenientemente, el acceso a redes quecontienen un conjunto de recursos configurables quepueden ser rapidamente proporcionados y lanzados conel mınimo esfuerzo de gestion.” Ademas, el InstitutoInternacional de Estandares y Tecnologıas (TheNational Institute of Standards and Technology, NIST)ha aportado una definicion [Mell and Grance, 2011] quedice lo siguiente: “la computacion en la nube es unmodelo para proporcionar comodidad, que permite daracceso a redes que contienen un conjunto de recursoscomputacionales configurables (e.g., redes, servidores,almacenamiento, aplicaciones y servicios)”.

Por tanto, haciendo un resumen del conjunto dedefiniciones tratadas anteriormente podemos decir que“la computacion en la nube es un modelo computacionalque reune un conjunto de tecnologıas Web, muchas delas cuales ya existentes, cuyo objetivo es facilitar el usode recursos en la red y ademas poder ser ofrecidos bajopago por demanda en funcion de las necesidades de losusuarios finales”. La razon por la cual existen tantaspercepciones diferentes de la computacion en la nubey lo hace confuso es porque este modelo computacionalreune gran cantidad de recursos tecnicos para definir unmodelo que permita gestionar negocios tecnologicos deuna forma diferente.

3. CUALIDADES DE LA NUBE

Esta seccion describe las cualidades del modelo decomputacion en la Nube. Para ello, existe un apartadodedicado a describir la arquitectura por la cual sedefine la computacion en la nube desde diferentesperspectivas, otro para hablar de las caracterısticas quehacen especial y unico a este modelo de computacion,terminando con un apartado que recopila una serie detecnologıas que hacen posible el despliegue de una nube.

3.1. Arquitectura de Nube

Ahora vamos a profundizar en el modelo computacio-nal de la nube tal y como se ve en [Zhang et al., 2010].Para ello, se va a llevar a cabo un estudio de la arquitec-tura de computacion en la nube vista desde un modelobasado en capas, desde un modelo basado en negocio,y en funcion del tipo de nube que se puede crear.

Applied Computing Group, Technical Report

Page 4: Computaci on en la Nube: Un estudio orientado para el despliegue de arquitecturas de … · del modelo de computaci on en la nube es que gran parte de la tecnolog a se reaprovecha,

4 J. Vallecillos

CUADRO 1. Definiciones de NUBEAutor/Referencia Ano Definicion-Extracto

M. Klems [Geelan, 2008] 2008 ...a traves de la computacion en la nube puedes escalar tu infraestructura en minutos e incluso

segundos, en lugar de dıas o semanas, ası evitas obtener servidores ociosos y sobrecargas en los

recursos locales...

R. Buyya [Geelan, 2008] 2008 Una nube es un tipo de sistema paralelo y distribuido que consiste en una coleccion de

interconexion y computadoras virtualizadas que estan ofertadas dinamicamente como uno o mas

recursos computacionales unificados, que han sido distribuidos en niveles de servicios con acuerdos

establecidos a traves de negociaciones entre proveedores de servicios y consumidores.

R. Cohen [Geelan, 2008] 2008 La computacion en la nube es una de esas palabras de moda que intentan abarcar una variedad

de aspectos que van desde despliegue, balanceo de carga, aprovisionamiento, modelos de negocio

y arquitecturas (como Web 2.0). Es el siguiente paso logico en el software (software 10.0). Para

mi la definicion mas simple de computacion en la nube se describe como software centrado en...

Internet...

J. Kaplan [Geelan, 2008] 2008 Un conjunto amplio de servicios basados en web tenıan como objetivo permitir a los usuarios

obtener un amplio rango de utilidades funcionales en base a un pago por uso que previamente

requerıa tremendas inversiones de hardware/software y la adquisicion de habilidades profesionales.

La computacion en la nube es la idea original de usar procesamiento sin tecnicas complejas o sin

preocuparse de desplegar compilaciones...

D. Gourlay [Geelan, 2008] 2008 ...es el siguiente termino de moda... lo definirıa como la opcion de construir modelos software que

habilitan virtualizacion.

D. Edwards [Geelan, 2008] 2008 La computacion en la nube que permite aprovechar la infraestructura web a gran escala en funcion

de la demanda...

B. de Haff [Geelan, 2008] 2008 Hay realmente solo 3 tipos de servicios en los que se basa la nube: SaaS, PaaS, e infraestructuras

de computacion en la nube.

B. Kepes [Geelan, 2008] 2008 La computacion en la nube es simplemente el cambio de paradigma de infraestructura que habilita

la posibilidad de hacer uso del SaaS... Es un amplio repertorio de servicios basados en Web cuyo

objetivo es permitir a los usuarios obtener un rango amplio de cualidades funcionales en base a un

pago por uso que previamente requiere tremendas inversiones de hardware/software y habilidades

profesionales para obtenerlo.

K. Sheynkman [Geelan, 2008] 2008 La nube se centra en hacer accesible la capa de hardware para la computacion demandada y las

necesidades de almacenamiento. Este es un primer paso importante, pero para companıas que

manejan el potencial de la nube, la completa infraestructura de aplicacion necesita ser facilmente

configurable, desplegable, escalable dinamicamente y gestionada en este entorno hardware de

virtualizacion.

O. Sultan [Geelan, 2008] 2008 En un entorno Data Center 3.0 completamente implementado, se puede decidir que una app se

ejecute corra localmente, o en un centro de datos y se puede cambiar la perspectiva rapidamente

en el caso de tener una limitacion de recursos en el centro de datos. De hecho, con automatizacion,

muchas de estas decisiones pueden ser hechas a traves de triggers en tiempo real.

J. Pritzker [Geelan, 2008] 2008 La nube son grandes aglomeraciones de recursos con una localizacion determinada a partir de la

cual se demandan recursos que son virtualizados y valorados como utilidades.

T. Doerksen [Geelan, 2008] 2008 La computacion en la nube es la version amigable para los usuarios del Grid computing.

T. von Eicken [Geelan, 2008] 2008 Localizacion externa de la computacion a traves de pago por uso, en demanda, en cualquier lugar

de Internet, etc.

T. Sheedan [Geelan, 2008] 2008 Paradigma Nube ayuda a diferenciar las diferentes ofertas de las que dispone la Nube. Estructurada

en: SaaS, PaaS, y IaaS.

A. Ricadela [Geelan, 2008] 2008 Los proyectos de computacion en la nube son mas poderosos y a prueba de fallos que los sistemas

Grid Computing recientemente desarrollados.

B. Martin [Geelan, 2008] 2008 La computacion en la nube incorpora algunos servicios base de subscripciones o pago por uso que,

en tiempo real sobre Internet, extienden de utilidades existentes de la TI.

G. Gruman [Geelan, 2008] 2008 La nube es todo lo relacionado con: SaaS... computacion util... Servicios Web... PaaS... integracion

en Internet... plataformas comerciales...

P. McFedries [Geelan, 2008] 2008 La computacion en la nube, en la cual residen nuestros datos pero nunca sabemos donde reside el

software, podemos acceder a ella a traves PCs y dispositivos relacionados con la nube, tales como

smart phones, PDAs...

3.1.1. Modelo de capas de la NubeDesde el punto de vista del modelo de capas, la

arquitectura del entorno de computacion en la nube sepuede dividir en 4 capas: la capa hardware/centro dedatos, la capa de infraestructura, la capa de plataformay la capa de aplicacion, como muestra la Figura 1.

La Capa hardware es la responsable de gestionar losrecursos fısicos de la nube, incluyendo servidores fısicos,routers, switchs, energıa y sistemas de refrigeracion. Enla practica, la capa hardware se implementa en el centrode procesamiento de datos, lugar donde se concentranlos recursos para el procesamiento de la informacion. Uncentro de procesamiento de datos contiene normalmente

miles de servidores organizados. Los problemas tıpicosen la capa hardware incluye configuracion hardware,tolerancia a fallos, gestion del trafico, gestion de energıay refrigeracion.

La Capa de infraestructura, tambien conocida comocapa de virtualizacion. Esta capa se encarga de crear unconjunto de recursos de almacenamiento y computacionpara dividir los recursos fısicos. Para ello, se usanrecursos de virtualizacion tales como Xen1 y KVM2. Lacapa de infraestructura es un componente esencial de la

1http://www.xensource.com2http://www.linux-kvm.org/page/MainPage

Applied Computing Group, Technical Report

Page 5: Computaci on en la Nube: Un estudio orientado para el despliegue de arquitecturas de … · del modelo de computaci on en la nube es que gran parte de la tecnolog a se reaprovecha,

Un estudio de la Computacion en la Nube 5

FIGURA 1. Arquitectura de la computacion en la nube [Zhang et al., 2010].

computacion en la nube, por muchas razones, entre lasque se encuentra la asignacion de recursos dinamicos,que estan solo disponibles a traves de tecnologıas devirtualizacion.

Por encima de la capa de infraestructura, esta laCapa de plataforma formada por sistemas de operaciony framework de aplicacion. El proposito de la capade plataforma es minimizar la carga para desplegarlas aplicaciones directamente en maquinas virtuales.Por ejemplo, Google App Engine opera en la capa deplataforma para dar soporte a traves de una API paradesplegar almacenamiento, base de datos y logica denegocio de aplicaciones web tıpicas.

Por ultimo, la Capa de aplicacion es el nivel masalto de la jerarquıa. Esta formada por aplicacionesdesplegadas en la nube. A diferencia de las aplicacionestradicionales, las aplicaciones en la nube se caracterizanpor tener un alto nivel de escalabilidad en el desarrollo,una alta disponibilidad y un bajo coste de operacion.

Comparado a entornos de almacenamiento deservicios tradicionales tales como granjas de servidores,la arquitectura de la computacion en la nube es masmodular. Cada capa esta acoplada con la de abajo y lade arriba, permitiendo a cada capa evolucionar de formaindependiente. Es similar al diseno del modelo OSI paraprotocolos de red. El modelo arquitectonico permite ala computacion en la nube soportar un amplio rango deaplicaciones mientras reduce la sobrecarga.

3.1.2. Modelo de negocioTal y como se comenta en [Zhang et al., 2010], la

computacion en la nube tambien se puede ver desdeun modelo de negocio orientado a servicios. En otraspalabras, recursos que se proporcionan como serviciostratados bajo demanda. Conceptualmente, cada capade la arquitectura descrita en la seccion anterior puedeser implementada como un servicio para ser puesta adisposicion de otra capa que desee utilizarla. Cada capapuede ser percibida como un cliente que hace uso de losrecursos de otra capa, o como proveedor que oferta los

recursos de su capa para que sean usados. De esta forma,los servicios de la nube ofrecidos pueden agruparseen tres categorıas: software como un servicio (SaaS),plataforma como un servicio (PaaS), e infraestructuracomo un servicio (IaaS). En [Vaquero et al., 2008]realizan un breve resumen muy interesante de cada capaen el cual nos hemos basado.

— Infraestructura como un Servicio (IaaS): Los pro-veedores de infraestructura gestionan un gran con-junto de recursos computacionales que van desde elprocesamiento al almacenamiento. A traves de estenivel, se puede crear una virtualizacion donde losproveedores de infraestructura pueden dividir, asig-nar y redimensionar dinamicamente estos recursospara construir sistemas ad-hoc bajo demanda quesean ofertados a los usuarios. Algunos ejemplos deproveedores de IaaS son Amazon EC23, GoGrid4 yFlexicable5.

— Plataforma como un Servicio (PaaS): En lacomputacion en la nube se puede ofrecer unnivel de abstraccion adicional situado por encimade la infraestructura. Este nivel, proporcionauna plataforma software virtualizada donde seejecutan los sistemas software. Ademas el nivelde plataforma, permite que la ejecucion de losservicios se haga de manera transparente sin quelos usuarios se percaten. Algunos ejemplos deproveedores de PaaS son Google App Engine6,Microsoft Windows Azure7 y Force.com8.

— Software como un Servicio (SaaS): Por ultimo, estael nivel del software como un servicio. Este niveles el encargado de desplegar los servicios web yde ofertarlos a los usuarios finales. A traves delos servicios desplegados en este nivel, se pueden

3http://aws.amazon.com/4http://www.gogrid.com/5http://www.flexiscale.com/6http://code.google.com/appengine7http://www.salesforce.com/platform/8http://www.windowsazure.com

Applied Computing Group, Technical Report

Page 6: Computaci on en la Nube: Un estudio orientado para el despliegue de arquitecturas de … · del modelo de computaci on en la nube es que gran parte de la tecnolog a se reaprovecha,

6 J. Vallecillos

ejecutar aplicaciones online ofreciendo ası unaalternativa a la ejecucion local de aplicaciones.Como ejemplos de proveedores de SaaS tenemosSalesforce.com9, Rackspace10 y SAP BusinessByDesign11.

FIGURA 2. Modelo de negocio de la computacion en lanube [Zhang et al., 2010].

El modelo de negocio de la computacion en la nubese puede ver representado en la Figura 2. Segun elmodelo de negocio de la computacion en la nube,es completamente posible que un proveedor de PaaSejecute su plataforma en un proveedor de IaaS. Sinembargo, los proveedores de IaaS y PaaS suelenser parte de la misma organizacion (e.g., Google ySalesforce). Esto es por lo que PaaS y IaaS se llamana menudo proveedores de infraestructura y proveedoresde nube [Fox et al., 2009].

3.1.3. Tipos de nubesEn funcion del tipo de acceso a una nube se pue-

de realizar una clasificacion del modelo de compu-tacion. Esta clasificacion se puede ver, detallada en[Zhang et al., 2010]. Ellos comentan como algunos pro-veedores de servicios estan mayoritariamente interesa-dos en operaciones de bajo coste, mientras que otrospueden estar interesados en alta rentabilidad y seguri-dad. Para potenciar una cualidad u otra el tipo de ac-ceso a la nube debe de ser diferente. A continuacion seva a ver esta clasificacion en funcion del tipo de acceso:

Nubes publicas: Es una nube en la cual losproveedores de servicios ofrecen recursos al publicoen general a traves de servicios. Las nubespublicas ofrecen varios beneficios clave para losproveedores de servicios, incluyendo no necesitarinvertir inicialmente capital. Sin embargo, lasnubes publicas carecen de control sobre los datos,no llevan a cabo un control de las redes ni de laconfiguracion de seguridad, lo que las hace pocoeficientes en muchos escenarios de negocio.Nubes privadas: Tambien conocidas como nubesinternas, se disenan para ser usadas a traves deuna organizacion simple. Una nube privada puede

9http://www.salesforce.com/10http://www.rackspace.com/11http://www.sap.com

ser construida y gestionada por la organizaciono por el proveedor externo. Ofrecen un altogrado de control sobre el desarrollo, confiabilidady seguridad. Son a menudo criticadas por sersimilares a los tradicionales propietarios de clusterde servidores y no proporcionar beneficios poradelantado.Nubes hıbridas: Son una combinacion de modelosde nubes publicas y privadas que intentan resolverlas limitaciones de cada propuesta. En una nubehıbrida, parte de la infraestructura de serviciosse ejecuta en la nube privada mientras la parterestante se ejecuta en la parte publica. Las nubeshıbridas ofrecen mas flexibilidad que las nubespublicas y privadas. Especialmente, proporcionanun estricto control de seguridad si las comparamoscon las nubes publicas, ademas de facilitar sucrecimiento y decrecimiento. El inconveniente, seencuentra a la hora de disenar una nube hıbrida yaque requiere tener mucho cuidado cuando se van adividir los componentes que se van a localizar en laparte publica y privada.Nubes privadas virtuales: es esencialmente unaplataforma virtual que se ejecuta por encima delas nubes publicas. La principal diferencia quepresenta es que la tecnologıa de cada una de lascapas permite a los proveedores de red disenar supropia topologıa y configuracion de seguridad comopueden ser las reglas del fireware.

Dependiendo del escenario de negocio que se quieredesplegar, se debe de seleccionar un modelo de nube uotro. Por ejemplo, las aplicaciones cientıficas que hacenuso de computacion intensiva estan mejor desplegadasen nubes publicas para obtener costes computacionalesmas bajos. Actualmente, podemos conocer que tiposde nubes estan mas extendidas que otras. Ademas, sepredijo que las nubes hıbridas seran el tipo de nube quedominara las organizaciones12. Sin embargo, las nubesprivadas han comenzado a ganar mas popularidad desdesu nacimiento en 2009.

3.2. Computacion Nube: Caracterısticas

Es interesante saber por que puede ser util hacer usodel modelo de computacion en la nube y que ventajasaporta con respecto a otros modelos de computacion.Para ello, habrıa que conocer aquellos elementosque hacen el modelo de computacion en la nubeespecial con respecto a otros modelos de computacion.En [Zhang et al., 2010] hacen un desglose de lascaracterısticas que definen la computacion en la nube.Veamos esas caracterısticas a continuacion:

Multi-tendencia: Las cuestiones de desarrollo ygestion de los servicios que oferta la nube secomparten entre los proveedores de servicios y los

12http://en.wikipedia.org/wiki/Cloud-computing

Applied Computing Group, Technical Report

Page 7: Computaci on en la Nube: Un estudio orientado para el despliegue de arquitecturas de … · del modelo de computaci on en la nube es que gran parte de la tecnolog a se reaprovecha,

Un estudio de la Computacion en la Nube 7

proveedores de infraestructura. La arquitectura decapas de la computacion en la nube proporcionauna division de responsabilidades: los propietariosde cada capa solo necesitan centrarse en cumplirlos objetivos de esa capa. Sin embargo, la multi-tendencia tambien introduce dificultades a la horade comprender y gestionar la interaccion entrevarias de las partes interesadas.Conjunto de recursos compartido: Los proveedoresde infraestructura ofrecen un conjunto de recursoscomputacionales que puede ser dinamicamenteasignados a multiples consumidores de recursos.La capacidad de asignar recursos dinamicamenteproporciona mucha flexibilidad a los proveedoresde infraestructura para gestionar su propio usode recursos y costes de operacion. Un proveedorde IaaS tambien puede migrar hacia MaquinasVirtuales para alcanzar un alto grado de solidezen el servidor, consiguiendo ası maximizar lautilizacion de los recursos y reducir al mınimo elgasto de energıa y refrigeracion.Geo-distribucion y acceso a redes ubicuas: Lanube esta generalmente accesible a traves deInternet como un servicio liberado en la red.Por tanto, cualquier dispositivo con conexion aInternet, pudiendo ser un telefono movil, unaPDA o un portatil, puede acceder a servicios dela nube. Ademas, para lograr un alto desarrollode red, muchas de las nubes de hoy en dıaestan formadas por centros de procesamiento dedatos localizados alrededor del mundo entero. Unproveedor de servicio puede facilmente potenciar lageo-diversidad para lograr maximizar la utilidad delos servicios.Orientado a servicios: La computacion en lanube adopta un modelo de operacion orientadoa servicios. En la nube, cada proveedor de IaaS,PaaS y SaaS ofrece sus servicios acorde al acuerdonegociado con los consumidores.Aprovisionamiento dinamico de recursos: Unade las caracterısticas claves de la computacionen la nube es que los recursos computacionalespueden ser obtenidos y liberados en el momento.La provision dinamica de recursos permite alos proveedores de recursos adquirir recursos enfuncion de la cantidad demandada, lo cual dismi-nuye considerablemente los costes de operacion.Auto-organizacion: Desde que los recursos puedenser asignados y desasignados, los proveedores deservicios toman el control de la gestion del consumode recursos en funcion de sus propias necesidades.Ademas, la gestion automatica de recursos aportagran agilidad, lo que hace posible que losproveedores de servicios respondan rapidamente acambios en la demanda de servicios como puedenser los picos computacionales.Uso basado en precio: La computacion en lanube despliega un modelo de pago por uso. La

programacion del precio exacto puede variar deun servicio a otro. Por ejemplo, un proveedor deSaaS puede alquilar una maquina virtual a unproveedor de IaaS por un precio determinado.El uso basado en precio hace mas asequible elacceso a los recursos computacionales para losclientes con pocas oportunidades economicas. Sinembargo, esto tambien introduce complejidades ala hora de controlar los costes de operacion. Peropara ello, existen empresas como VKernel13 queproporcionan software que ayuda a comprender alos consumidores de la nube, permiten analizarlosy ası establecer los costes en el consumo de losrecursos.

3.3. Tecnologıas de Nube

A continuacion, vamos a realizar una enumeracion delas diferentes tecnologıas que hemos identificado parala elaboracion de este estudio. Durante la busqueda noshemos centrado en identificar tecnologıas que permitandesplegar computacion en la nube. Estas tecnologıashacen posible que se cumplan ciertas cualidades dela computacion en la nube cuando son desplegadas.Con el objetivo de realizar una mejor clasificacion dela arquitectura que abarca cada una de ellas se haconstruido la Tabla 2 donde se clasifica cada tecnologıapor nombre, organizacion que la desarrolla, modelo denegocio/capa de arquitectura que cubre y el tipo denube que permite desplegar.

IaaS/I

58%

PaaS/P

10%

SaaS/S

32%

FIGURA 3. Porcentaje de tecnologıas ubicadas en cadaModelo de Negocio.

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

Pública Privada Híbrida Virtual

FIGURA 4. Porcentaje de tecnologıas que despliegan cadatipo de Nube.

13www.vkernel.com/products/EnterpriseChargebackVirtualAppliance

Applied Computing Group, Technical Report

Page 8: Computaci on en la Nube: Un estudio orientado para el despliegue de arquitecturas de … · del modelo de computaci on en la nube es que gran parte de la tecnolog a se reaprovecha,

8 J. Vallecillos

NAo Nombre Organizacion Modelo/Capa Tipos de nubeIaaS/I PaaS/P SaaS/S Publica Privada Hıbrida Virtual

1 Abiquo www.abiquo.com X × × X X X ×2 Aneka www.manjrasoft.com × × X X X X X3 Basecamp cloudtaxonomy.opencrowd.com × × X × X ×4 Bitnami bitnami.org × × X X X X X5 CA 3Tera AppLogic www.ca.com × X × X X X ×6 CloudStack www.cloudstack.com X × × X X X X7 Collectd collectd.org X × × × X × ×8 ControlTier www.controltier.org X × × X X X X9 Dropbox www.dropbox.com × × X × X × ×10 Convirture ConVirt www.convirture.com X × × X X X X11 Enomaly Elastic Computing src.enomaly.com X × × X X X X12 Eucalyptus www.eucalyptus.com X × × × × X ×13 Extility Flexiant www.flexiant.com X × × X X X X14 EyeOS www.eyeos.com × × X X × × ×15 Google App Business www.google.es × × X X X X ×16 Google App Engine appengine.google.com × X × X X X ×17 Google BigQuery developers.google.com × × X × X ×18 Google Docs www.google.com × × X X × × ×19 Hadoop hadoop.apache.org × × X X X X X20 HP CloudSystem www8.hp.com X × × X X X ×21 IBM CloudBurst www-01.ibm.com X × × X X X ×22 IBM Cognos www-03.ibm.com × × X X X X X23 iCloud www.icloud.com × × X × X × ×24 Incontinuum CloudController www.incontinuum.com X × × X X X X25 Microsoft Business Productivity www.microsoft.com × × X X X X ×26 Microsoft Windows Azure www.windowsazure.com × X × X X X ×27 Nimbula Director nimbula.com X × × × X X ×28 OnApp onapp.com X × × X X X X29 OpenNebula opennebula.org × X × X X X X30 OpenQRM www.openqrm.com X × × X X X ×31 OpenStack www.openstack.org X × × X X X ×32 Opscode Chef www.getchef.com X × × X X X ×33 Parallels Automation Cloud Inf. www.parallels.com X × × X X X X34 Puppet reductivelabs.com X × × X X X ×35 StackOps www.stackops.com X × × X X X ×36 VMware vCloud www.vmware.com X × × × X × ×37 Xen www.xen.org X × × X X X ×38 Zenoss community.zenoss.org X × × X X X X

22 4 12 30 35 30 14

CUADRO 2. Tecnologıas de la NUBE.

Segun los datos que se pueden observar en laFigura 3, el 58 % de las tecnologıas localizadas paraeste estudio se centran en la posibilidad de desplegaruna Infraestructura para ofrecerla como un servicioa los usuarios finales. El 32 % ofrecen Software comoservicios, como por ejemplo es el caso de Dropboxque despliegan un software para crear tu propia nubeen la cual puedes tener localizados y accesibles tusficheros desde cualquier dispositivo. El 10 % restante,permite ofrecer la Plataforma como un servicio en elcaso de querer desplegar por encima alguna aplicacionbajo este modelo de computacion. De estos resultadospodemos concluir que la mayorıa de la tecnologıaofrecida se centra en el despliegue de Infraestructura,para posteriormente poder ser ofrecida. Con respectoal tipo de nube que podemos crear con las tecnologıastratadas tal y como se ve en la Figura 4, el 79 %permiten crear nubes publicas e hıbridas. De lo quepodemos concluir que siempre y cuando una tecnologıaofrezca la creacion de una nube publica probablementelo hara tambien a una privada, pudiendo ası desplegaruna nube hıbrida. El 92 % de las tecnologıas despliegannubes privadas para un uso personal o empresarial.Por ultimo, el 37 % permiten desplegar nubes privadasvirtuales, cifra que se puede interpretar como resultadode que es mas complejo localizar tecnologıas dedicadasal despliegue de nubes privadas virtuales.

4. DOMINIOS DE APLICACION

Se pretenden identificar dominios de aplicacion quehacen uso de la computacion en la nube porque sequiere observar en que ambitos se hace uso de estemodelo de computacion. El proposito de esta busquedaes ver si se ha aplicado el modelo de computacionen la nube para resolver problemas relacionados conlas interfaces de usuario. En [Buyya et al., 2013] sehace un estudio acerca de los dominios de aplicacionque hacen uso de la computacion en la nube. Paraalgunos casos estudio de ese trabajo tambien tratan suarquitectura y como dichos casos estudio han impulsadoeste modelo de computacion. Son aplicaciones quese mueven en un rango de dominio, que van desdela ciencia y la ingenierıa, a juegos y redes sociales.Este conjunto de aplicaciones las hemos agrupadode la siguiente manera, se han creado dos grandesbloques llamados Aplicaciones cientıficas y Negocioy aplicaciones consumidor. Dentro de las aplicacionescientıficas hemos creado otros grupos que son la Salud,la Biologıa, la Geociencia, la Educacion y la Interaccionhombre maquina. En el apartado del negocio y lasaplicaciones consumidor tenemos el CRM y ERP,aplicaciones relacionadas con la productividad, las Redessociales, las aplicaciones multimedia, los juegos onlinemultijugador y la Inteligencia de negocio. Al final deldocumento, la Tabla 3 muestra un resumen de losdominios de aplicacion que se describen a continuacion.

Applied Computing Group, Technical Report

Page 9: Computaci on en la Nube: Un estudio orientado para el despliegue de arquitecturas de … · del modelo de computaci on en la nube es que gran parte de la tecnolog a se reaprovecha,

Un estudio de la Computacion en la Nube 9

4.1. Aplicaciones cientıficas

Las aplicaciones cientıficas es un sector en el cualse esta incrementando el uso de sistemas y tecnologıasde la nube. Algunos de los beneficios que aporta lacomputacion en la nube se ve reflejado en la ayudaque aporta a los proyectos de investigacion. Hacenposible que los proyectos tengan acceso a recursos decomputacion y almacenamiento a precios asequibles.Los sistemas de computacion en la nube encuentrandiferentes necesidades que cubrir dependiendo deldominio cientıfico. Dentro de estas necesidades seencuentra la computacion de alto rendimiento ylas aplicaciones de gestion masiva de datos. Laoportunidad para usar recursos desplegados en la nubeesta actualmente al alcance de casi todos ya que tan solohay que realizar cambios mınimos para que aplicacionesya existentes se pueden relanzar a traves de recursos dela nube.

En base a la descripcion de la arquitectura de lacomputacion en la nube desde el punto de vista delmodelo de capas, para las aplicaciones cientıficas lamas interesante la IaaS. Esta capa ofrece un entornooptimo para ejecutar aplicaciones bajo demanda y flujosde trabajo (workflows). En esta capa, las maquinasvirtuales se personalizan para dar soporte al softwareque van a ejecutar estas aplicaciones y para quela comunicacion entre las maquinas distribuidas sepueda llevar a cabo dentro de la infraestructura. Lassoluciones PaaS tambien han sido muy valoradas eneste dominio. Ellas permiten a los cientıficos explorarnuevos modelos de programacion para abordar grandesproblemas computacionales. A este nivel, el frameworkMapReduce ha proporcionado a los cientıficos unaforma simple y efectiva de construir aplicaciones quenecesitan procesar grandes cantidades de datos. Paraaquellos problemas que necesitan resolverse con unmayor grado de flexibilidad, se puede hacer uso deplataformas tales como Aneka, que soporta MapReducey ademas de otros modelos de computacion. Acontinuacion, vamos a ver con detalle los dominiosde aplicacion que podemos localizar dentro de lasaplicaciones cientıficas en las que se ha usado lacomputacion en la nube.

4.1.1. Cientıficas: SaludEn [Buyya et al., 2013] reflexionan a cerca de como

de importante es la tecnologıa de la nube para permitira los medicos realizar diagnosticos mas efectivos.Concretamente, discuten sobre los electrocardiogramas(electrocardiogram, ECG) y analisis de datos en el nube[Pandey et al., 2012]. La capacidad de tener accesodesde cualquier lugar a Internet y a traves de cualquierdispositivo hace a la nube una opcion atractiva paradesarrollar sistemas de seguimiento de salud.

El analisis de ECG es un caso estudio que encaja enla naturaleza de este escenario. El ECG es una pruebaelectronica que permite representar las contracciones

del corazon. Esta prueba genera una forma de ondarepresentada a lo largo del tiempo que muestra ellatido del corazon. El analisis de la forma de ondadel ECG se usa para identificar arritmias y es laforma mas comun de detectar enfermedades de corazon.Las tecnologıas de la nube permiten la monitorizacionremota de datos relacionados con latidos del corazonde pacientes, analisis de datos en un tiempo mınimo,y las notificaciones al personal de primeros auxilios ydoctores, los cuales deberıan actuar de inmediato antecondiciones peligrosas. De esta forma un paciente enestado de riesgo puede ser constantemente monitorizadosin ir a un hospital para realizarse un analisis de ECG.A la misma vez, los doctores y el personal de primerosauxilios puede ser avisado de manera instantanea de loscasos que requieren atencion.

En la Figura 5 se muestra una ilustracion de la in-fraestructura y del modelo para soportar monitorizacionremota de ECG. En dicha figura se observa como los dis-positivos informaticos portatiles equipados con sensoresde ECG estan constantemente enviando las pulsacionesde los pacientes. Tal informacion se transmite a travesde los dispositivos moviles de los pacientes, los cualesde manera eventual transmiten datos al Servicio webalojado en la nube. Los Servicios web forman el primermodulo de conexion de la plataforma que esta comple-tamente localizada en la nube, permitiendo aprovecharlas tres capas de computacion: SaaS, PaaS y IaaS. ElServicio web forma parte de la aplicacion SaaS que al-macenara datos del ECG en el servicio S3 Amazon y seencarga de emitir una solicitud de procesamiento a lanube. La plataforma en tiempo real ejecuta un numeroconsiderable de instancias haciendo uso del frameworkAneka.

Aunque la monitorizacion remota ECG no requierenecesariamente tecnologıas de la nube, la computacionen la nube introduce oportunidades que sin ella serıandifıcilmente posibles de conseguir. La primera ventajaes la elasticidad de la infraestructura de la nubeque produce la posibilidad de crecer y encoger enfuncion de las peticiones atendidas. Como resultado,doctores y hospitales no tienen que investigar eninfraestructuras de computacion, consiguiendo de estaforma presupuestos mas eficientes. La segunda ventajaes la ubiquidad. Las tecnologıas de la computacionen la nube estan ahora mas accesibles que nunca yaque desde cualquier dispositivo con conexion a Interneta traves de interfaces simples (tales como SOAP yServicios web basados en REST) se puede acceder adichas tecnologıas. Esto hace a estos sistemas no soloubicuos, sino que ademas estos pueden ser facilmenteintegrados con otros sistemas de mantenimiento en lasinstalaciones del hospital. Finalmente, el ahorro de costeconstituye otra razon base para el uso de la tecnologıade la nube en la salud. Los Servicios de la nube se basanen el pago en funcion del uso.

Applied Computing Group, Technical Report

Page 10: Computaci on en la Nube: Un estudio orientado para el despliegue de arquitecturas de … · del modelo de computaci on en la nube es que gran parte de la tecnolog a se reaprovecha,

10 J. Vallecillos

User Requests

Wireless / Mobile 3G Network

ECG Sensor

ECG Sensor Module

Embedded Bluetooth

Enabled

Data Communication &

Processor Module (detailed view)

Blu

eto

oth

co

nn

ectivity

Iaa

SP

aa

S

Dynamically Scalable

Runtime

(QoS-based scaling of

computing resources)

Security

Runtime

Sa

aS ECG Data Analysis

as a Service

Use

r R

eq

ue

sts

Use

r R

eq

ue

sts

User

Large

Number

1

2

3

6

4

5

FIGURA 5. Un sistema de monitorizacion online almacenado en la nube [Buyya et al., 2013].

4.1.2. Cientıficas: BiologıaLa biologıa es otro campo que esta haciendo uso

de la computacion en la nube. Como comentanen [Buyya et al., 2013] las aplicaciones en biologıa amenudo requieren de grandes recursos computacionalespara procesar grandes conjuntos de datos, queproducen inmensas operaciones de entrada/salida.La computacion en la nube es capaz de ofrecerestos recursos para procesar esa informacion deuna forma mas dinamica. Veamos a continuacion aque aplicaciones en biologıa se ha dado solucion.

Prediccion de estructuras de proteınas: La prediccionde estructuras de proteınas es una tarea computacio-nalmente intensa que se lleva a cabo en diferentes tiposde investigaciones, ademas de ser usada tambien pa-ra el diseno de nuevos medicamentos. Las estructurasgeometricas de proteınas no pueden ser directamenteinferidas desde la secuencia de genes que componen suestructura, pero se puede calcular como resultado decomplejas ejecuciones. La potencia computacional tienecomo objetivo realizar predicciones sobre la estructurade proteınas, por lo que haciendo uso de los recursosque se ofrecen a traves de la computacion en la nube sepueden resolver problemas como estos.

Un proyecto que investiga haciendo uso de tecnologıaen la nube para predecir la estructura de proteınas es[Jin et al., 2009], el cual contiene un portal integradoque permite a los cientıficos descargar la prediccion deestructura de proteınas mediante computacion en lanube y Aneka (Figura 6).

Analisis de datos de expresion genetica para diagnosticode cancer: El perfil de expresion genetica es unamedicion que se calcula a partir de los niveles de

Jeeva Portal

A

B

C D E F G H

I

A : BLAST

B : Create Data Vector

C : HH Classifier

D : SS Classifier

E : TT Classifier

F : HS Classifier

G : ST Classifier

H : TH Classifier

I : Predict Final Secondary

Structure

Initial Phase

Classification

Phase

Final Phase

Task Graph

Aneka

FIGURA 6. Arquitectura y vista global del portal Jeeva[Buyya et al., 2013].

expresion genetica de miles de genes. Se usa paraentender los procesos geneticos que son generados atraves del tratamiento medico a un nivel celular. Laprediccion de estructura de proteınas, es una actividadfundamental del diseno de medicinas, permite a loscientıficos identificar los efectos de un tratamientoespecıfico. Otra aplicacion importante de los perfilesde expresion genetica es el diagnostico de cancer y sutratamiento. El cancer es una enfermedad caracterizadapor un gran crecimiento y proliferacion celular. Estecomportamiento ocurre porque la regulacion geneticamuta el crecimiento celular. En este contexto, losperfiles de expresion genetica se usan para clasificaruna coleccion de tumores. La clasificacion de muestrasa partir de los datos de expresion genetica en distintasclases es una tarea muy compleja.

XCS es un algoritmo genetico que permite realizarclasificaciones, utilizado para resolver estos problemas

Applied Computing Group, Technical Report

Page 11: Computaci on en la Nube: Un estudio orientado para el despliegue de arquitecturas de … · del modelo de computaci on en la nube es que gran parte de la tecnolog a se reaprovecha,

Un estudio de la Computacion en la Nube 11

Aneka

Cloud-CoXCS

(Task orchestrator)

Elastic Sizing

(EC2,…, )

CoXCS Tasks

Datasets

FIGURA 7. Cloud-CoXCS: Un entorno para procesar elalgoritmo XCS en la nube [Buyya et al., 2013].

de clasificacion. Por la naturaleza dinamica de XCS,el numero de recursos computacionales requeridos paraejecutar dicho algoritmo puede variar a lo largo deltiempo. Eso hace que, el uso de la computacion en lanube sea interesante para dar soporte a la ejecucionde este algoritmo. Se observa en la Figura 7 como se hadesplegado una nube para desplegar este procesamiento.

4.1.3. Cientıficas: GeocienciaLa Geociencia es otro campo que se esta sirviendo de

la computacion en la nube. En [Buyya et al., 2013] ha-blan sobre como las aplicaciones de geociencia coleccio-nan, producen, y analizan cantidades masivas de datosgeoespaciales y no espaciales. Y como debido al progre-so de la tecnologıa y a que nuestro planeta esta cada vezmas documentado (i.e., debido al despliegue de senso-res y satelites para realizar mediciones), el volumen dedatos que necesita ser procesado incrementa significati-vamente. La computacion en la nube ayuda a resolverel procesamiento de esta gran cantidad de informacion.Los sistemas de informacion geograficos (Geographic in-formation system, GIS) son un elemento fundamentaldentro de las aplicaciones geograficas. Estas aplicacio-nes GIS capturan, almacenan, manipulan, analizan, ges-tionan y presentan todos los tipos de datos referencia-dos geograficamente. Ademas, este tipo de informacionlocalizada en los GIS se esta utilizando en una ampliavariedad de dominios que van desde la seguridad civilhasta la gestion de recursos naturales. Como conclusion,hay una gran cantidad de datos geo-referenciados y re-lacionados que necesita ser tratada. La computacion enla nube es una opcion que da soporte a estas tareas yque permite extraer informacion relevante para tomardecisiones. Veamos a continuacion algunos problemasGIS que resuelve la computacion.

Procesado de imagenes de satelite: Los satelitesremotos generan cientos de gigabytes de imagenesque necesitan ser procesadas para llegar a ser labase de diferentes productos GIS. Este procesorequiere tareas tanto de entrada como de salida deinformacion ademas de computacion intensiva. Losproveedores de computacion en la nube proporcionan lainfraestructura apropiada para soportar tales escenarios

Local Storage

Aneka

Private Cloud

Public Cloud

ArchivingDistribution

Portal (SaaS)

FIGURA 8. Un entorno de nube para procesado de datosde satelite [Buyya et al., 2013].

de computacion. Una implementacion basada en lanube que lleva a cabo estas cargas de trabajo ha sidodesplegada por el departamento espacial de la India[Raghavendra et al., 2010]. Este sistema mostrado enla Figura 8 integra varias tecnologıas. Por un lado,una aplicacion SaaS que proporciona un conjuntode servicios para tales tareas como la generacion decodificacion geografica y la visualizacion de datos. Enel nivel PaaS, se integra Aneka que se encarga decontrolar los datos en la infraestructura virtualizada yel procesado de imagenes procedentes del satelite. Estaplataforma se despliega en una nube privada utilizandola tecnologıa Xen y Aneka. Con este ejemplo deaplicacion, se vuelve a demostrar como las tecnologıasde la nube son interesantes para resolver problemasrelacionados con tareas computacionalmente intensivas.

Swisstopo: La computacion en la nube en la adminis-tracion publica: En [Brian et al., 2008] se habla acercadel framework del Gobierno de Suiza, swisstopo, desple-gado en el centro de Geo-Informacion. Este frameworkse encarga de ejecutar la Infraestructura de Datos Es-paciales Federales (Federal Spatial Data Insfrastructu-re, FSDI) basandose en la computacion en la nube. Estohabilita a FSDI para ser facilmente y rapidamente es-calable en respuesta a grandes cargas de trabajo. Lassoluciones de la nube usadas para acceder primero adatos geo-espaciales es una forma de aportar flexibili-dad, ofertando servicios orientados a las Tecnologıas dela Informacion.

4.1.4. Educacion: Nube comunitaria para ejecutaraplicaciones

La Educacion tampoco ha querido olvidarse de estemodelo de computacion. En [Brian et al., 2008] se de-talla como la universidad de Bari no es solo una insti-tucion educativa puntera del sur de Italia, sino tambienun miembro del DAISY-net, un consorcio de universi-dades publicas y companıas ICT en la region de Plugia.DAISY-net lleva investigando, desarrollando y propor-

Applied Computing Group, Technical Report

Page 12: Computaci on en la Nube: Un estudio orientado para el despliegue de arquitecturas de … · del modelo de computaci on en la nube es que gran parte de la tecnolog a se reaprovecha,

12 J. Vallecillos

cionando tecnologıa y oportunidades para fomentar elcrecimiento economico industrial en la region. AdemasDAISY-net quiere crear arquitecturas de alta seguridad,escalables y flexibles para aplicaciones desarrolladas ydesplegadas con el objetivo de aportar Tecnologıas de laInformacion que den soporte a la comunidad local. LaUniversidad de Bari decidio ofrecer una nube comuni-taria que ofreciera la posibilidad de albergar la infraes-tructura de las Tecnologıas de la Informacion suficientescomo para ejecutar aplicaciones de los usuarios de la zo-na [Brian et al., 2008].

4.1.5. Interaction hombre maquina (Human Compu-ter Interaction, HCI)

Cuando se trabaja con grandes cantidades de infor-macion procedentes de diferentes fuentes, que ademaspueden ser visualizadas en diferentes dispositivos, nosenfrentamos a la tesitura de como llevar a cabo la vi-sualizacion de la informacion. Para ello existen diversostrabajos y proyectos que se han centrado en trabajardicha cuestion.

Proyecto Smarcos: El proyecto Smarcos14 comenzadoen 2010 bajo el marco de trabajo de la EuropeanUnion Artemis, fue designado para encontrar solucionesa problemas de usabilidad. Smarcos estudia lacomputacion en la nube tanto desde el punto de vistade la industria como de los consumidores. En esteproyecto se pretende mejorar la inter-usabilidad, pormediacion de tecnicas de interfaces hombre-maquinapara interconectar dispositivos. Concretamente, estaninteresados en la combinacion de dispositivos y desistemas que albergan aplicaciones que cumplen losiguiente: (a) Estar embebidas dentro de un dispositivoy que no tienen una IU estandar; (b) Ser ejecutadas enmultiples dispositivos; (c) Ser parte de un servicio; Serpersonalizables para los usuarios; (d) Ser adaptativas asu entorno. Para ello se basan en aspectos del diseno desistemas digitales innovadores.

Cloud3View: Como se comenta en [Yin et al., 2013],la popularidad de la computacion en la nube hahecho que se desplieguen grandes centros de datos dediferentes tamanos. Las operaciones en dichos centrosde datos no es sencilla. Ellos proponen y desarrollanun sistema de gestion de centro de datos interactivo,en el cual tratan de reducir la complejidad de lamonitorizacion y control del centro de datos paralos sistemas de administracion. Concretamente, ellosadoptan el concepto de gamificacion15. Con este trabajolos autores pretenden centralizar la computacion alos usuarios partiendo de la gestion de sistemasbasados en TI. Para ello, llevan a cabo el desarrollode interfaces de juegos en 3D, que se basan enreplicas de interfaces tradicionales, para gestionar los

14http://www.smarcos-project.eu/15http://en.wikipedia.org/wiki/Gamification

centros de datos. Ellos dividen la integracion entres niveles: Estado de monitorizacion; en el juego,el administrador puede monitorizar el estado de lostres sub-sistemas en el centro de datos. Los datospueden ser visualizados mediante un panel. Evaluaciondel desarrollo; en este juego, el administrador puedeevaluar el desarrollo del centro de datos. Sistemas decontrol; en el juego el administrador puede controlardinamicamente las operaciones del centro de datos, atraves de interacciones HCI y dispositivos moviles.

Adaptacion de IU: Es necesario llevar a cabo unaadaptacion de la informacion localizada en la nube,a las interfaces de usuario de los dispositivos quela muestran. En [Grønli et al., 2011] trabajan sobrelas pantallas de los dispositivos Android para ir unpaso mas alla y conseguir mas flexibilidad en lasinterfaces de usuario para hacerlas mas conscientes delas situaciones e integrarlas con la nube. Los autoresobtienen informacion del entorno, a traves de lossensores disponibles por el dispositivo que controlan laluminosidad del ambiente o el estado de la baterıa yla interaccion del usuario, para llevar a cabo procesosde adaptacion. Todos estos procesos de recepcion deinformacion por parte del entorno e interaccion delusuario junto a la adaptacion son recopilados en unacuenta asociada al usuario y desplegada en la nube a lacual se accede desde cualquier dispositivo Android parapoder realizar las mismas operaciones.

Hacia la inter-usabilidad: En [Le Voi et al., 2011]profundizan en las interacciones de usuario y el disenode las interfaces de usuario, metaforas y principiosactualmente aplicados a dispositivos y servicios queusan la nube. En este estudio pretenden responder acomo embeber combinaciones de servicios y dispositivoscon conceptos de adaptacion e inter-conexion deinteraccion disenados para ganar usabilidad y mejorarla experiencia de los usuarios. Para ello investiganen benchmarking con el objetivo de testear productosexistentes y servicios para obtener patrones que puedanser usados como una base para los desarrolladores demetodos de diseno y herramientas.

4.2. Negocio y aplicaciones consumidor

El otro gran bloque identificado para clasificarlos dominios de aplicacion donde se ha hecho usode la computacion en la nube es el negocio y lasaplicaciones consumidor. Tal y como se comenta en[Buyya et al., 2013] los negocios y el sector consumidores uno de los campos con mas beneficios para lamayorıa de las tecnologıas de la computacion en lanube. Ademas, en este entorno existe la posibilidad deofrecer computacion a cambio de pago, lo que suponeuna opcion atractiva para todas las empresas queestan centradas en las Tecnologıas de la Informacion.Tambien, la nube ofrece la posibilidad de acceder a

Applied Computing Group, Technical Report

Page 13: Computaci on en la Nube: Un estudio orientado para el despliegue de arquitecturas de … · del modelo de computaci on en la nube es que gran parte de la tecnolog a se reaprovecha,

Un estudio de la Computacion en la Nube 13

datos por mediacion de servicios web que han sidodesplegados para ser accesibles por los usuarios finales.Por otro lado, la naturaleza elastica de las tecnologıas dela nube hace que no se requiera de una enorme inversionpara comenzar a hacer uso de sus servicios, ası comopermitir trasladar rapidamente productos y serviciosque pueden crecer por demanda. La combinacion detodos estos elementos ha hecho que la computacionen la nube sea la tecnologıa preferida para el ampliorango de aplicaciones, que van desde CRM y sistemasERP hasta aplicaciones relacionadas con la producciony redes sociales. A continuacion, vamos a tratar condetalle estos dominios de aplicacion.

4.2.1. CRM y ERPLas aplicaciones de “gestion de relaciones entre

clientes” (Customer relationship management, CRM)y las aplicaciones de “planificacion de recursosempresariales” (Enterprise resource planning, ERP) esuna parte del mercado en el cual la nube esta obteniendofrutos. Las aplicaciones CRM de la nube constituyenuna gran oportunidad para pequenas empresas ystart-ups ya que les permite tener software CRMfuncionando sin grandes costes de inversion y de pago delicencias. Por otra parte, CRM no es una actividad querequiera necesidades especıficas, y puede ser facilmentemigrado a la nube. Tales caracterısticas, junto con laposibilidad de tener acceso desde el negocio a los centrosde datos de clientes desde cualquier lugar y desdecualquier dispositivo, han producido la propagacion delas aplicaciones CRM en la nube. Las soluciones ERPen la nube son mas novedosas y deben competir consoluciones locales muy instauradas. Las soluciones ERPintegran varios aspectos de una empresa: finanzas ycontabilidad, recursos humanos, facturacion, gestion deproyectos, y CRM. Su objetivo es proporcionar unavision uniforme para el acceso a las operaciones quenecesitan ser realizadas con el proposito de manteneruna organizacion compleja. Actualmente las solucionesERP son menos populares que las soluciones CRM. Acontinuacion se van a tratar aplicaciones CRM y ERPque han hecho uso de la computacion en la nube.

Salesforce.com: Es probablemente la solucion maspopular16. Se basa en la plataforma de desarrollode la nube Force.com. Force.com aporta escalabilidady ejecuciones de alto rendimiento para todas lasoperaciones de las aplicaciones Salesforce.com. Elfuncionamiento y la arquitectura de Force.com puedeser observada en [Buyya et al., 2013]. Un ejemplodel potencial de Salesforce.com, se puede ver en laconfianza que depositan en el importantes empresasmultinacionales como Cisco [Brian et al., 2008]. Ciscoes especialista en operaciones de redes que operanglobalmente, la cual tiene como objetivo construirredes con inteligencia incorporada, servicios mas

16http://www.salesforce.com/

rapidos, seguros y tratados de forma global. Por estarazon, sus redes aportan el rendimiento necesariopara transacciones rapidas, y forman la base de unainfraestructura en constante evolucion. El crecimientode Cisco como empresa hace que cada vez mas seanecesario el acceso a los sistemas que lo integran.Anteriormente Cisco estaba muy limitado, pues suescalabilidad estaba muy limitada, y no podıa competircon las necesidades del negocio.

Microsoft dynamics CRM: Es una solucion implemen-tada por Microsoft17 para la gestion de relaciones entreclientes. Dynamics CRM esta disponible para cualquierinstalacion local de la empresa, o como una solucion on-line previo pago de una mensualidad por usuarios des-critos [Buyya et al., 2013].

NetSuite: NetSuite18 proporciona una coleccion deaplicaciones que ayudan a los clientes a gestionar cadaaspecto del negocio empresarial. Esta oferta se divideen tres productos principales: NetSuite Global ERP,NetSuite Global CRM+, y NetSuite Global Ecommerce.Por lo tanto, una solucion en una es NetSuite OneWorld, la cual integra los tres productos juntos.

4.2.2. ProductividadLas aplicaciones relacionadas con la productividad

en la nube reemplazan algunas de las tareas comunesque se hacen desde el escritorio: que van desde elalmacenamiento de documentos, o la automatizacionde ofimatica a entornos de escritorio completosalmacenados en la nube. Vease a continuacion ejemplosde aplicacion relacionados con la productividad que hanhecho uso de la computacion en la nube.

Dropbox Folder

Dropbox Folder Dropbox Folder

Automatic

synchronization

FIGURA 9. Dropbox escenario de uso[Buyya et al., 2013].

Dropbox e iCloud: Segun en [Buyya et al., 2013], unode los nucleos de la computacion en la nube esla disponibilidad en cualquier lugar, en cualquiermomento, y desde cualquier dispositivo conectado aInternet de los recursos que alberga. Por lo tanto,el almacenamiento de documentos es algo natural

17http://www.microsoft.com/es-es/dynamics/default.aspx18http://www.netsuite.com/

Applied Computing Group, Technical Report

Page 14: Computaci on en la Nube: Un estudio orientado para el despliegue de arquitecturas de … · del modelo de computaci on en la nube es que gran parte de la tecnolog a se reaprovecha,

14 J. Vallecillos

para esta tecnologıa. Anteriormente las aplicaciones dealmacenamiento online no tuvieron mucho exito perocon el desarrollo de las tecnologıas de la computacionen la nube han cambiado a aplicaciones SaaS yhan llegado a mejorar su usabilidad mejorando ladisponibilidad y la accesibilidad. Quizas la solucionmas conocida para almacenar documentos online seaDropbox, una aplicacion online que permite a losusuarios sincronizar algunos ficheros a traves de unaplataforma y sobre diferentes dispositivos (ver Figura9). Dropbox proporciona a los usuarios una cantidadde almacenamiento gratuito y accesible a traves de unaabstraccion de un directorio.

Google docs: se basa en una aplicacion SaaS que ofrecela funcionalidad de aplicaciones de ofimatica basicascon soporte para edicion colaborativa en la Web. Laaplicacion se ejecuta en la cima de la infraestructuracomputacional distribuida de Google, lo que hace que elsistema dinamicamente pueda escalar acorde al numerode usuarios que usan el servicio.

User

User

User

EyeOS Server

eyeos

apps

extern

extras

system

users

workgroupsClient-side scripts

FIGURA 10. Arquitectura EyeOS [Buyya et al., 2013].

Escritorios de nube. EyeOS y XIOS/3: La tecnologıaAJAX ha aumentado la potencia de las aplicacionesimplementadas en la Web. Esta tecnologıa es unpilar fundamental para la computacion en la nube,ya que hace posible delegar una gran cantidad desus servicios a traves de los navegadores Web. Estatecnologıa ha hecho posible que entornos de escritoriocomplejos, por medio de la nube, esten disponibles atraves de los navegadores Web. EyeOs es una de lassoluciones de escritorio Web mas populares basada entecnologıas de la nube. EyeOs ha conseguido imitar lafuncionalidad de un entorno de escritorio incorporandoademas aplicaciones pre-instaladas para poder trabajarsobre documentos y ficheros (ver Figura 10). Unsimple usuario puede acceder al entorno de escritorioEyeOS desde cualquier lugar y a traves de cualquierdispositivo movil. Cualquier organizacion puede crearuna EyeOS Cloud privada para virtualizar el entornode escritorio de sus empleados y centralizar su gestion.La arquitectura EyeOS es bastante simple: en el lado

servidor, la aplicacion EyeOS gestiona la informacionde los perfiles de los usuarios y sus datos, y el ladodel cliente contiene el punto de acceso para usuarios yadministradores que interactuan con el sistema. EyeOSalmacena los datos de los usuarios y los ficheros enel sistema de ficheros del servidor. Una vez que elusuario se ha registrado en el sistema, el entorno deescritorio se carga en el navegador del cliente paradescargar todas las librerıas JavaScript requeridas paraconstruir las interfaces de usuario e implementar lafuncionalidad. Cada aplicacion cargada en el entornodel usuario se comunica con el servidor a traves deAJAX; este modelo de comunicacion se utiliza paraacceder a los datos ademas de realizar operacionesde aplicacion: editar documentos, visualizar imagenes,copiar y guardar ficheros, enviar emails y chatear.

Fleurop-Interflora: Fleurop-Interflora EBC AG[Brian et al., 2008] es una empresa comercial con 17unidades comerciales operando en 40 paıses asociadoscomo miembros. Fleurop-Interflora distribuye mas de1.000.000 de peticiones de flores en el mundo cada anoa traves de su pagina de ventas. Por tanto, para ellosla disponibilidad flexible y eficiente de los servicioses crucial para el desarrollo del negocio. Para la enti-dad, la facturacion externa se genera exclusivamentea traves de la plataforma web, por lo que la disponi-bilidad de la infraestructura es un elemento critico: laplataforma web debe de estar disponible veinticuatrohoras al dıa, los siete dıas de la semana, los trescientossesenta y cinco dıas del ano. Sin embargo, la disponi-bilidad no es solo un criterio que debe de cumplir laplataforma: rendimiento, flexibilidad, escalabilidad ysoporte tambien juegan un rol importante, para quela plataforma pueda responder grandes cantidades dedemandas. Para el despliegue de este sistema Fleurophizo uso de una sub-contrata pero tuvieron problemascon ellos ademas de tener que pagar un coste muy altopor los servicios. Por estas razones, Fleurop opto por lasolucion de la nube privada para desplegar su sistema.

4.2.3. Redes sociales

Algunas aplicaciones de redes sociales (como Face-book o Twitter) tambien hacen uso de la computacionen la nube para desplegarse [Buyya et al., 2013]. Parasostener el trafico y las millones de peticiones de formaperfecta, servicios tales como Twitter19 y Facebook20

han hecho uso de tecnologıas de la computacion en lanube. La posibilidad de anadir actualizaciones mien-tras los sistemas estan funcionando es una cualidad muyatractiva para las redes sociales, que constantemente in-crementan su numero de usuarios. Vease brevemente elcaso de Facebook.

19http://www.twitter.com/20http://www.facebook.com/

Applied Computing Group, Technical Report

Page 15: Computaci on en la Nube: Un estudio orientado para el despliegue de arquitecturas de … · del modelo de computaci on en la nube es que gran parte de la tecnolog a se reaprovecha,

Un estudio de la Computacion en la Nube 15

Facebook: Es probablemente el entorno mas interesan-te en las redes sociales. Con mas de 800 millones deusuarios, ha llegado a ser uno de los mas grandes sitiosweb del mundo. Para sostener este increıble crecimiento,ha sido fundamental que Facebook sea capaz de anadircapacidad y desplegar nuevas tecnologıas escalables ysistemas software a la vez que ofrece alto rendimientopara asegurar una buena experiencia a los usuarios.

4.2.4. Aplicaciones multimediaLas aplicaciones multimedia son un nicho de

mercado que ha tomado una considerable ventajadesde el lanzamiento de las tecnologıas de la nube.Particularmente, las operaciones de procesado devıdeo, tales como codificacion, transcodificacion (es laconversion directa de un codec a otro), y rendimiento,son buenos candidatos para un entorno basado en lanube. Hay tareas computacionalmente intensivas quepueden ser facilmente migradas a infraestructuras dela nube. Vease a continuacion ejemplos de aplicacionesmultimedia que hacen uso de la computacion en la nube.

Animoto: Como se comenta en [Buyya et al., 2013],Animoto es quizas el ejemplo mas popular de aplicacionmultimedia en la nube. Este sitio Web, proporcionaa los usuarios a traves de una interfaz amigable, laposibilidad de crear vıdeos a partir de imagenes, musica,y fragmentos de vıdeos subministrados por los usuarios.El objetivo de Animoto es poder crear rapidamentevıdeos con efectos interesantes sin la intervencion de losusuarios. Otra propiedad mas es el motor de InteligenciaArtificial (IA), que selecciona los efectos de transaccionde las animaciones acordes a dibujos y musica, paraporteriormente realizar renderizado.

Representacion Maya con Aneka: Para los disenado-res, las tareas de renderizado de modelos forman granparte del trabajo que deben realizar. Ellos realizan deforma iterativa visualizaciones de los modelos que estandisenando con el objetivo de observar los resultadosdel diseno final. Estas tareas desencadenan grandes car-gas computacionales que convienen ser resueltas lo masrapido posible. La computacion en la nube proporcio-na la cantidad suficiente de recursos para realizar estatarea [Buyya et al., 2013].

Codificacion de vıdeo en la nube, Encoding.com: En[Buyya et al., 2013] comentan que la codificacion ytrascodificacion de vıdeo son operaciones que puedenbeneficiarse del uso de tecnologıas de la nube yaque estas tareas son computacionalmente intensas yrequieren de grandes capacidades de almacenamiento.Por otro lado, con la continua mejora de los dispositivosmoviles ademas de la difusion de Internet, hanprovocado que las solicitudes para el contenido de vıdeose haya incrementado de forma significativa. El softwarey el hardware para codificacion y trascodificacion de

vıdeo han conseguido que actualmente sea facil llevara cabo conversiones de unos formatos a otros. Lacomputacion en la nube presenta una oportunidad deresolver estas tareas a traves de servicios. Encoding.comes una solucion software que ofrece servicios detrascodificacion de vıdeo y lanzamiento de tecnologıasen la nube para proporcionar ambas posibilidades a lahora de realizar conversiones de vıdeo y renderizadoposterior.

4.2.5. Juegos online multijugadorEn [Buyya et al., 2013] tambien comentan la impor-

tante relacion que existe entre los juegos multi-jugadoronline y la nube. Los juegos multi-jugador atraen mi-llones de jugadores de todo el mundo que compartenuna experiencia comun a traves de jugar juntos en unentono virtual. Estos entornos se expanden mas alla delos lımites de una LAN normal. Los juegos online sopor-tan cientos de jugadores en la misma sesion, haciendoesto posible por mediacion de arquitecturas especıficasusadas para interactuar, que se basan en el procesa-miento de registros de juego. Los jugadores actualizanla sesion del juego, y los servidores integran todas lasactualizaciones en un log que esta disponible a todoslos jugadores a traves de un puerto TCP. El uso de lastecnologıas de la nube proporcionan la elasticidad ne-cesaria para estas cargas de trabajo que se necesitancuando el numero de usuarios crece.

Titan Inc.: Una implementacion de procesamiento delog para juegos basado en la nube es por ejemploel implementado por Titan Inc. (ahora Xfire). Setrata de una companıa situada en California quedesarrollo su propio portal de juegos. Ellos trabajancon el log de juegos, el cual, tiene como objetivoactualizar las sesiones de los jugadores. Este log sedespliega en Aneka, que es un framework para ejecutaraplicaciones en la nube de forma distribuida. Esteframework se despliega en una nube privada con elobjetivo de procesar de forma concurrente multipleslogs y mantener actualizados de esta manera a un grannumero de usuarios.

4.2.6. Inteligencia de negocioLa Inteligencia de negocio puede ser definida

como el conjunto de metodologıas, herramientas ycualidades enfocadas a la creacion y administracionde conocimiento a partir del analisis de datos, dandosoporte a la toma de decisiones en el negocio.Actualmente las organizaciones necesitan realizarconstantemente estudios de mercado con el objetivode realizar tomas de decisiones a nivel de ventas,para ello realizan recopilaciones masivas de datosa partir de los cuales obtienen informacion. Eneste proceso las empresas necesitan hacer uso detecnologıas que les permitan realizar dichas tareas.Anteriormente la tecnologıa que daba soporte a estas

Applied Computing Group, Technical Report

Page 16: Computaci on en la Nube: Un estudio orientado para el despliegue de arquitecturas de … · del modelo de computaci on en la nube es que gran parte de la tecnolog a se reaprovecha,

16 J. Vallecillos

operaciones era el Data Warehousing pero con lasaportaciones de la computacion en la nube, actualmenteha habido una migracion a lo que se conoce como BigData. Segun [Wu et al., 2014], [Agrawal et al., 2011] y[Chandrasekhar et al., 2013] nos dicen que Big Dataparte de una cantidad masiva de colecciones de datos,heterogeneos, de fuentes dispersas que son recopiladasa lo largo del tiempo, los cuales son difıciles de analizarcon las herramientas de base de datos tradicionales,por lo que extendiendo de los servicios de la nubetradicionales (IaaS, PaaS y SaaS) crea un nuevoservicio llamado Database as a Service (DaaS) quepermita aportar flexibilidad, pago por uso, bajo coste deinversion, bajo coste de mantenimiento y transferenciasde gran velocidad. En [Chandrasekhar et al., 2013]hacen una recopilacion de herramientas en la nube(algunas de las cuales trataremos continuacion) paraanalisis y obtencion de informacion sobre Big Data.Vease a continuacion ejemplos de aplicaciones Big Data.

IBM Cognos: En [Chandrasekhar et al., 2013] comen-tan que Cognos21 esta orientado a la Inteligencia deNegocio (Business Inteligence), desarrollo financiero ygestion de estrategias. El software Cognos de IBM seconoce por proporcionar soporte a cualquier organiza-cion que necesite mejorar sus rendimientos ya que hasido desarrollada para que las companıas hagan mejorsus elecciones a la hora de enfocar desarrollos futuros.

Google BigQuery: Permite ejecutar consultasSQL-like contra grandes conjuntos de datos, conmillones de filas. Ademas segun se expone en[Chandrasekhar et al., 2013] Google BigQuery22 tepermite realizar estas consultas sobre tus propios datoso sobre datos que alguien ha compartido contigo. Esuna herramienta altamente rapida que puede analizarmillo-nes de filas en segundos. Es ademas muy potentepara compartir datos, para lo cual hace uso de lascuentas de Google. Tambien tiene multiples metodosde acceso a traves de navegadores BigQuery, la APIREST o la aplicacion localizada en Google Apps.

Apache Hadoop: En [Chandrasekhar et al., 2013] ha-cen referencia a Hadoop23 que es un framework opensource que permite ejecutar grandes cantidades de da-tos usando una plataforma distribuida. Como uso basi-co, permite ejecutar grandes clusters. Soporta movili-dad de datos, ademas de seguridad para el procesado dedatos. Tiene su propio paradigma de computacion Ha-doop llamado MapReduce, donde el trabajo se divide envarias unidades que se procesan en sistemas clusters ogrid. Tiene la capacidad de manejar petabytes de datosen millones de ficheros en tan solo segundos, proporcio-nando un alto ancho de banda. Hadoop se escribio en

21http://www-03.ibm.com/software/products/es/business-intelligence/

22https://developers.google.com/bigquery/23http://hadoop.apache.org/

el lenguaje de programacion Java y esta en el nivel masalto del proyecto Apache siendo construido y usado poruna comunidad global de contribuidores Hadoop.

Por tanto, como se ha podido comprobar con estaseccion, se ha cumplido el proposito de localizar algunostrabajos relacionados con las interfaces de usuario y lanube ademas de hacer un recorrido por otros dominiosde aplicacion. De todos los trabajos relacionados con lasinterfaces de usuario, el mas interesante para nosotrosha sido la aplicacion que se encarga de llevar a caboadaptaciones de la interfaz de usuario haciendo uso dela nube [Grønli et al., 2011].

5. CONSIDERACIONES FINALES

La Computacion en la Nube es un conceptorelativamente reciente en la literatura, nacido paradefinir un paradigma puntero que se encarga gestionar yentregar servicios a traves de Internet. Este concepto seha ido consolidando cada vez mas en cualquier ambitoy dominio de aplicacion de la ingenierıa informatica, yes actualmente considerado como un nuevo paradigmatecnologico para gestionar y ofrecer servicios de terceraspartes a traves de Internet. Aunque hoy dıa sonmuchos los trabajos existentes, este paradigma sigue enconstante evolucion, apareciendo continuamente en eltiempo nuevas metodologıas, herramientas, y modelosde computacion en la Nube. Este trabajo surge comoconsecuencia de pretender desarrollar una metodologıapara el despliegue de interfaces de usuario basadas enArquitecturas. Para ello y con el proposito de observarque puede aportar la computacion en la nube a losSistemas basados en Arquitecturas, en este trabajo, seha realizado un estudio de las ventajas que dispone elmodelo de computacion en nube, pasando previamentepor una seccion que define este modelo. Tambien seha hecho un estudio sobre que tipo de computacionen la nube se puede desplegar segun la tecnologıaidentificada. Ademas, se ha llevado a cabo una seleccionde los dominios de aplicacion localizados que hacen usode la Computacion en la Nube como mecanismo parasu despliegue. En esa seleccion se pretendıa cumplirel proposito de localizar trabajos relacionados con lasinterfaces de usuario y la nube, ademas de hacer unrecorrido por otros dominios de aplicacion.

A modo resumen, la Tabla 3 muestra de manera es-tructurada los dominios de aplicacion de la computacionen la nube que han sido estudiados en el presente traba-jo. En la tabla se recopila ademas el impacto que tienecada una de las caracterısticas, que hacen especial a lacomputacion en la nube, sobre cada uno de los dominiosde aplicacion. Dichas caracterısticas estan recogidas enla Tabla 4. En la Tabla 3 la explotacion de cada una deestas caracterısticas viene dado por los siguientes nive-les: aporte bajo (B), medio (M), alto (A), o muy alto(E). Para concluir en la Figura 11, se puede apreciaren que medida los dominios de aplicacion explotan lascaracterısticas de la computacion en la nube.

Applied Computing Group, Technical Report

Page 17: Computaci on en la Nube: Un estudio orientado para el despliegue de arquitecturas de … · del modelo de computaci on en la nube es que gran parte de la tecnolog a se reaprovecha,

Un estudio de la Computacion en la Nube 17

Dominio Aplicaciones C#1 C#2 C#3 C#4 C#5 C#6 C#7

Salud ECG M M E M A M E

Biologıa Prediccion de estructura de proteınas M A B M E M E

Analisis de datos expresion genetica en cancer M A B M E M E

Geociencia Procesado de imagenes de satelite M A M M E A M

Swisstopo M A A M E M E

Educacion Nube comunitaria para ejecutar aplicaciones M A M A A M E

Interaccion Proyecto Smarcos M A A A M M M

hombre maquina Cloud3View M M A M M A M

Adaptacion de IU M A E M M M M

Hacia la inter-usabilidad M M A A M M M

CRM y ERP Salesforce.com M M M A A M E

Microsoft dynamics CRM M M M A A M E

Netsuite M M M A A M E

Productividad Dropbox e iCloud M A E A A M A

Google Docs M A E A M M A

Escritorio en la nube M A E A M M A

Fleurop-Interflora M M A E M M A

Redes sociales Facebook M A A M E M M

Twitter M A A M E M M

Aplicaciones multimedia Animoto. M A M A A M M

Representacion Maya con Aneka M A M A A M M

Encoding.com M A M A A M M

Juegos online multijugador Titan Inc. M A M A M E M

Inteligencia de negocio IBM Cognos M A B M E M M

Google BigQuery M A B M E M M

Apache Hadoop M A B M E M M

CUADRO 3. Dominios de aplicacion de la NUBE.

FIGURA 11. Explotacion de las caracterısticas de la nube.

Num. Caracterıstica

C#1 Multi-tendencia

C#2 Conjunto de recursos compartidosC#3 Geo-distribucion y acceso a redes ubicuas

C#4 Orientado a servicios

C#5 Aprovisionamiento dinamico de recursosC#6 Auto-organizacion

C#7 Uso basado en precio

CUADRO 4. Caracterısticas de los dominios de aplicacionde la Computacion en la Nube

AGRADECIMIENTOS

Este estudio ha sido realizado como lınea de interesabierta en el marco del proyecto P10-TIC-6114 de laJunta de Andalucıa y dentro del Grupo de Investigacionde Informatica Aplicada (TIC-211) de la Universidad deAlmerıa. http://acg.ual.es/enia

REFERENCES

[Agrawal et al., 2011] Agrawal, D., Das, S., and El Abbadi,A. (2011). Big data and cloud computing: currentstate and future opportunities. In Proceedings of the14th International Conference on Extending DatabaseTechnology, pages 530–533.

[Baliga et al., 2011] Baliga, J., Ayre, R. W., Hinton, K.,and Tucker, R. S. (2011). Green cloud computing:Balancing energy in processing, storage, and transport.Proceedings of the IEEE, 99(1):149–167.

[Begin et al., 2008] Begin, M.-E., Jones, B., Casey, J.,Laure, E., Grey, F., Loomis, C., and Kubli, R. (2008).An egee comparative study: Grids and clouds-evolutionor revolution. EGEE III project Report, 30.

[Brian et al., 2008] Brian, H., Brunschwiler, T., Dill, H.,Christ, H., Falsafi, B., Fischer, M., Grivas, S. G.,Giovanoli, C., Gisi, R. E., Gutmann, R., et al. (2008).Cloud computing. Communications of the ACM,51(7):9–11.

[Buyya et al., 2013] Buyya, R., Vecchiola, C., and Selvi,S. T. (2013). Mastering Cloud Computing: Foundationsand Applications Programming. Elsevier.

[Buyya et al., 2008] Buyya, R., Yeo, C. S., and Venugopal,S. (2008). Market-oriented cloud computing: Vision,hype, and reality for delivering it services as computingutilities. In 10thIEEE International Conference onHigh Performance Computing and Communications,2008. HPCC’08, pages 5–13.

[Chandrasekhar et al., 2013] Chandrasekhar, U., Reddy,A., and Rath, R. (2013). A comparative study ofenterprise and open source big data analytical tools.In IEEE Conference on Information & CommunicationTechnologies. ICT’13, pages 372–377.

[Fox et al., 2009] Fox, A., Griffith, R., Joseph, A., Katz, R.,Konwinski, A., Lee, G., Patterson, D., Rabkin, A., andStoica, I. (2009). Above the clouds: A berkeley view ofcloud computing. University of California, Berkeley,Technical Report.

Applied Computing Group, Technical Report

Page 18: Computaci on en la Nube: Un estudio orientado para el despliegue de arquitecturas de … · del modelo de computaci on en la nube es que gran parte de la tecnolog a se reaprovecha,

18 J. Vallecillos

[Geelan, 2008] Geelan, J. (2008). Twenty one experts definecloud computing.

[Greenberg et al., 2008] Greenberg, A., Lahiri, P., Maltz,D. A., Patel, P., and Sengupta, S. (2008). Towards anext generation data center architecture: scalability andcommoditization. In Proceedings of the ACM workshopon Programmable routers for extensible services oftomorrow, pages 57–62.

[Grønli et al., 2011] Grønli, T.-M., Hansen, J., and Ghinea,G. (2011). Integrated context-aware and cloud-based adaptive home screens for android phones. InHuman-Computer Interaction. Interaction Techniquesand Environments, pages 427–435. Springer.

[Hand, 2007] Hand, E. (2007). Head in the clouds. Nature,449:963–963.

[Hayes, 2008] Hayes, B. (2008). Cloud computing.Commun. ACM, 51(7):9–11.

[Hwang, 2008] Hwang, K. (2008). Massively distributedsystems: From grids and p2p to clouds. In Advancesin Grid and Pervasive Computing, pages 1–1. Springer.

[Jin et al., 2009] Jin, C., Gubbi, J., Buyya, R., andPalaniswami, M. (2009). Jeeva: Enterprise grid-enabledweb portal for protein secondary structure prediction.16TH International conference on advanced computingand communications, pages 141–147.

[Kondo et al., 2009] Kondo, D., Javadi, B., Malecot, P.,Cappello, F., and Anderson, D. P. (2009). Cost-benefit analysis of cloud computing versus desktopgrids. In IEEE International Symposium on Parallel& Distributed Processing, 2009. IPDPS 2009, pages 1–12.

[Le Voi et al., 2011] Le Voi, H., Light, A., and Rowland, C.(2011). Towards interusability; hci for cloud computingand embedded devices. In proceedings of DesigningInteraction for the Cloud workshop in CHI.

[McFredries, 2008] McFredries, P. (2008). Technicallyspeaking: The cloud is the computer. Spectrum, IEEE,45(8):20–20.

[Mell and Grance, 2011] Mell, P. and Grance, T. (2011).The nist definition of cloud computing (draft). NISTspecial publication, 800(145):1–7.

[Pandey et al., 2012] Pandey, S., Voorsluys, W., Niu, S.,Khandoker, A., and Buyya, R. (2012). An autonomiccloud environment for hosting ecg data analysisservices. Future Generation Computer Systems,28(1):147–154.

[Parkhill, 1966] Parkhill, D. F. (1966). The challenge of thecomputer utility, volume 2. Addison-Wesley PublishingCompany Reading.

[Raghavendra et al., 2010] Raghavendra, K., Akilan, A.,Ravi, N., Pramod, K., and Varadan, G. (2010).Satellite data product generation using aneka cloud.Research Demo at the 10th IEEE InternationalSymposium on Cluster, Cloud, and Grid Computing(CCGrid 2010), Melbourne, Australia.

[Vaquero et al., 2008] Vaquero, L. M., Rodero-Merino, L.,Caceres, J., and Lindner, M. (2008). A break in theclouds: towards a cloud definition. ACM SIGCOMMComputer Communication Review, 39(1):50–55.

[Vecchiola et al., 2010] Vecchiola, C., Abedini, M., Kirley,M., Chu, X., and Buyya, R. (2010). Gene expressionclassification with a novel coevolutionary based learning

classifier system on public clouds. In Sixth IEEEInternational Conference on e-Science Workshops,pages 92–97.

[Wu et al., 2014] Wu, X., Zhu, X., Wu, G.-Q., and Ding, W.(2014). Data mining with big data. IEEE Transactionson Knowledge and Data Engineering, 26(1):97–107.

[Yin et al., 2013] Yin, J., Sun, P., Wen, Y., Gong, H., Liu,M., Li, X., You, H., Gao, J., and Lin, C. (2013).Cloud3dview: an interactive tool for cloud data centeroperations. In Proceedings of the ACM SIGCOMM2013 conference on SIGCOMM, pages 499–500.

[Zhang et al., 2010] Zhang, Q., Cheng, L., and Boutaba,R. (2010). Cloud computing: state-of-the-art andresearch challenges. Journal of Internet Services andApplications, 1(1):7–18.

Applied Computing Group, Technical Report