novatica - 2012 - cloud computing - windows azure

7

Upload: ramon-costa-i-pujol

Post on 05-Dec-2014

2.483 views

Category:

Technology


4 download

DESCRIPTION

Artículo Desarrollo Aplicaciones Cloud con Windows Azure - Ramon Costa - Novatica - 2012

TRANSCRIPT

Page 1: Novatica - 2012 - Cloud Computing - Windows Azure
Page 2: Novatica - 2012 - Cloud Computing - Windows Azure

Nº 215, enero-febrero 2012, año XXXVIII Nº 215, enero-febrero 2012, año XXXVIII Nº 215, enero-febrero 2012, año XXXVIII Nº 215, enero-febrero 2012, año XXXVIII Nº 215, enero-febrero 2012, año XXXVIII

Tema del próximo número: "Informática y cultura"

editorialAsamblea General Extraordinaria de ATI: un impulso hacia el futurode la Asociación y de Novática > 02noticias de IFIPFirma del memorando de entendimiento entre IFIP y el Gobiernodel Paraguay para la organización de WITFOR 2013 > 03Ramon Puigjaner Trepaten resumenCerrando el círculo: La computación en la nube en la práctica habitual > 08Llorenç Pagés Casas

monografíaComputación en la nubeEditor invitado: Fernando Piera GómezPresentación. ¿Cloud computing? o ¿Computación en la nube? > 06Fernando Piera GómezTecnologías de infraestructura en la nube > 09Enrique Birlanga TerrónISO 20000-7: Guía para la implantación de la ISO/IEC 20000-1 en la nube > 11Guillermo López MoratinosCuestiones legales sobre Cloud Computing > 14Karen Elizabeth Sánchez Quiñones, Ignacio Delgado Gonzalez, Idoia Uriarte LauzirikaDesarrollo de aplicaciones cloud con Windows Azure:Cuatro experiencias prácticas > 19Ramon Costa PujolSeguridad en el cómputo en la nube > 24Guillermo Morales-LunaSeguridad en la nube, algo nuevo bajo el sol > 29Olof SandstromAnálisis forense en un ecosistema tecnológico: redes sociales,tecnologías móviles y computación en la nube > 33Jeimy J. Cano

secciones técnicas

Interacción Persona-ComputadorEnriqueciendo la evaluación en videojuegos > 37José Luis González Sánchez, Rosa María Gil Iranzo, Francisco Luis Gutiérrez VelaSeguridadAnálisis de la seguridad del sistema reCAPTCHA > 43Noemí Carranza, Ricardo Palma Durán, Gonzalo Álvarez Marañón,José María Gómez HidalgoReferencias autorizadas > 49

Sociedad de la Información

Resultados de investigaciónLa Investigación en Informática en España: Análisis bibliométrico > 54Francisco Ruiz GonzálezProgramar es crearEl Problema del Laberinto Cuadrado(Competencia UTN-FRC 2011, problema B, solución) > 59Julio Javier Castillo, Diego Javier Serrano, Marina Elizabeth CárdenasEl Problema del Superbowling(Competencia UTN-FRC 2011, problema F, enunciado) > 60Julio Javier Castillo, Diego Javier Serrano, Marina Elizabeth Cárdenas

asuntos interioresCoordinación editorial / Programación de Novática / Socios Institucionales > 61

sumario

NováticaNováticaNováticaNováticaNovática, revista fundada en 1975 y decana de la prensainformática española, es el órgano oficial de expresión y for-mación continua de ATI ATI ATI ATI ATI (Asociación de Técnicos de Informá-tica), organización que edita también la revista REICIS REICIS REICIS REICIS REICIS (Re-vista Española de Innovación, Calidad e Ingeniería del Soft-ware). Novática Novática Novática Novática Novática co-edita asimismo UPUPUPUPUPGRADE, revistadigital de CEPIS CEPIS CEPIS CEPIS CEPIS (Council of European ProfessionalInformatics Societies), en lengua inglesa, y es miembro fun-dador de UPUPUPUPUPENET (UPUPUPUPUPGRADE EEEEEuropean NETNETNETNETNETwork).

<http://www.ati.es/novatica/><http://www.ati.es/reicis/>

<http://www.cepis.org/upgrade>

ATIATIATIATIATI es miembro fundador de CEPIS CEPIS CEPIS CEPIS CEPIS (Council of European ProfessionalInformatics Societies) y es representante de España en IFIP IFIP IFIP IFIP IFIP (InternationalFederation for Information Processing); tiene un acuerdo de colaboracióncon ACMACMACMACMACM (Association for Computing Machinery), así como acuerdos devinculación o colaboración con AdaSpainAdaSpainAdaSpainAdaSpainAdaSpain, AI2AI2AI2AI2AI2, ASTICASTICASTICASTICASTIC, RITSI RITSI RITSI RITSI RITSI eHispalinuxHispalinuxHispalinuxHispalinuxHispalinux, junto a la que participa en ProInnovaProInnovaProInnovaProInnovaProInnova.

Consejo EditorialIgnacio Agulló Sousa, Guillem Alsina González, María José Escalona Cuaresma, Rafael Fernández Calvo(presidente del Consejo), Jaime Fernández Martínez, Luís Fernández Sanz, Dídac Lopez Viñas,Celestino Martín Alonso, José Onofre Montesa Andrés, Francesc Noguera Puig, Ignacio Pérez Martínez,Andrés Pérez Payeras, Víktu Pons i Colomer, Juan Carlos Vigo López

Coordinación EditorialLlorenç Pagés Casas <[email protected]>Composición y autoediciónJorge Llácer Gil de RamalesTraduccionesGrupo de Lengua e Informática de ATI <http://www.ati.es/gt/lengua-informatica/>AdministraciónTomás Brunete, María José Fernández, Enric Camarero, Felicidad López

