Trabajo fin de master Dirección TI

33
Desarrollo de aplicaciones en la nube Trabajo fin de master: Master executive en dirección de tecnologías de la información Manuel Crespo González 9 de Octubre de 201

description

Desarrollo de aplicaciones en Cloud Computing

Transcript of Trabajo fin de master Dirección TI

Page 1: Trabajo fin de master Dirección TI

Desarrollo de aplicaciones en la nube

Trabajo fin de master:Master executive en dirección de tecnologías de la

información

Manuel Crespo González

9 de Octubre de 2012

Page 2: Trabajo fin de master Dirección TI

Introducción

• El porqué de elegir este tema para realizar el trabajo de fín de master

• Herramientas en la nube usadas para realizar el trabajo:– Google apps– Google drive– Amazon EC2

Page 3: Trabajo fin de master Dirección TI

¿Qué es cloud computing?

• Convergencia de varias tecnologias– Web + Virtualización

• Acceso a ordenadores y sus funcionalidades a través de internet.

• Normalmente pago por uso.• No hay una estandarización aunque algunos

fabricantes lo están intentando con algunos frameworks: Eucalyptus, OpenStack, etc.

Page 4: Trabajo fin de master Dirección TI

Clasificación de nubes

• Según grado de privatización:– Pública– Privada– Híbrida

• Según tipología de servicio:– IaaS o Infraestructura como servicio.– PaaS o Plataforma como servicio.– SaaS o Software como servicio.

Page 5: Trabajo fin de master Dirección TI

Clasificación de nubes

Page 6: Trabajo fin de master Dirección TI

Ventajas

• Pago por consumo, ideal para la creación de nuevos servicios.

• Normalmente reducción de costos en infraestructuras y operación.– Outsourcing de TI.

• Escalabilidad sencilla y absorción de picos.• Despreocupación sobre backups o reparación de

máquinas o infraestructuras.• Facilidad de realizar pruebas.• Time to market reducido.

Page 7: Trabajo fin de master Dirección TI

Desventajas

• Servicios poco personalizados.• Alta latencia. Se necesitan accesos más

rápidos. • Mas dificil controlar la seguridad y privacidad.• Confiar en proveedores externos para albergar

datos y aplicaciones, a veces sensibles.• En algunos casos podria resultar mas caro que

tener recursos própios.

Page 8: Trabajo fin de master Dirección TI

Evolución de arquitectura de aplicaciones

• Aplicaciones monolíticas.• Aplicaciones cliente / servidor• Arquitectura multi-capas

Page 9: Trabajo fin de master Dirección TI

Evolución de arquitectura de aplicaciones

• Aplicaciones web– Arquitectura web en cuatro capas

Page 10: Trabajo fin de master Dirección TI

Evolución de arquitectura de aplicaciones

• Aplicaciones web– Arquitectura MVC

Page 11: Trabajo fin de master Dirección TI

Evolución de arquitectura de aplicaciones

• Aplicaciones web– RIA (Rich Internet Applications)

Page 12: Trabajo fin de master Dirección TI

Evolución de arquitectura de aplicaciones

• Aplicaciones web– RIA (Rich Internet Applications)

• Applet• Adobe Flash• Java WebStart• Ajax• HTML5

– Webservices Soap & REST– SOA (Service Oriented Architecture)

• SOA podría ser visto como la evolución de la computación distribuida y la programación modular, siendo el paso anterior al SaaS en el Cloud Computing.

Page 13: Trabajo fin de master Dirección TI

Evolución de arquitectura de aplicaciones

Vista conceptual de SOA

Page 14: Trabajo fin de master Dirección TI

Evolución de arquitectura de aplicaciones

• Aplicaciones web– Web 2.0 y Mashups

• Apps móviles• Aplicaciones SaaS

Page 15: Trabajo fin de master Dirección TI

Evolución de arquitectura de aplicaciones

• El futuro de las técnicas de programación:– Se tiende a lenguajes de scripting.– Lenguajes cada vez de mas alto nivel.– Automatización de pruebas.– Otras tendencias NaCl (Google native client)

Page 16: Trabajo fin de master Dirección TI

Lenguajes de programación adaptados al desarrollo en la nube

• IaaS:– Cualquier lenguaje actual (C++, Java, Pascal, .net, etc).

• PaaS:– Proporcionado por el proveedor:– Java, Spring, Ruby, Scala, Php, .net.

• SaaS:– Parametrización de las aplicaciones. – Apex de Salesforce (A caballo entre PaaS y SaaS).

Google Apps Script.

Page 17: Trabajo fin de master Dirección TI

Persistencia de datos

• BBDD relacionales:– MySql, PostgreSQL, Oracle, DB2, Microsoft SQL

Server o Google Cloud SQL. • Big tables / NoSQL:– Hadoop, Apache Cassandra, Hypertable, LevelDB,

Amazon SimpleDB, MapReduce, Microsoft SDS, MongoDB, CouchDB, LucidDB.

Page 18: Trabajo fin de master Dirección TI

Seguridad

Page 19: Trabajo fin de master Dirección TI

