SlideShare una empresa de Scribd logo
1 de 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 2012
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
¿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.
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.
Clasificación de nubes
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.
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.
Evolución de arquitectura de
              aplicaciones
• Aplicaciones monolíticas.
• Aplicaciones cliente / servidor
• Arquitectura multi-capas
Evolución de arquitectura de
              aplicaciones
• Aplicaciones web
  – Arquitectura web en cuatro capas
Evolución de arquitectura de
              aplicaciones
• Aplicaciones web
  – Arquitectura MVC
Evolución de arquitectura de
              aplicaciones
• Aplicaciones web
  – RIA (Rich Internet Applications)
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.
Evolución de arquitectura de
        aplicaciones




         Vista conceptual de SOA
Evolución de arquitectura de
              aplicaciones
• Aplicaciones web
  – Web 2.0 y Mashups
• Apps móviles
• Aplicaciones SaaS
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)
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.
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.
Seguridad
Seguridad. Gestión del ciclo de vida de
           la información.
Seguridad. Gestión del ciclo de vida de
           la información.
• Seguridad de los datos.
  Confidencialidad, Integridad, Disponibilidad, Aute
  nticidad, 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.
Seguridad de las aplicaciones
•   Arquitectura de seguridad de la aplicación.
•   Ciclo de vida del desarrollo de software.
•   Cumplimiento normativo.
•   Herramientas y servicios.
•   Vulnerabilidades.
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).
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)
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.
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.
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.
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.
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
Caso práctico
                                Bitrate ideal




•   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.
Coste mensual Amazon EC2




                           Despliege
Coste mensual Amazon EC2



                                                             Mantenimiento
Concepto                        Pago inicial Pago mensual    anual
Desarrollo aplicación            € 18.480,00      € 840,00
Administrador sistema externo     € 3.400,00      € 680,00
Pago Amazon                         € 265,00      € 810,00
Alquiler línea internet fibra                      € 39,90
Leasing 2 ordenadores oficina                     € 140,00
Codificador PandaStream                            € 76,00
Total                            € 22.145,00    € 2.585,90
Coste mensual InHouse

                                               Pago men-     Mantenimiento
Concepto                          Pago inicial sual          anual
Desarrollo aplicación             € 18.480,00       € 840,00
Coste 2 administradores                          € 8.100,00
Alquiler sistema servidores       € 25.000,00    € 2.000,00
Coste eléctrico                                     € 500,00
Alquiler línea datos alta velo-
cidad                                            € 2.000,00
Leasing 2 ordenadores oficina                      € 140,00
Adobe Flash Media Server           € 1.040,00                        € 325,00
Codificador PandaStream                             € 76,00
Total                             € 44.520,00   € 13.656,00          € 325,00

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Servicios de bases de datos en AWS
Servicios de bases de datos en AWSServicios de bases de datos en AWS
Servicios de bases de datos en AWS
 
Comenzando con los servicios móviles en AWS
Comenzando con los servicios móviles en AWSComenzando con los servicios móviles en AWS
Comenzando con los servicios móviles en AWS
 
Mejores prácticas de IAM
Mejores prácticas de IAMMejores prácticas de IAM
Mejores prácticas de IAM
 
Innovación en la empresa a velocidad de startup
Innovación en la empresa a velocidad de startupInnovación en la empresa a velocidad de startup
Innovación en la empresa a velocidad de startup
 
Patrones de Arquitectura para Big Data en AWS
Patrones de Arquitectura para Big Data en AWSPatrones de Arquitectura para Big Data en AWS
Patrones de Arquitectura para Big Data en AWS
 
AnalyticZ - De la A a la Z con Amazon Web Services
AnalyticZ - De la A a la Z con Amazon Web ServicesAnalyticZ - De la A a la Z con Amazon Web Services
AnalyticZ - De la A a la Z con Amazon Web Services
 
Introducción a Big Data en AWS
Introducción a Big Data en AWSIntroducción a Big Data en AWS
Introducción a Big Data en AWS
 
Cómputo y Almacenamiento en la nube
Cómputo y Almacenamiento en la nubeCómputo y Almacenamiento en la nube
Cómputo y Almacenamiento en la nube
 
Migración de datos a la nube: 6 estrategias para llevar datos a AWS
Migración de datos a la nube: 6 estrategias para llevar datos a AWSMigración de datos a la nube: 6 estrategias para llevar datos a AWS
Migración de datos a la nube: 6 estrategias para llevar datos a AWS
 