Secciones Técnicas - CoordinadoresAcceso y recuperación de la InformaciónJosé María Gómez Hidalgo (Optenet), <[email protected]>Manuel J. Maña López (Universidad de Huelva), <[email protected]>Administración Pública electrónicaFrancisco López Crespo (MAE), <[email protected]>ArquitecturasEnrique F. Torres Moreno (Universidad de Zaragoza), <[email protected]>Jordi Tubella Morgadas (DAC-UPC), <[email protected]>Auditoría SITICMarina Touriño Troitiño, <[email protected]>Manuel Palao García-Suelto (ATI), <[email protected]>Derecho y tecnologíasIsabel Hernando Collazos (Fac. Derecho de Donostia, UPV), <[email protected]>Elena Davara Fernández de Marcos (Davara & Davara), <[email protected]>Enseñanza Universitaría de la InformáticaCristóbal Pareja Flores (DSIP-UCM), <[email protected]>J. Ángel Velázquez Iturbide (DLSI I, URJC), [email protected]>Entorno digital personalAndrés Marín López (Univ. Carlos III), <[email protected]>Diego Gachet Páez (Universidad Europea de Madrid), <[email protected]>Estándares WebEncarna Quesada Ruiz (Virati), <[email protected]>José Carlos del Arco Prieto (TCP Sistemas e Ingeniería), <[email protected]>Gestión del ConocimientoJoan Baiget Solé (Cap Gemini Ernst & Young), <[email protected]>Informática y FilosofíaJosé Angel Olivas Varela (Escuela Superior de Informática, UCLM), <[email protected]>Roberto Feltrero Oreja (UNED), <[email protected]>Informática GráficaMiguel Chover Sellés (Universitat Jaume I de Castellón), <[email protected]>Roberto Vivó Hernando (Eurographics, sección española), <[email protected]>Ingeniería del SoftwareJavier Dolado Cosín (DLSI-UPV), <[email protected]>Daniel Rodríguez García (Universidad de Alcalá), <[email protected]>Inteligencia ArtificialVicente Botti Navarro, Vicente Julián Inglada (DSIC-UPV), <{vbotti,vinglada}@dsic.upv.es>Interacción Persona-ComputadorPedro M. Latorre Andrés (Universidad de Zaragoza, AIPO), <[email protected]>Francisco L. Gutierrez Vela (Universidad de Granada, AIPO), <[email protected]>Lengua e InformáticaM. del Carmen Ugarte García (ATI), <[email protected]>Lenguajes informáticosÓscar Belmonte Fernández (Univ. Jaime I de Castellón), <[email protected]>Inmaculada Coma Tatay (Univ. de Valencia), <[email protected]>Lingüística computacionalXavier Gómez Guinovart (Univ. de Vigo), <[email protected]>Manuel Palomar (Univ. de Alicante), <[email protected]>Mundo estudiantil y jóvenes profesionalesFederico G. Mon Trotti (RITSI), <[email protected]>Mikel Salazar Peña (Area de Jovenes Profesionales, Junta de ATI Madrid), <[email protected]>Profesión informáticaRafael Fernández Calvo (ATI), <[email protected]>Miquel Sàrries Griñó (ATI), <[email protected]>Redes y servicios telemáticosJosé Luis Marzo Lázaro (Univ. de Girona), <[email protected]>Juan Carlos López López (UCLM), <[email protected]>RobóticaJosé Cortés Arenas (Sopra Group), <[email protected]>Juan González Gómez (Universidad Carlos III), <[email protected] Areitio Bertolín (Univ. de Deusto), <[email protected]>Javier López Muñoz (ETSI Informática-UMA), <[email protected]>Sistemas de Tiempo RealAlejandro Alonso Muñoz, Juan Antonio de la Puente Alfaro (DIT-UPM),<{aalonso,jpuente}@dit.upm.es>Software LibreJesús M. González Barahona (Universidad Politécnica de Madrid), <[email protected]>Israel Herráiz Tabernero (UAX), <[email protected]>Tecnología de ObjetosJesus García Molina (DIS-UM), <[email protected]>Gustavo Rossi (LIFIA-UNLP, Argentina), <[email protected]>Tecnologías para la EducaciónJuan Manuel Dodero Beardo (UC3M), <[email protected]>César Pablo Córcoles Briongo (UOC), <[email protected]>.Tecnologías y EmpresaDidac López Viñas (Universitat de Girona), <[email protected]>Francisco Javier Cantais Sánchez (Indra Sistemas), <[email protected]>Tendencias tecnológicasAlonso Alvarez García (TID), <[email protected]>Gabriel Martí Fuentes (Interbits), <[email protected]>TIC y TurismoAndrés Aguayo Maldonado, Antonio Guevara Plaza (Univ. de Málaga), <{aguayo, guevara}@lcc.uma.es>

Las opiniones expresadas por los autores son responsabilidad exclusiva de losmismos.Novática Novática Novática Novática Novática permite la reproducción, sin ánimo de lucro, de todos los artículos, a menosque lo impida la modalidad de © o copyright elegida por el autor, debiéndose en todocaso citar su procedencia y enviar a Novática Novática Novática Novática Novática un ejemplar de la publicación.