Seguridad. Gestión del ciclo de vida de la información.

Page 20: Trabajo fin de master Dirección TI

Seguridad. Gestión del ciclo de vida de la información.

• Seguridad de los datos. Confidencialidad, Integridad, Disponibilidad, Autenticidad, Autorización, Autenticación y No Repudio.

• Geo-localización de los datos.• Remanencia o persistencia de datos. • Mezcla de datos con otros clientes de la nube.• Planes de backup y recuperación de datos para la

recuperación y restauración. • Descubrimiento de datos.• Agregación de datos e inferencia.

Page 21: Trabajo fin de master Dirección TI

Seguridad de las aplicaciones

• Arquitectura de seguridad de la aplicación.• Ciclo de vida del desarrollo de software.• Cumplimiento normativo.• Herramientas y servicios.• Vulnerabilidades.

Page 22: Trabajo fin de master Dirección TI

Testeo de aplicaciones en la nube

• Pruebas de humo.• Pruebas funcionales.• Pruebas de regresión.• Pruebas de aceptación.• Pruebas de rendimiento.• Pruebas de seguridad.• Testeo basado en modelos.• Testeo de interface de usuario gráfico.• Testeo de servicios web.• Testeo de aplicaciones móviles.• Pruebas en la nube o TaaS (Test as a service).

Page 23: Trabajo fin de master Dirección TI

Ejemplos de servicios en la nube

• Amazon EC2 (Elastic Compute Cloud) (IaaS)– Elastic block store, Elastic IP, Private cloud,

CoudWatch, Elastic Load Balancing, AWS marketplac, etc.

• Microsoft Azure (Paas + IaaS + SaaS)– Windows Azure, Servicios .net, Servicios SQL,

Servicios Live, Virtual Network, Websites, etc.• Google App Engine (Paas + SaaS)• Arsys.es CloudBuilder (IaaS)

Page 24: Trabajo fin de master Dirección TI

Migración y vuelta atrás

• Mas complicado según modelo: IaaS < PaaS < SaaS• Entre IaaS. Uso de herramientas como SCP o

FastSCP. Intentar usar proveedores que usen estandares como OpenStack o Eucalyptus.

• Entre PaaS. El uso de librerias y Apis complica la migración. También hay frameworks: Cloud Foundry, Red Hat OpenShift, Jclouds.

• Entre SaaS. Extremadamente complejo. Ejemplo de Salesforce a SugarCRM.

Page 25: Trabajo fin de master Dirección TI

Migración y vuelta atrás

• Entre SaaS. Extremadamente complejo. Ejemplo de Salesforce a SugarCRM:– Migración de datos.– Adaptaciones realizadas.– Aplicaciones de terceros.– Estudiar rendimiento.– Estudios de seguridad.– Formación de usuarios.

Page 26: Trabajo fin de master Dirección TI

Migración y vuelta atrás

• Migración de modelo tradicional a SaaS:– Migrar de modelo de negocio centrado en producto a uno

centrado en servicios.– Rediseñar las estrategias de salida a mercado.– Reestructurar los modelos de reconocimiento de ingresos

“paga lo que consumas”.– Reorientar los departamentos de desarrollo, ventas y

soporte.– Sin instalación o automatizada.– Manejo de suscripciones.– Monitorización de transacciones y operativa.

Page 27: Trabajo fin de master Dirección TI

Caso práctico. Televisión interactiva para la fundación Cristóbal Gabarrón

• Que es la fundación.• Que tipo de proyecto quiere. • Análisis técnico. Referencia de Spiegel.tv.

– Amazon EC2 (Elastic compute Cloud) para sistemas CMS (gestión de conteni-dos) y transcodificación de video.

– Amazon SQS (Simple Queue Service) para colas.– Amazon CloudFront para la distribución de ficheros estáticos y

streaming de vi-deo (mas de 70 millones de peticiones mensuales).– Amazon S3 (Simple Storage Service) para almacenamiento.– Amazon EBS (Elastic Block Store) como una instancia de

almacenamiento con snapshots cada hora y recuperación de desastres.

Page 28: Trabajo fin de master Dirección TI
Page 29: Trabajo fin de master Dirección TI

Caso práctico

• Uso de un CDN o Content delivery network– Mayor capacidad de conexión– Disminución del tiempo de respuesta – Disminución de los costos asociados a la entrega

de contenidos. – Disminución de carga de la red.

• Adobe Flash Media Server

Page 30: Trabajo fin de master Dirección TI

Caso práctico

• 15 minutos diarios a 1000 usuarios diferentes = 7500 horas servidas al mes.• 7500 x 0,80Gb/h = 6000 Gb/mes• Almacenamiento, 20 horas nuevas cada mes. 16Gb mensuales. Unos 200

Gb / año.• En Amazon EC2 el coste de 1 instancia de Adobe Flash Media Server

mensual incluye el precio del servidor.

Bitrate ideal

Page 32: Trabajo fin de master Dirección TI

Coste mensual Amazon EC2

Page 33: Trabajo fin de master Dirección TI

Coste mensual InHouse