Ahorre hasta un 90% en ambientes productivos con instancias Spot
Ahorre hasta un 90% en ambientes productivos con instancias SpotAhorre hasta un 90% en ambientes productivos con instancias Spot
Ahorre hasta un 90% en ambientes productivos con instancias Spot
 
Industria 4.0 Cloud computing
Industria 4.0 Cloud computingIndustria 4.0 Cloud computing
Industria 4.0 Cloud computing
 
Servicios de storage de AWS
Servicios de storage de AWSServicios de storage de AWS
Servicios de storage de AWS
 
AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servici...
AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servici...AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servici...
AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servici...
 
Entorno de datos Microsoft Cloud
Entorno de datos Microsoft CloudEntorno de datos Microsoft Cloud
Entorno de datos Microsoft Cloud
 
AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires
AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos AiresAWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires
AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires
 
Azure presentación Gran hermano vip - desayuno microsoft
Azure   presentación Gran hermano vip - desayuno microsoftAzure   presentación Gran hermano vip - desayuno microsoft
Azure presentación Gran hermano vip - desayuno microsoft
 
Comenzando con la nube híbrida
Comenzando con la nube híbridaComenzando con la nube híbrida
Comenzando con la nube híbrida
 
Webinar: Adopción de servicios administrados Windows File Server, Patches y C...
Webinar: Adopción de servicios administrados Windows File Server, Patches y C...Webinar: Adopción de servicios administrados Windows File Server, Patches y C...
Webinar: Adopción de servicios administrados Windows File Server, Patches y C...
 
Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta ...
Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta ...Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta ...
Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta ...
 
Windows Server 2012 web and application platform
Windows Server 2012 web and application platformWindows Server 2012 web and application platform
Windows Server 2012 web and application platform
 

Destacado

Preparacion Ambiente Wmb6.X
Preparacion Ambiente Wmb6.XPreparacion Ambiente Wmb6.X
Preparacion Ambiente Wmb6.X
Oscar V
 
Presentacion Cloud Computing Navarparty
Presentacion Cloud Computing NavarpartyPresentacion Cloud Computing Navarparty
Presentacion Cloud Computing Navarparty
apocalipsis1234
 
REST, JERSEY & SOAP
REST, JERSEY & SOAPREST, JERSEY & SOAP
REST, JERSEY & SOAP
ea2014G3
 
Oracle Certified Expert, Java EE 6 Web Service Developer
Oracle Certified Expert, Java EE 6 Web Service DeveloperOracle Certified Expert, Java EE 6 Web Service Developer
Oracle Certified Expert, Java EE 6 Web Service Developer
Oscar V
 
Arquitectura Orientada a Servicios
Arquitectura Orientada a ServiciosArquitectura Orientada a Servicios
Arquitectura Orientada a Servicios
finger10
 
Java WebServices JaxWS - JaxRs
Java WebServices JaxWS - JaxRsJava WebServices JaxWS - JaxRs
Java WebServices JaxWS - JaxRs
Hernan Rengifo
 
Gianfranco Gugliandolo Service Oriented Architecture Overview
Gianfranco Gugliandolo Service Oriented Architecture OverviewGianfranco Gugliandolo Service Oriented Architecture Overview
Gianfranco Gugliandolo Service Oriented Architecture Overview
Orlando Huaranga Negrete
 

Destacado (20)

Services factory
Services factoryServices factory
Services factory
 
Gestión de problemas
Gestión de problemasGestión de problemas
Gestión de problemas
 
WMB for z/OS - Configuracion del nodo CICSRequest en z/OS
WMB for z/OS - Configuracion del nodo CICSRequest en z/OSWMB for z/OS - Configuracion del nodo CICSRequest en z/OS
WMB for z/OS - Configuracion del nodo CICSRequest en z/OS
 
Preparacion Ambiente Wmb6.X
Preparacion Ambiente Wmb6.XPreparacion Ambiente Wmb6.X
Preparacion Ambiente Wmb6.X
 
BPM with REST
BPM with RESTBPM with REST
BPM with REST
 
Presentacion Cloud Computing Navarparty
Presentacion Cloud Computing NavarpartyPresentacion Cloud Computing Navarparty
Presentacion Cloud Computing Navarparty
 
REST, JERSEY & SOAP
REST, JERSEY & SOAPREST, JERSEY & SOAP
REST, JERSEY & SOAP
 
Introducción a Curso IDE - Introducción a SOS
Introducción a Curso IDE - Introducción a SOSIntroducción a Curso IDE - Introducción a SOS
Introducción a Curso IDE - Introducción a SOS
 