Coordinación Editorial, Redacción Central y Redacción ATI MadridPadilla 66, 3º, dcha., 28006 MadridTlfn.914029391; fax.913093685 <[email protected]>Composición, Edición y Redacción ATI ValenciaAv. del Reino de Valencia 23, 46005 ValenciaTlfn. 963740173 <[email protected]>Administración y Redacción ATI CataluñaVia Laietana 46, ppal. 1ª, 08003 BarcelonaTlfn.934125235; fax 934127713 <[email protected]>Redacción ATI AragónLagasca 9, 3-B, 50006 Zaragoza.Tlfn./fax 976235181 <[email protected]>Redacción ATI Andalucía <[email protected]>Redacción ATI Galicia<[email protected]>Suscripción y Ventas <http://www.ati.es/novatica/interes.html>, ATI Cataluña, ATI MadridPublicidad Padilla 66, 3º, dcha., 28006 Madrid.Tlnf.914029391; fax.913093685 <[email protected]>Imprenta: Derra S.A., Juan de Austria 66, 08005 Barcelona.Depósito legal: B 15.154-1975 -- ISSN: 0211-2124; CODEN NOVAECPortada: Malvavisco - Concha Arias Pérez / © ATIDiseño: Fernando Agresta / © ATI 2003

Page 3: Novatica - 2012 - Cloud Computing - Windows Azure

novática nº 215 enero-febrero 2012 19

Computación en la nube monografía

monografía

1. IntroducciónSi revisamos las previsiones y estudios de losprincipales analistas y medios especializadossobre las tendencias en Tecnologías de laInformación (TI) para el 20121 , en todas lasapuestas aparece (y ya aparecía en anterioresaños) el "cloud computing" y la virtualizaciónde infraestructuras, base de las tecnologías endicho modelo.

El modelo de cloud computing permite a lasorganizaciones acceder a capacidades tecno-lógicas de forma flexible y bajo una fórmulade pago por uso. Es un nuevo modelo deprestación de servicios de negocio y tecnolo-gía que facilita al usuario (entiéndase tam-bién empresa u organización) acceder a uncatálogo de servicios estandarizados y res-ponder a las necesidades de su negocio, deforma flexible y adaptativa, en caso de deman-das no previsibles o de picos de trabajo,pagando únicamente por el consumo efec-tuado.

Después de varios años en los que las empre-sas han estado explorando y evaluando elmodelo de gestión y trabajo con las Tecnolo-gías de la Información (T.I.) en "la nube"(Cloud computing), su adopción se estáabriendo camino en la mayoría de los países,entre ellos España.

Las empresas tenderán, cada vez más, a cons-truir entornos de servicios en la nube.

Las previsiones que se manejan, por parte dediferentes consultoras y analistas, es que parael 2020, el peso del cloud en el mundo secuadriplicará, lo que supondrá un 8% delpresupuesto tecnológico de las empresas.

2. Cloud Computing: IaaS, PaaS ySaaSAhora bien, cuando hablamos de cloudcomputing tenemos que diferenciar entre lasmodalidades de IaaS (Infraestructura comoServicio), PaaS (Plataforma como Servicio)y SaaS (Software como Servicio).

El primer caso o nivel, IaaS, se encuentra enla capa inferior y es un medio de entregaralmacenamiento básico y capacidades decómputo como servicios estandarizados enla red: servidores, sistemas de almacenamien-to, conexiones, enrutadores y otros servicios.Un ejemplo de este ámbito sería Amazon WebServices2 .

En el caso de PaaS, lo que se ofrece es laencapsulación de un entorno de desarrollo yel empaquetamiento de servicios, como losejemplos de Google App Engine3 y WindowsAzure4 , de Microsoft, que permite el desarro-llo y ejecución de aplicaciones codificadas envarios lenguajes y tecnologías como .NET,Java y PHP.

Finalmente, las soluciones SaaS se caracteri-zan por ser una aplicación completa ofrecidacomo un servicio, "on-demand" víamultitenencia, una sola instancia del soft-ware que corre en la infraestructura del pro-veedor sirviendo a múltiples organizaciones.Ejemplos de este tipo de soluciones seríanSalesforce.com5 , Google Apps6 o MicrosoftOffice 3657 , que incluye versiones online de lamayoría de las aplicaciones de la suite ofimáticade Microsoft, el servidor de correo corpora-tivo Exchange, el servidor de comunicacionesonline Lync o la plataforma de colaboraciónSharePoint.

3. Beneficios, temores e inhibi-dores en las organizacionesA la hora de plantearse la migración o trabajocon soluciones en la nube, aparecen un con-junto de importantes beneficios, pero tam-bién algunos temores que actúan de barrera

o inhibidor para que las compañías hagan elsalto final.

La reducción de los costes tecnológicos esuna de las ventajas de uso de esta modalidad,ya que el gasto se adapta al consumo derecursos que haga la organización, pagandosólo por lo que se necesita y convirtiendo unosgastos fijos e inversiones, actualmente, engastos variables.

Otra ventaja es la flexibilidad y agilidad de estemodelo, ya que permite a las empresas au-mentar o disminuir los recursos tecnológicosde forma instantánea. Por ejemplo, una com-pañía puede hacer frente a un pico de ventasen Internet contratando en la nube más capa-cidad de cálculo, memoria y almacenamientodurante el tiempo que dure la campaña.

Las empresas pagan su estructura informá-tica de la misma forma que la luz, el agua oel gas, convirtiendo esta infraestructura enuna "commodity".

El temor acerca de aspectos relativos a laseguridad y privacidad de los datos son algu-nos de los factores que inhiben a las organi-zaciones a adoptar este modelo tecnológico.Es por ello que muchas empresas optan por

Desarrollo de aplicaciones cloudcon Windows Azure:

Cuatro experiencias prácticas

Ramon Costa PujolDirector de Proyectos de MIC Productivity

< r a m o n c @ m i c p r o d u c t i v i t y . c o m >< r a m o n c @ m i c p r o d u c t i v i t y . c o m >< r a m o n c @ m i c p r o d u c t i v i t y . c o m >< r a m o n c @ m i c p r o d u c t i v i t y . c o m >< r a m o n c @ m i c p r o d u c t i v i t y . c o m >

