Evolución de las aplicaciones

Alberto Molina Coballes y José Domingo Muñoz Rodríguez

Theme by: reveal.js

Aplicaciones nativas para la nube

  • La utilización de toda la funcionalidad de la nube, principalmente la elasticidad, implica un cambio drástico en la arquitectura del software hacia lo que se conoce como cloud applications
  • Alternativamente se pueden aprovechar ciertas funcionalidades de cloud computing para aplicaciones "clásicas"
  • El objetivo sería desarrollar aplicaciones que puedan adaptarse a las necesidades de cada momento ejecutándose en una infraestructura elástica, gestionada por la propia aplicación

Aplicaciones tradicionales

"legacy" applications

  • Número estable de máquinas virtuales grandes
  • Escalado vertical
  • Vida media de años
  • Aplicaciones no diseñadas para tolerar fallos. La redundancia se proporciona en el nivel inferior

Ref: K. Basil: Intro. and Overview of OpenStack for IaaS

Aplicaciones nativas para la nube

"Cloud ready" applications

  • Número variable de pequeñas máquinas virtuales
  • Escalado horizontal
  • Vida media desde algunas horas a meses
  • Aplicaciones tolerantes a fallos

Ref: K. Basil: Intro. and Overview of OpenStack for IaaS

¿Tardaremos mucho en desarrollar y utilizar aplicaciones nativas de cloud o estaremos durante años utilizando la nube para aplicaciones tradicionales?

Legacy Apps

Ref: Cloudscaling. Pets vs. Cattle: The Elastic Cloud Story

Cloud Apps

Ref: Cloudscaling. Pets vs. Cattle: The Elastic Cloud Story

Pets vs Cattle

pets_vs_cattle

Ref: Gavin McCance - CERN

Cloud Management Platform (CMP)

Datacenter virtualization

  • Extensión de la virtualización clásica
  • Además de la virtualización de servidores se incluyen la virtualización del almacenamiento y las redes
  • Más adecuada para aplicaciones clásicas
  • Puede llegar a utilizarse para aplicaciones "cloud"
  • Evolución natural de VMware: vCloud
  • La alternativa libre más cercana sería Opennebula

Ref: Ignacio M. Llorente - Eucalyptus, CloudStack, OpenStack and OpenNebula: A Tale of Two Cloud Models

Cloud Management Platform (CMP)

Aprovisionamiento de infraestructura

  • Toma como referencia AWS
  • Open: estandarizada, licencias libres, accesible, abierta
  • Más adecuada para aplicaciones "cloud"
  • Puede utilizarse también para aplicaciones clásicas
  • La opción más conocida es OpenStack

Ref: Ignacio M. Llorente - Eucalyptus, CloudStack, OpenStack and OpenNebula: A Tale of Two Cloud Models

Microservicios y contenedores

  • Arquitectura de microservicios
  • Alta densidad
  • Aplicaciones distribuidas
  • Necesitan de infraestructura, ¿cloud?