Examen tercer parcial
Examen tercer parcialExamen tercer parcial
Examen tercer parcial
 
Arquitectura REST
Arquitectura RESTArquitectura REST
Arquitectura REST
 
Oracle Certified Expert, Java EE 6 Web Service Developer
Oracle Certified Expert, Java EE 6 Web Service DeveloperOracle Certified Expert, Java EE 6 Web Service Developer
Oracle Certified Expert, Java EE 6 Web Service Developer
 
Git
GitGit
Git
 
Arquitectura Orientada a Servicios
Arquitectura Orientada a ServiciosArquitectura Orientada a Servicios
Arquitectura Orientada a Servicios
 
Project Flyer: E-evalinto
Project Flyer: E-evalintoProject Flyer: E-evalinto
Project Flyer: E-evalinto
 
Métodos de Arquitectura de Información para la organización de contenidos en ...
Métodos de Arquitectura de Información para la organización de contenidos en ...Métodos de Arquitectura de Información para la organización de contenidos en ...
Métodos de Arquitectura de Información para la organización de contenidos en ...
 
Gamificacion Aula Invertida Fundamentos de Programación
Gamificacion Aula Invertida Fundamentos de ProgramaciónGamificacion Aula Invertida Fundamentos de Programación
Gamificacion Aula Invertida Fundamentos de Programación
 
Presentacion3
Presentacion3Presentacion3
Presentacion3
 
Java WebServices JaxWS - JaxRs
Java WebServices JaxWS - JaxRsJava WebServices JaxWS - JaxRs
Java WebServices JaxWS - JaxRs
 
Gianfranco Gugliandolo Service Oriented Architecture Overview
Gianfranco Gugliandolo Service Oriented Architecture OverviewGianfranco Gugliandolo Service Oriented Architecture Overview
Gianfranco Gugliandolo Service Oriented Architecture Overview
 
Arquitectura Orientada a Servicios
Arquitectura Orientada a ServiciosArquitectura Orientada a Servicios
Arquitectura Orientada a Servicios
 

Similar a Trabajo fin de master Dirección TI

Descubriendo Windows Azure Platform 16-02-2011
Descubriendo Windows Azure Platform 16-02-2011Descubriendo Windows Azure Platform 16-02-2011
Descubriendo Windows Azure Platform 16-02-2011
Gisela Torres
 
Cloud computing as business
Cloud computing as businessCloud computing as business
Cloud computing as business
Logicalis Latam
 

Similar a Trabajo fin de master Dirección TI (20)

WhyFLOSS - Como evitar caer cautivo de las Nubes Propietarias
WhyFLOSS - Como evitar caer cautivo de las Nubes PropietariasWhyFLOSS - Como evitar caer cautivo de las Nubes Propietarias
WhyFLOSS - Como evitar caer cautivo de las Nubes Propietarias
 
Microservicios con ASP.NET Core
Microservicios con ASP.NET CoreMicroservicios con ASP.NET Core
Microservicios con ASP.NET Core
 
Plataforma de computacion en la nube
Plataforma de computacion en la nubePlataforma de computacion en la nube
Plataforma de computacion en la nube
 
IaaS + PaaS Cloud Solutions
IaaS + PaaS Cloud Solutions IaaS + PaaS Cloud Solutions
IaaS + PaaS Cloud Solutions
 
Contenedores y el Futuro del Despliegue de Aplicaciones
Contenedores y el Futuro del Despliegue de AplicacionesContenedores y el Futuro del Despliegue de Aplicaciones
Contenedores y el Futuro del Despliegue de Aplicaciones
 
Azure Training Day Guatemala - Migración de Aplicaciones Web a Azure
Azure Training Day Guatemala - Migración de Aplicaciones Web a AzureAzure Training Day Guatemala - Migración de Aplicaciones Web a Azure
Azure Training Day Guatemala - Migración de Aplicaciones Web a Azure
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Arquitecturas y estrategias para generar aplicaciones modernas en AWS - MXO20...
Arquitecturas y estrategias para generar aplicaciones modernas en AWS - MXO20...Arquitecturas y estrategias para generar aplicaciones modernas en AWS - MXO20...
Arquitecturas y estrategias para generar aplicaciones modernas en AWS - MXO20...
 
AWSome Day - Conferencia Online Junio 2020
AWSome Day - Conferencia Online Junio 2020 AWSome Day - Conferencia Online Junio 2020
AWSome Day - Conferencia Online Junio 2020
 