Resumen: Cloud computing es un término cada vez más asumido por las organizaciones que ven enesta nueva manera de consumir tecnologías de la información una importante serie de ventajas ybeneficios. Cuando hablamos de Cloud Computing tenemos que refererirnos a las modalidades de IasS(Infraestructura como Servicio), PaaS (Plataforma como Servicio) y SaaS (Software como Servicio). Sibien la mayoría de las compañías son usuarias de aplicaciones en modalidad cloud (SaaS) y las grandesorganizaciones están migrando su infraestructura (total o parcial) a una modalidad IaaS, hay un segmen-to importante de compañías, tanto de servicios de Tecnologías de la Información (TI) como empresas condepartamentos de desarrollo de software, que están optando también por la modalidad PaaS. De la manode cuatro ingenierías de software como son Itequia, Raona, Softeng y Pasiona, analizamos su experienciade trabajo con la plataforma Windows Azure de Microsoft.

Palabras clave: Cloud Computing, Itequia, MIC Productivity, PaaS, Pasiona, Raona, Softeng, WindowsAzure.

Autor

Ramon Costa Pujol es Ingeniero en Informática y Máster en Cualificación Pedagógica por la UPC, yDiplomado en Dirección General por la Escuela de Negocios EADA. Es Director de Proyectos y Respon-sable del área de acuerdos y Partners del Centro de Innovación en Productividad de Microsoft, MICProductivity <www.micproductivity.com>, responsabilidad que combina con la docencia universitariaen la UAB en el área de la Gestión de Proyectos y Consultoría, y la docencia en la Escuela de NegociosEADA como Profesor Adjunto del Departamento de Operaciones y Sistemas de Información. Ha sido co-fundador de la iniciativa emprendedora inPreneur <www.actioningorganizations.com>.

Page 4: Novatica - 2012 - Cloud Computing - Windows Azure

novática nº 215 enero-febrero 201220 monografía

monografía Computación en la nube

trabajar con "nubes privadas" en vez de "nubespúblicas", aquellas en las que la infraestruc-tura es compartida. U optan, también, porredes híbridas en las que una parte de la red espública y otra parte de servicios residen en lared privada.

Otro reto a superar por parte de las empresases el temor a la disponibilidad y accesibilidadde la información y aplicaciones. Muchosproveedores aseguran por contrato una altadisponibilidad del servicio como el caso deMicrosoft, que garantiza un 99,9% del mis-mo.

Otro aspecto importante a considerar, bajo elprisma de los departamentos de TI y Sistemasde Información es todo aquello relacionadocon la integración de sistemas, datos y segu-ridad, entre las soluciones en cloud y las "onpremise".

4. Experiencias reales en EspañaLa mayoría de los agentes del sector de lasTIC (operadores de telecomunicaciones, pro-veedores de tecnología, empresas de hosting,desarrolladores de software y compañías deInternet) están adoptando este modelo detrabajo en sus servicios y productos.

IBM prevé dar soporte a cerca de 200 millonesde usuarios en la nube para 2012 y facturar3.000 millones de dólares en 2015.

Microsoft, por ejemplo, cuenta con más de1,6 millones de usuarios en organizacionesprivadas y públicas en España haciendo usode sus soluciones en la nube.

Nos encontramos con ejemplos de organiza-ciones de todos los tamaños y sectores que yahan decidido adoptar esta nueva manera deconsumir tecnología:

Correos implantará el software de gestiónempresarial SAP con una infraestructura denube privada.

La Generalitat de Catalunya ha transferi-do a la nube el correo de sus 105.000 funcio-narios como parte de una estrategia de cloudprivada8 .

La Corporación Extremeña de MediosAudiovisuales utiliza una solución de infra-estructura en la nube para ofrecer contenidosen streaming y podcast, alojando los conteni-dos y servicios de su web y dominios en unanube pública, pagando por consumo real.

BBVA ha firmado un acuerdo con Googlepara utilizar su paquete de soluciones parasus más de 110.000 empleados, previendo sumigración durante 2012.

El Gobierno Vasco aprobó una proposi-ción de ley para estudiar y diseñar una estra-tegia de racionalización de su estructura in-formática en base al cloud computing9 .

El Gobierno Regional de Castilla-LaMancha dio el primer paso hacia la unifica-ción de los sistemas de información de sus

distintas Consejerías en un único Centro deProceso de Datos, valiéndose para ello de unainfraestructura de computación en la nubeprivada puesta en marcha de la mano deTelefónica y la alianza VCE (Cisco, VMWarey EMC)10 .

La campaña viral Gente Sin Miedo lanza-da por el Grupo Catalana Occidente paracaptar clientes entre los usuarios de las redessociales precisaba una plataforma flexible yágil que soportara el acceso simultáneo degran número de usuarios a la web que fueimplementada con Microsoft WindowsAzure11 .

Egencia, agencia de gestión de viajes, im-plantó Salesforce.com para automatizar susprocesos comerciales12

5. Microsoft Windows Azure: Pla-taforma cloud como servicioSi bien en las grandes empresas, el cloudcomputing se implanta a través de la infraes-tructura como servicio (IaaS), en las peque-ñas y medianas el foco se centra en trabajarcon soluciones en modo cloud computing(SaaS). Es decir, disponer de sus sistemas degestión empresarial, como por ejemplo, lasherramientas CRM (Gestión de la Relacióncon los Clientes) o las plataformas de pro-ductividad (Correo Electrónico, Audio y VídeoConferencias, Entornos de Colaboración…).Las grandes empresas también son usuarios,pero en menor porcentaje relativo de este tiposde soluciones, centrándose sobre todo enservicios como el correo corporativo en lanube, por ejemplo.

Sin embargo, las empresas de servicios desoftware, integradores de soluciones o com-pañías con departamentos de desarrollo desoftware son las principales usuarias de lasplataformas cloud en modalidad PaaS. Unade las opciones de plataforma en esta moda-lidad, como comentamos anteriormente, esla ofrecida por Microsoft: Windows Azure.

Windows Azure es un sistema operativo deservicios en la nube que funciona como entor-no de desarrollo, hospedaje y gestión de ser-vicios para la plataforma del mismo nombre.Windows Azure ofrece a los desarrolladoresfuncionalidades de almacenamiento y proce-samiento bajo demanda para hospedar, esca-lar y gestionar aplicaciones web en Internet através de los centros de datos de Microsoft.

Esta plataforma de nube abierta permite com-pilar (en cualquier lenguaje, herramienta omarco), implementar y administrar aplica-ciones rápidamente, en una red global decentros de datos administrados por Microsoft,e integrar las aplicaciones de nube públicascon el entorno de TI existente en la organiza-ción.

Windows Azure permite escalar aplicacionesa cualquier tamaño con facilidad, prestando

un autoservicio totalmente automatizadopara el aprovisionamiento de recursos encuestión de minutos, pagando los recursosque utiliza la aplicación. Permite almacenarlos datos en cualquier tipo de sistema dedatos: bases de datos relacionales, bases dedatos NoSQL o datos distribuidos, noestructurados. Es posible manipular con fa-cilidad estos datos, o usar la funcionalidad deHadoop y Business Intelligence para procedera la minería de datos e identificar las ideasfundamentales.

Windows Azure incluye sólidas funciones demensajería para aplicaciones distribuidas ehíbridas, puede exponer aplicaciones a travésde firewalls, puertas de enlace NAT y otroslímites de red y está disponible en varioscentros de datos del mundo, lo que permiteimplementar las aplicaciones cerca de losclientes.

A continuación exponemos la experiencia de4 empresas de servicio de ingeniería de soft-ware, Itequia, Pasiona, Raona, Softeng,Pasiona, que nos comparten sus vivencias yaprendizajes con el desarrollo de aplicacionessobre Windows Azure.

Anexo 1: Itequia - "La experienciadel TercerLugar"

(Escrito por Oriol Fernàndez MorenoOriol Fernàndez MorenoOriol Fernàndez MorenoOriol Fernàndez MorenoOriol Fernàndez Moreno,Team Leader en Itèquia. <[email protected]>)

"¿Quién no ha tenido la necesidad, alguna vez,de trabajar fuera de la oficina o fuera de casa yde encontrar un lugar adecuado para hacerlo?"

La aplicaciónIdeado por Microsoft Productivity Center ydesarrollado por Itèquia, Tercer lugar es unaaplicación web desarrollada con ASP.net y, ensu versión móvil, con Windows Phone 7 SDKque nace con el objetivo de cubrir algunas delas necesidades de los trabajadores móvilescomo:

Informar las ubicaciones y las caracterís-ticas de éstas dentro de la ciudad donde podertrabajar.

Dar de alta nuevos espacios, cualificar yopinar sobre los mismos de forma parti-cipativa.

Ofrecer enlaces de interés, artículos y ca-sos de éxito sobre el trabajo móvil.

Ofrecer consejos y buenas prácticas que seincorporen a este modo de trabajar.

Descargar aplicaciones para dar de alta yconsultar ubicaciones desde dispositivosmóviles.

La implementaciónA la hora de implementar la aplicación bara-jamos diferentes opciones sobre qué tecnolo-gías utilizar y qué arquitectura implementar:desde hospedar la aplicación en servidores on-

Page 5: Novatica - 2012 - Cloud Computing - Windows Azure

novática nº 215 enero-febrero 2012 21

Computación en la nube monografía

monografía

premise del MIC Productivity, hasta, en aque-llos momentos, hospedarla en la aún incipien-te nube. Para este caso concreto, la decisiónestaba tomada, la aplicación se iba a desarro-llar sobre la nube. Concretamente sobreWindows Azure (de aquí en adelante Azure),dada la escalabilidad, la replicación y consis-tencia frente a cambios de la aplicación queofrece; sin olvidar la alta disponibilidad delsistema sin costes de operación. En otraspalabras, gracias a Azure, TercerLugar estádisponible el 99,9% sin necesidad de designaruna persona que tenga que monitorizar suestado.

Suponiendo que el lector ya está, en mayor omenor grado, familiarizado con los concep-tos PaaS (Platform as a Service) y con laarquitectura de Azure os explicaré cómoestructuramos la aplicación dentro del servi-cio.

Como podréis observar, se trata de unaimplementación básica de servicios de Azure.La aplicación cuenta con dos web roles dentrode Azure compute. Por un lado el web roleencargado de gestionar y hospedar toda laparte web de la aplicación y por el otro el webrole encargado de gestionar y hospedar losservicios web encargados de proporcionar lainformación necesaria a la aplicación móvil.La autenticación y autorización se gestionanmediante Azure App Fabric Access controlutilizando el Live ID del usuario (solo esnecesaria autenticación si el usuario quiereañadir nuevos lugares o bien si quiere añadircomentarios). Y los datos tales como lalocalización de los lugares, las característicasde los mismos y las opiniones de los usuariosse almacenan en SQL Azure.

Es evidente que el modo correcto deimplementar los servicios web y la aplicación,así como la autenticación y la autorizaciónsobre Azure es el descrito, pero ¿porqué uti-lizar SQL Azure para almacenar los datos?¿Porqué no utilizar Azure Storage Tables?La clave en la decisión es la estructura de losdatos. Se trata de un modelo relacional,donde todos los registros deben cumplir unesquema; este modelo es imposible de repre-sentar dentro de Azure Storage Tables dadoque aunque soportan el almacenamiento deinformación en formato tabular, no te asegu-ran la integridad y el cumplimiento del esque-ma de los datos.