cloudcomputing: Cloud Computing: ¿ una opción viable para su negocio?
cloudcomputing: Cloud Computing: ¿ una opción viable para su negocio?cloudcomputing: Cloud Computing: ¿ una opción viable para su negocio?
cloudcomputing: Cloud Computing: ¿ una opción viable para su negocio?
 
Descubriendo windows azure
Descubriendo windows azureDescubriendo windows azure
Descubriendo windows azure
 
Derribando la torre de marfil - Plain Concepts Dev Day
Derribando la torre de marfil - Plain Concepts Dev DayDerribando la torre de marfil - Plain Concepts Dev Day
Derribando la torre de marfil - Plain Concepts Dev Day
 
Descubriendo Windows Azure Platform 16-02-2011
Descubriendo Windows Azure Platform 16-02-2011Descubriendo Windows Azure Platform 16-02-2011
Descubriendo Windows Azure Platform 16-02-2011
 
Presentacion cloud computing
Presentacion cloud computingPresentacion cloud computing
Presentacion cloud computing
 
Cloud computing[1]
Cloud computing[1]Cloud computing[1]
Cloud computing[1]
 
Viaje a través de la nube - ¿Qué es AWS?
Viaje a través de la nube - ¿Qué es AWS?Viaje a través de la nube - ¿Qué es AWS?
Viaje a través de la nube - ¿Qué es AWS?
 
Offering Cloud Solutions
Offering Cloud Solutions Offering Cloud Solutions
Offering Cloud Solutions
 
Commit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine LearningCommit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine Learning
 
Cloud computing as business
Cloud computing as businessCloud computing as business
Cloud computing as business
 
KronOps - Perfil Corporativo
KronOps - Perfil CorporativoKronOps - Perfil Corporativo
KronOps - Perfil Corporativo
 

Último

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Último (10)

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 

Trabajo fin de master Dirección TI

  • 1. 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
  • 2. 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
  • 3. ¿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.
  • 4. 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.
  • 6. 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.
  • 7. 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.
  • 8. Evolución de arquitectura de aplicaciones • Aplicaciones monolíticas. • Aplicaciones cliente / servidor • Arquitectura multi-capas
  • 9. Evolución de arquitectura de aplicaciones • Aplicaciones web – Arquitectura web en cuatro capas
  • 10. Evolución de arquitectura de aplicaciones • Aplicaciones web – Arquitectura MVC
  • 11. Evolución de arquitectura de aplicaciones • Aplicaciones web – RIA (Rich Internet Applications)
  • 12. 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.
  • 13. Evolución de arquitectura de aplicaciones Vista conceptual de SOA
  • 14. Evolución de arquitectura de aplicaciones • Aplicaciones web – Web 2.0 y Mashups • Apps móviles • Aplicaciones SaaS
  • 15. 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)
  • 16. 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.
  • 17. 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.
  • 19. Seguridad. Gestión del ciclo de vida de la información.
  • 20. Seguridad. Gestión del ciclo de vida de la información. • Seguridad de los datos. Confidencialidad, Integridad, Disponibilidad, Aute nticidad, 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.
  • 21. Seguridad de las aplicaciones • Arquitectura de seguridad de la aplicación. • Ciclo de vida del desarrollo de software. • Cumplimiento normativo. • Herramientas y servicios. • Vulnerabilidades.
  • 22. 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).
  • 23. 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)
  • 24. 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.
  • 25. 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.
  • 26. 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.
  • 27. 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.
  • 28.
  • 29. 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
  • 30. Caso práctico Bitrate ideal • 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.
  • 31. Coste mensual Amazon EC2 Despliege
  • 32. Coste mensual Amazon EC2 Mantenimiento Concepto Pago inicial Pago mensual anual Desarrollo aplicación € 18.480,00 € 840,00 Administrador sistema externo € 3.400,00 € 680,00 Pago Amazon € 265,00 € 810,00 Alquiler línea internet fibra € 39,90 Leasing 2 ordenadores oficina € 140,00 Codificador PandaStream € 76,00 Total € 22.145,00 € 2.585,90
  • 33. Coste mensual InHouse Pago men- Mantenimiento Concepto Pago inicial sual anual Desarrollo aplicación € 18.480,00 € 840,00 Coste 2 administradores € 8.100,00 Alquiler sistema servidores € 25.000,00 € 2.000,00 Coste eléctrico € 500,00 Alquiler línea datos alta velo- cidad € 2.000,00 Leasing 2 ordenadores oficina € 140,00 Adobe Flash Media Server € 1.040,00 € 325,00 Codificador PandaStream € 76,00 Total € 44.520,00 € 13.656,00 € 325,00