De este modo, podemos representar la estruc-tura de la aplicación como se puede observaren la figura 1figura 1figura 1figura 1figura 1.

ConclusionesEl hecho de desarrollar la aplicación sobreAzure no supone muchas diferencias en cuan-to a desarrollar una aplicación web para serhospedada on-premise. Este hecho es graciasa que Azure ofrece a los desarrolladores las

mismas características que usarían paraimplementar una aplicación web destinada aun entorno "no Azure".

Podréis pensar en el modelo de facturación deAzure a la hora de implementar una aplica-ción sobre la plataforma; tened en cuenta (taly como se detalla en Windows AzurePlatform13 ) que Azure factura por el uso delos siguientes Servicios, entre otros: instan-cias de Azure Compute, de Azure Storage, detransacciones de access control o bien de usode SQL Azure. Bien, pues, está en nuestrasmanos el hecho de hacer que esta facturaciónsea mínima: deberemos de programar en loque a veces se denomina como programaciónen función de costes; esto pasa por optimizarlas instancias de compute que vamos a usar,optimizar las peticiones a las bases de datosde SQL Azure o bien intentar optimizar lasfunciones que usan características de AzureApp Fabric como Access Control, Caché oService Bus.

Anexo 2: Pasiona - ClickPost.com,en un único buzón toda tu corres-pondencia

(Escrito por Txema MorenoTxema MorenoTxema MorenoTxema MorenoTxema Moreno, Project Ma-nager de Pasiona. <[email protected]>)

Click post, un único buzón para toda tucorrespondencia. Así podríamos definir enuna frase el servicio gratuito que ofrece estastartup nacida en Barcelona y con objetivosinternacionales.

El Proyecto ClickPost nace de un conceptomuy sencillo a la vez que extremadamenteinteresante: convertir el buzón de cartas detoda la vida en un buzón online, con lasventajas que supone disponer de nuestra co-rrespondencia (facturas, recibos, etc…) deforma conjunta y categorizada. ClickPostproporciona muchas ventajas para el usua-rio: eliminar los recibos físicos que inundanlos cajones de nuestra casa, buscar fácilmenteun recibo o factura, etiquetar y agrupar losrecibos, son solo algunas de ellas.

Una correspondencia informatizada además,permite explotar la información de nuestrosconsumos, pudiendo visualizar gráficos detendencia, comparativas con el resto de usua-rios y llevar una contabilidad doméstica.

La apuesta de ClickPost fue desarrollar laherramienta con tecnología Microsoft acom-pañada de la mano de Pasiona, empresa espe-cialista en el desarrollo de software del fabri-cante americano y con un área dedicada enexclusiva a prestar soluciones a medida parastartups en Internet.

Pasiona, alineada a la estrategia de Microsoften entorno web, apostó por desarrollar el

front-end del aplicativo en MVC ASP.NET ydecidió alojar el software sobre el sistemaoperativo en la nube Windows Azure.

El primero, permite crear páginas "ligeras",particularmente indicadas para un consumomasivo mientras el segundo conlleva todaslas ventajas de un alojamiento en la nube ypermite al cliente disponer de una solucióncuyos costes son proporcionales al volumende visitas.

Particularmente, la plataforma WindowsAzure ofrece a este modelo de negocio venta-jas incomparables, tanto en los tiempos dedesarrollo como en los costes de manteni-miento posteriores.

La solución requería dos líneas de desarrollo:Por un lado, la Integración con Emisores,

que se compone de una capa de middlewarededicada a la realización de procesos de inte-gración entre el backOffice de ClickPost y losdiferentes emisores de documentos (bancos,utilities, etc.). Estos procesos, requieren unacarga importante de CPU en días determina-dos del mes así que las tareas de conexión,normalización de documentos, extracción demetadatos y entrega al usuario se sustentansobre Worker Roles y Colas de Azure de una

Web Role : Aplicación

Web

Web Role: Servicios

Web

Figura 1. Estructura de la apl icaciónTercerLugar.

Page 6: Novatica - 2012 - Cloud Computing - Windows Azure

novática nº 215 enero-febrero 201222 monografía

monografía Computación en la nube

forma totalmente asíncrona. Azure permiteademás levantar tantas instancias como seannecesarias durante el proceso y reducirlas unavez finalizado optimizando al máximo losrecursos y en consecuencia los costes.

Por otro lado, el desarrollo del Portal Webse sustenta sobre el Web Role de Azure en suversión MVC, que ofrece la posibilidad decrear un portal claramente orientado al usua-rio. Al igual que los Worker Roles, es posibledimensionarlo en función de las necesidadesde carga, pudiendo variar en función de lafranja horaria incluso en un mismo día. Eldimensionamiento es dinámico y se puedeparametrizar para que, cuando se sobrepasenuna serie de indicadores, el sistema sea capazautomáticamente de levantar instancias paragarantizar el acceso fluido a la web.

Azure además ofrece otras ventajas que sehan aprovechado para el proyecto ClickPosty que son aplicables en mayor o menor medidaa cualquier otra solución:

El Blob Storage, que permite el almacena-miento masivo de documentos con un volu-men prácticamente ilimitado, aportando unavelocidad de acceso óptima gracias a su motorde búsqueda e indexación.

La Escalabilidad. Como hemos comenta-do anteriormente, Azure permite escalar tantoen número de máquinas virtuales como en laconfiguración de las mismas, adaptándose a lasnecesidades del servicio que queremos prestar.

La Disponibilidad. Microsoft garantiza un99.99% de disponibilidad en la firma del SLA deservicio. Aparte, el sistema de gestión de versio-nes de Azure permite pasar fácilmente de unentorno de Staging a Producción, gracias a lafuncionalidad de "SWAP VIP", sin que la webdeje de funcionar en ningún momento.

El Cache Distribuido. Debido a que unportal puede tener "n" instancias levantadaspara garantizar un tiempo de respuesta ópti-mo, Azure dispone de un proveedor de CacheDistribuido, configurable y escalable en fun-ción de las necesidades.

La Seguridad. El Access Control resuelvelas problemáticas de seguridad. La autentica-ción de usuarios, la gestión de cookies y lostokens están integrados en el entorno delpropio Azure, facilitando tanto el desarrollocomo su posterior gestión.

Y por último las pruebas de stress que, unavez diseñadas, no requieren realizar estimacio-nes de "cuántos usuarios aguantarían ‘n’ má-quinas". Azure permite realizar un test reallevantando instancias y analizando el compor-tamiento de las mismas con el objetivo deencontrar el equilibrio entre tiempos de respues-tas del sistema y coste de infraestructura.

Anexo 3: Raona – ItsHappy, ocio ysolidaridad en Windows Azure

(Escrito por David SolsonaDavid SolsonaDavid SolsonaDavid SolsonaDavid Solsona, BusinessDevelopment & Integration Manager enRaona, <[email protected]>)

ITsHappy es un portal donde el usuariopuede gestionarse los regalos, organizar fies-tas y su agenda del ocio además de ayudar alas ONG’s con recursos y tecnología.

Nuestra experiencia con Windows Azureempieza en diciembre de 2010, cuando serealizó la migración de la plataforma desde unservicio de hosting estándar a Windows Azure.

¿Tiempo de migración? Una noche.

¿Motivo de la migración? Escalabilidad, te-níamos previsión de un aumento indetermi-nado de visitas al portal, durante un espaciocorto de tiempo al principio y necesitábamosflexibilidad y facilidad para aumentar o redu-cir la capacidad disponible.

¿Por qué Windows Azure? Aquí tuvimos encuenta las siguientes consideraciones:

Conocimiento del equipo de desarrollo delas tecnologías Microsoft. Ya cuando sedecidió apostar en desarrollar en .NET, fuepor el conocimiento de la tecnología y por laproductividad que ofrecen las herramientasde desarrollo de Microsoft frente a otrasexistentes.

SQL Azure es el servicio de base de datosindependiente a los servicios de cómputo ypresentación, el cual puede utilizarse tantopara las aplicaciones desplegadas en Azurecomo para las que podamos tener localmen-te. Excepto algunas funcionalidades que to-davía no tienen implementadas, la mayorparte de las necesidades de nuestra platafor-ma quedan cubiertas por el gestor, e insisti-mos, podíamos aprovechar el conocimientode nuestro equipo técnico. Además existe laforma de poderlo gestionar online y con lasherramientas habituales.

Facilidad de despliegue algo que en miexperiencia a veces es difícil de conseguir. Puesbien bajo este punto quisiera comentar losiguiente:- Entorno de pruebas similar: al crear unaimagen exacta de lo que vas a poner en produc-ción, una vez comprobado, y solo con unclick, rápidamente pasas a tener la nuevaversión operativa. Y algo muy valorable, sipor cualquier motivo tienes que hacer rollback,con el mismo click tienes el sistema en laversión anterior.- Despliegue gestionado desde el propioVisual Studio, lo que nos supone gran pro-ductividad y eficiencia.- Despliegues parciales: En caso de quererrealizar despliegues parciales útiles para resolverrápidamente alguna incidencia, es tan sencillocomo si tuvieras los servidores localmente,realizando una conexión mediante los serviciosde terminal o con alguna utilidad que desplieguelos binarios o páginas afectadas.

El servicio de storage, una solución per-fecta para poner todos aquellos recursosgenerados o utilizados por el portal, comoimágenes, ficheros de estilos, javascripts, etc.

Todo aquello que podrías modificar sin nece-sidad de realizar un despliegue.

Coste, , , , , es algo que en el momento dedecidir no fue el punto principal, nos basamosen una referencia de precios que nos presenta-ron, y aparte de pagar cara la inexperiencia, seajustó bastante a lo esperado.

¿Nivel de satisfacción? Llevo muchos añostrabajando con diferentes tecnologías inclui-da las de Microsoft y sinceramente he de decirque en esta ocasión han superado mis expec-tativas, hasta el momento satisfacción máxi-ma. Enumeraré los indicadores para mí, másrepresentativos:

Productividad: El equipo solamente sededica al desarrollo de los servicios, nuestraresponsabilidad de que funcione y la de Azurede tenerlo disponible.

Rendimiento: Muchos me preguntan, ¿esbarato? ¿no sale caro?, y no tengo argumen-tos para dar una respuesta definitiva; demomento nuestra experiencia es: 0 proble-mas, 0 tiempo dedicado a resolver tareas desistemas, tiempo de adaptación al nuevoentorno bajo. Aunque no sabemos qué hubie-se pasado si la decisión hubiese sido otra.

Soporte: Lógicamente tenemos el apoyode los ingenieros especialistas de Raona parasolucionar cualquier contingencia o estar aldía de las novedades que nos ayuden a mejorarla plataforma.

Espero que os haya sido útil nuestra experien-cia y por favor contactad conmigo en el casode requerir más información.

Anexo 4: Softeng

(((((Escrito por Carlos ColellCarlos ColellCarlos ColellCarlos ColellCarlos Colell, Director Gene-ral de Softeng, <[email protected]>)

Fundada en 1997, Softeng es una consultoríae ingeniería de software experta en tecnologíasMicrosoft y especializada en cloud. La com-pañía cuenta con la certificación como GoldCertified Partner de Microsoft y con 22 com-petencias tecnológicas, es la empresa españo-la con más certificaciones Microsoft.....

Las tres áreas de negocio de Softeng son elDesarrollo de proyectos Web mediante SoftengPortal Builder, Intranets colaborativas median-te SharePoint, e Ingeniería de sistemas críticos(que abarca el diseño, despliegue y administra-ción de infraestructuras robustas con tecnolo-gía Microsoft, tanto on-premise como en "lanube").

A la primera área pertenece su solución SoftengPortal Builder, una plataforma concebidapara el desarrollo y gestión de proyectos Webempresariales, evolucionada hacia "la nube"aprovechando los beneficios que ofreceWindows Azure de Microsoft y desarrolladausando una arquitectura orientada a domi-nio (DDD).

Page 7: Novatica - 2012 - Cloud Computing - Windows Azure

novática nº 215 enero-febrero 2012 23

Computación en la nube monografía

monografía

Notas

Softeng Portal Builder es una plataformaempresarial para llevar a cabo proyectos weben la nube de forma rentable, ayudando aimpulsar a las empresas a través de la Web yofreciendo autonomía y productividad en lagestión del sitio con bajos costes de propiedad(ver figura 2figura 2figura 2figura 2figura 2).

La plataforma está pensada para los sitiospúblicos estratégicos de la mediana y granempresa con necesidades constantes de ac-tualización y rotación de contenidos. De entretodas sus ventajas destacan la productividadque brinda la edición visual desde la propiaweb, la mejora del posicionamiento enbuscadores, el sistema de traducción simul-tánea de contenidos y las analíticas web deúltima generación que permiten conocer elcomportamiento de los visitantes incremen-tando su conversión y mejorando así losresultados del sitio.

El punto de partida antes de evolucionar aWindows Azure era una aplicación de arqui-tectura compleja que podía estar instalada enlos servidores del centro de datos de Softeng,en los del propio cliente o en un ISP.

Tal y como había previsto Softeng, estemovimiento inicial hacia la nube se realizó deforma no demasiado traumática, gracias alas similitudes entre Azure y el entorno dedesarrollo anterior, pero inicialmente resultóque Portal Builder no podía funcionar deforma óptima en Azure pues requería unconsumo excesivo de recursos para que surendimiento fuera el deseado. Por lo tanto, sedecidió llevar a cabo una reingeniería total dela aplicación.

1 Ver por ejemplo, <http://trends.ticbeat.com/trends-2012-tendencias-innovacion-2012/> y<http://www.computereconomics.com/page.c f m ? n a m e = t e c h n o l o g y % 2 0 t r e n d s > .2 <http://aws.amazon.com/es/>.3 <http://code.google.com/intl/es-ES/appengine/>.4 <http://www.windowsazure.com/es-es/>.5 <http://www.salesforce.com>.6 <http://www.google.com/apps>.7 <http://www.microsoft.com/es-es/office365>.8 <http://www.microsoft.com/spain/prensa/noticia.aspx?infoid=/2011/04/n001-Microsoft-proporciona-servicios-cloud-a-Generalitat-Cata-lana>.9 <http://www.euskadinnova.net/es/enpresa-digitala/noticias/gobierno-vasco-pondra-marcha-experiencias-cloud-computing/7603.aspx>.10 <http://www.clubdeinnovacion.es/index.php?option=com_mtree&task=viewlink&link_id=466&Itemid=64>.11 <http://www.microsoft.com/spain/enterprise/casos-ex i to/deta l le-casos-de-ex i to.aspx?ContenidoID=20110315001>.12 <http://www.salesforce.com/es/customers/travel-transportation/expedia_corp_travel.jsp>.13 <http://msdn.microsoft.com/en-us/library/windowsazure/dd163896.aspx>.14 <http://microsoftnlayerapp.codeplex.com/>.

Durante la fase de incepción de la nuevaarquitectura, Softeng tomó contacto con laversión beta de la Guía de "Arquitectura N-Capas orientada al Dominio con .NET 414 ",creada por Microsoft Ibérica. Si bien aúnestaba madurando, esta guía mostró un cla-ro mapa de arquitectura DDD relacionadocon las tecnologías de Microsoft disponiblespara realizar el trabajo. Además, la Guía deArquitectura y la aplicación de ejemplo deMicrosoft también ayudó a los ingenieros deSofteng a cubrir aspectos importantes dearquitectura que no se cubren en el librooriginal de Eric Evans, tales como la inyecciónde dependencias (DI) e inversión de control(Ioc) utilizando Microsoft Unity. Bien utili-zado sirve para seguir el principio de diseñoOpen Closed Principle o Protected Variations,importante principio de diseño que permiteflexibilidad y extensibilidad.

Gracias a la nueva arquitectura, actualmenteSofteng Portal Builder ofrece una escala-bilidad lineal en Azure con un muy bajoconsumo de recursos así como un rendimien-to extraordinario. En resumen, es capaz deatender a 2.500 usuarios simultáneos porinstancia mediana de Azure, sirviendo laspeticiones a una media de 301ms.

Entre las razones para cambiar a Azure nosolo estuvo el fuerte compromiso de Softengcon la innovación: Queremos que el mercadoperciba nuestra plataforma como puntera,encuadrada en el estado del arte de la tecno-logía, y Azure contribuye en gran medida alograr esta percepción. Con Azure ya notenemos que invertir fuerte y constantementeen hardware, software y personal de soporte

Figura 2. Arquitectura de Softeng Portal Builder.

para mantener un datacenter clásico, redu-ciendo notablemente nuestros costes.