Multicloud

448 views
392 views

Published on

Published in: Software
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
448
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
12
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Multicloud

  1. 1. Sistemas multicloud: retos y oportunidades Estado del arte y perspectivas de futuro Carlos Canal Cáceres, Mayo de 2014 Carlos Canal Grupo GISUM Universidad de Málaga e-mail: canal@lcc.uma.es http://www.lcc.uma.es/~canal
  2. 2. Sistemas multicloud. Mayo de 2014 Cloud Computing Modelo de computación basado en • conjunto de recursos compartidos y configurables – redes, servidores, almacenamiento, servicios • fácilmente accesibles a través de la red • acceso ubicuo y bajo demanda • rápidamente asignados y liberados – con mínimo esfuerzo e interacción con el proveedor del servicio (NIST, 2011)
  3. 3. Sistemas multicloud. Mayo de 2014 Orígenes y evolución 1950’s. Mainframes con terminales (remotos) – time sharing, remote job entry (RJE) 1960’s. “Computation may someday be organized as a public utility” (McCarthy) 1990’s. Virtual Private Networks (VPN) – conmutación de redes, equilibrio de carga 2000’s. Virtualización (VirtualBox, VMware) 2000’s. Amazon EC2 (2006) 2010’s. Explosión del fenómeno cloud
  4. 4. Sistemas multicloud. Mayo de 2014 Tipos de clouds • Cloud privado – operado por una única organización para uso propio • Cloud comunitario – compartido por varias organizaciones con intereses similares • Cloud público – ofrecido por un proveedor (cloud vendor) al público en general • Cloud híbrido – combinación de dos o más clouds (públicos, privados…) • Cloud heterogéneo – formado por diversos tipos de servidores • Cloud distribuido – formado por servidores distribuidos geográficamente
  5. 5. Sistemas multicloud. Mayo de 2014 Modelos de servicio • IaaS. Infrastructure as a Service • PaaS. Platform as a Service • SaaS. Software as a Service • XaaS, *-aaS. Anything as a Service – STaaS – DBaS – CaaS – NaaS – Maas – PeaaS – …
  6. 6. Sistemas multicloud. Mayo de 2014 Infrastructure as a Service IaaS ofrece servicios básicos de: • máquinas virtuales, con distintas configuraciones • control y equilibrado de carga, autoescalado (hipervisor) • almacenamiento en disco, bloques u objetos • direccionamiento IP, firewall • software básico preinstalalado en donde el usuario instala y ejecuta sus aplicaciones Proveedores – Amazon EC2, Google Compute Engine, Microsoft Azure – AT&T, HP, Oracle, IBM, … – CloudStack (Datapipe), OpenStack (RackSpace), …
  7. 7. Sistemas multicloud. Mayo de 2014 Platform as a Service PaaS ofrece: • herramientas para crear aplicaciones web – lenguajes de programación (Java, Python, Ruby, PHP,…) – bibliotecas – base de datos (MySQL, MongoDB,…) – … que después se ejecutan sobre la propia plataforma Proveedores – Google App Engine, Microsoft Azure Websites – Heroku (Salesforce.com) – Cloud Foundry (AppFog, Tier3, Pivotal)
  8. 8. Sistemas multicloud. Mayo de 2014 Software as a Service SaaS ofrece: • aplicaciones o servicios web – de propósito general o específicos – que se ejecutan en la plataforma del proveedor – destinados a usuarios finales (GUI, navegador web) – pero también accesibles a través de una API Servicios • Google Drive, Office 365, Dropbox • Youtube, Flickr, Picassa • Spotify, Grooveshark • Wikia • …
  9. 9. Sistemas multicloud. Mayo de 2014 Fortalezas y Oportunidades • Eficiencia – optimiza el uso de los recursos disponibles – reduce costes medioambientales – reduce el tiempo de llegada al mercado • Economía de escala – ofrece soluciones asequibles (pay-as-you-go o suscripción) – reduce drásticamente la inversión inicial – ajusta dinámicamente el coste al uso de los recursos Las tecnologías cloud – son una alternativa a los centros de datos de empresa – resultan muy adecuadas para startups
  10. 10. Sistemas multicloud. Mayo de 2014 Debilidades y Amenazas • Volatilidad – mercado aún joven e inestable – cualquier proveedor puede desaparecer a corto o medio plazo – o cambiar significativamente sus políticas de negocio y facturación • Heterogeneidad – oferta de recursos similares de manera heterogénea • sistemas propietarios; falta de estándares • disparidad en lenguajes de desarrollo y bibliotecas • infraestructura tecnológica y servicios ofertados Las tecnologías cloud – pueden ser causa de morir de éxito – presentan serios problemas de vendor lock-in
  11. 11. Sistemas multicloud. Mayo de 2014 Vendor Lock-in • Dependencia de un cliente respecto a los productos y servicios ofrecidos por su proveedor – elevados costes para cambiar de proveedor – fragmenta el mercado y dificulta la libre competencia • En sistemas cloud – falta de estándares y disparidad de sistemas propietarios • El vendor lock-in dificulta – portabilidad – interoperabilidad – migración el desarrollo de sistemas multicloud
  12. 12. Sistemas multicloud. Mayo de 2014 Vendor lock-in • Diferencias en – mecanismos de acceso (HTTP, REST, SOAP, línea comandos) – APIs ofrecidas • IaaS – VM ofertadas y software preinstalado – hipervisores (VMware, KVM, Xen, ... ) • PaaS – lenguajes de programación y bibliotecas disponibles – bases de datos y otras infraestructuras (Google Cloud DataStore) • SaaS – funcionalidad y semántica del servicio – mecanismos específicos para servicios locales (Azure Service Bus) – representación de los datos (XML, JSON)
  13. 13. MODELSWARD , Barcelona, February 20, 2013 Vendor Lock-in Escenario • Dependencias entre una app y el proveedor cloud 1. entre componentes cloud y el resto del sistema 2. entre componentes cloud y los servicios de la plataforma subyacente 3. entre componentes cloud y servicios externos alojados en clouds distintos 1 2 3
  14. 14. Sistemas multicloud. Mayo de 2014 Sistemas multicloud • Orientados a la portabilidad, interoperabilidad, y migración – integran diversas tecnologías para crear un mercado común – eliminan o mitigan los riesgos asociados al vendor lock-in Nivel 0. Sistemas monocloud específicos – diseñados para ejecutarse en un cloud determinado (incl. estándar) Nivel 1. Sistemas monocloud agnósticos – portabilidad: la asignación se retrasa a etapas tardías de desarrollo Nivel 2. Sistemas multicloud de topología estática – interoperabilidad: formado por artefactos en clouds distintos Nivel 3. Sistemas multicloud de topología dinámica – migración: los artefactos pueden moverse de un cloud a otro – monitorización
  15. 15. Sistemas multicloud. Mayo de 2014 Sistemas multicloud • Gran cantidad de iniciativas – falta de estándares – inestabilidad – trasladan el lock-in del cloud vendor al multicloud vendor • Clasificación – Estandarización – APIs y middleware – MDD • Ámbito – la mayoría para IaaS – algunas incursiones en PaaS
  16. 16. Sistemas multicloud. Mayo de 2014 CloudStack Apache Software Foundation (2013) – originalmente Cloud.com y Citrix • creación de clouds IaaS (públicos, privados o híbridos) – estándar de código abierto • arquitectura simple, aunque rígida – 2 VM incluso en la misma máquina física – Management Server: API RESTful y tb. compatible Amazon WS – Cloud Infrastructure: hipervisor e infraestructura cloud – hipervisores: XenServer, Oracle VM, VMware, KVM, vSphere, … • sin demasiado respaldo industrial – uso escaso como cloud público (p.ej. Datapipe)
  17. 17. Sistemas multicloud. Mayo de 2014 OpenStack OpenStack Software Foundation – originalmente Rackspace y NASA – numerosos participantes: Red Hat, Oracle, IBM, VMWare, … • creación de clouds IaaS con gran número de servidores – estándar de código abierto (licencia Apache 2.0) – portabilidad entre clouds • arquitectura más compleja y difícil de instalar – integración con tecnologías de almacenamiento y virtualización – hipervisores: Xen, KVM, otros parcialmente – segura y resistente • autoescalado, equilibrado de carga, firewall, detección de intrusos • mayor comunidad de usuarios y perspectivas
  18. 18. Sistemas multicloud. Mayo de 2014 jclouds Apache Software Foundation • toolkit y API multicloud IaaS de código abierto – wrapper que abstrae de particularidades de los clouds – portabilidad, interoperabilidad, migración dinámica – interfaz Java; no precisa usar tecnologías cloud y WS (REST, etc.) – bajo nivel, no hay noción de arquitectura o topología • ComputeService: gestión de VMs (nodos), instalación de software… • Blobstore: almacenamiento de datos clave-valor • Clouds soportados – +30: Google, Amazon EC2, Azure , HP, OpenStack, CloudStack, … – amplia comunidad de usuarios
  19. 19. Sistemas multicloud. Mayo de 2014 OCCI Open Cloud Computing Interface Open Grid Forum (OGF, 2011) – inicialmente Sun Microsystems, RabbitMQ y UCM – +250 miembros: Rackspace, Oracle, OpenNebula, … • especificación de API estándar para IaaS – código abierto – RESTful, HTTP – integración, portabilidad e interoperabilidad multicloud – despliegue, autoescalado, monitorización, … • implementaciones para: – Amazon EC2, CloudStack, OpenStack, jclouds, … • iniciativa más bien académica – no ha despertado el interés de los grandes proveedores
  20. 20. Sistemas multicloud. Mayo de 2014 Cloud Foundry Core Cloud Foundry Foundation – originalmente desarrollado por VMware – CloudFoundry.com (Pivotal), CenturyLink (AppFog), Tier 3, … • cloud PaaS virtual para el desarrollo de aplicaciones web – estándar de código abierto (licencia Apache 2.0) – precisa de middleware para la ejecución sobre otros clouds • Amazon WS, Microsoft Azure, HP,… – lenguajes: Java, Python … – frameworks: Spring, Django, … – bases de datos: MySQL, Postgres, MongoDB, … • el middleware sobrecarga la ejecución (y el coste) – se despliega "la planta con la maceta"
  21. 21. Sistemas multicloud. Mayo de 2014 Brooklyn Apache Software Foundation – originalmente desarrollado por CloudSoft – precursor de CAMP • biblioteca Java para aplicaciones distribuidas multicloud – construido sobre jclouds – portabilidad, interoperabilidad, migración – despliegue, monitorización y adaptación dinámica – cierto nivel de descripción arquitectónica y topológica • panel de control – interfaz gráfica, de comandos y REST – almacenamiento de credenciales – se elige proveedor(es) y se despliega con un solo clic
  22. 22. Sistemas multicloud. Mayo de 2014 Brooklyn: Conceptos • Entidad – componente de una aplicación (WAR, JBox, BD, cluster,…) – atributos de configuración (localización, memoria, usr/pwd,…) – sensores: auditan la entidad (latencia, CPU,…) y generan eventos – efectores: actúan sobre la entidad (arranque, apagado,…) • Política (regla de adaptación) – se suscribe a sensores y actúa sobre los efectores – pueden arrancarse y apagarse – Enricher: genera eventos de alto nivel a partir de otros • Aplicación – contenedor jerárquico de entidades – no hay representación explícita de conexiones – define despliegue y políticas
  23. 23. Sistemas multicloud. Mayo de 2014 Brooklyn: Arquitectura
  24. 24. Sistemas multicloud. Mayo de 2014 TOSCA Topology & Orchestration Specification for Cloud Apps Estándar OASIS (2013) – comité de +70 miembros: IBM, Red Hat, CISCO, CapGemini,… • especificación agnóstica de apps. (mono-)cloud complejas – portabilidad (redefiniendo operaciones) – arquitectura, topología, nodos (artefactos) y relaciones – operaciones para despliegue, escalado y apagado de artefactos – archivo CSAR (comprimido, XML) – gran complejidad e interdependencias en el CSAR – Winery: editor gráfico que ayuda a crear el CSAR • Management Plan – workflow: BPMN, BPEL,… – describe el comportamiento operacional – creación de VMs, asignación de artefactos…
  25. 25. Sistemas multicloud. Mayo de 2014 TOSCA Conceptos • Service Template – describe arquitectura de la aplicación cloud – tipos, topología y planes • Types – interfaces, propiedades, capacidades y requisitos • Topology Template – estructura (nodos y relaciones) • Planes – comportamiento – llama a operaciones de los nodos
  26. 26. Sistemas multicloud. Mayo de 2014 TOSCA Management Plans
  27. 27. Sistemas multicloud. Mayo de 2014 OpenTOSCA Open Source Runtime Environment for TOSCA Universidad de Stuttgart – actualmente en desarrollo (v1.1, cierta inestabilidad) – código abierto • entorno de ejecución TOSCA – interpreta el archivo CSAR – admite planes en BPEL y (recientemente) YAML – realiza las operaciones de despliegue en el cloud elegido – ejecuta la aplicación como un WS sobre Apache Tomcat • clouds soportados – en principio cualquier IaaS • otras implementaciones basadas en TOSCA – IBM SmartCloud Orchestrator (anunciada en 2013), …
  28. 28. Sistemas multicloud. Mayo de 2014 Cloud4SOA Cloud Interoperability Framework for SOA design, deployment and distributed execution – EU FP7-ICT (2010-2013). 2,730M€ – ATOS, CERTH, Cyntelix, Telecom Portugal, … •Framework abierto de interoperabilidad semántica – portabilidad a nivel PaaS para aplicaciones (mono-)cloud •Modelo de recursos y servicios – proporciona información QoS sobre distintos PaaS •Discovery & matchmaking – ayuda el proceso de decisión para el despliegue •Repositorio – define adaptadores para conseguir portabilidad cloud
  29. 29. Cloud4SOA Sistemas multicloud. Mayo de 2014
  30. 30. Cloud4SOA Arquitectura Sistemas multicloud. Mayo de 2014
  31. 31. Sistemas multicloud. Mayo de 2014 MODAClouds Model-Driven Approach for Design and Execution of Applications on Multiple Clouds – EU FP7-ICT (2012-2015) – ATOS, Polimi, SINTEF, Imperial College London, Siemens, … •Entorno de desarrollo (IDE) y ejecución (mono-)cloud – generación semi-automática de código – portabilidad – despliegue cloud agnóstico garantizando QoS •Entorno de monitorización y auto-adaptación – data collectors: IaaS, PaaS, SaaS – data analysers: determinístico, estadístico (predicciones) – C-SPARQL (consultas sobre flujos de datos RDF)
  32. 32. Sistemas multicloud. Mayo de 2014 MODAClouds Arquitectura
  33. 33. Sistemas multicloud. Mayo de 2014 MODAClouds Monitorización
  34. 34. Sistemas multicloud. Mayo de 2014 CAMP Cloud Application Management for Platforms Estándar OASIS – comité de +20 miembros: Oracle, Red Hat, Rackspace, Cloudsoft,… – en desarrollo, aun muy inestable – basado en REST • Definición conceptual de recursos e interfaces para: – construir, administrar, ejecutar, parchear y monitorizar aplicaciones – portabilidad entre plataformas PaaS – despliegue monocloud – fomentar el desarrollo de herramientas
  35. 35. Recursos • plataformas, ensamblados, componentes, sensores, planes, servicios, relaciones... • identificados mediante URI • accedidos con HTTP y JSON Self Service API PaaS • acceso y gestión de recursos • no realiza la implementación – se deja al proveedor PaaS Sistemas multicloud. Mayo de 2014 CAMP Self Service API PaaS
  36. 36. Sistemas multicloud. Mayo de 2014 CAMP Planes y despliegue Plan • archivo YAML con metadatos que describe – capacidades de una aplicación – artefactos que la forman – servicios para usar los artefactos – relaciones entre artefactos y servicios Platform Deployment Package (PDP) • archivo (zip, tar…) que contiene – plan – artefactos – certificados y credenciales
  37. 37. Sistemas multicloud. Mayo de 2014 Seaclouds Seamless adaptive multi-cloud management of service-based applications – EU FP7-ICT (2013-2016). 2,190M€ – ATOS, UMA, UNIPI, Polimi, CloudSoft, Nuro Games •Framework y tools para aplicaciones multicloud complejas – modelado (arquitectura y requisitos QoS) – planificación y despliegue (asignación de artefactos a clouds) – monitorización y reconfiguración runtime para asegurar QoS •Agility after Deployment •promoción de estándares y tecnologías ya existentes – TOSCA, MODAClouds, Brooklyn, jclouds
  38. 38. Sistemas multicloud. Mayo de 2014 Seaclouds Arquitectura
  39. 39. Sistemas multicloud. Mayo de 2014 Comparativa
  40. 40. Reflexiones Estandarización Iniciativas – CloudStack, OpenStack, OVF, OCCI, OGF, TOSCA, CAMP,… • Fortalezas y oportunidades – una interfaz común para todos los proveedores – no se produce vendor lock-in – permiten portabilidad e interoperabilidad • Debilidades y amenazas – poco impacto y/o estado preliminar de desarrollo – los grandes proveedores no están interesados en la estandarización – no serán una solución a medio y corto plazo – pueden consolidarse varios estándares Sistemas multicloud. Mayo de 2014
  41. 41. Reflexiones Middleware y APIs Iniciativas – CloudFoundry, OpenTosca, Clod4SOA, SOCCA, IBM AltoCumulus, MODAClouds, SeaClouds, … – OCCI, jclouds, Brooklyn, mOSAIC, … • Fortalezas y oportunidades – aíslan la aplicación de la plataforma y servicios subyacentes – evitan o mitigan la mayoría de los inconvenientes del vendor lock-in – abordan monitorización y migración – soluciones efectivas y actualmente disponibles • Debilidades y amenazas – el efecto lock-in se desplaza del proveedor al API o middleware – pueden comprometer eficiencia y coste (en particular middlewares) Sistemas multicloud. Mayo de 2014
  42. 42. Sistemas multicloud. Mayo de 2014 Agradecimientos • Grupo GISUM – Scenic http://www.gisum.uma.es Ernesto, Paco, Javi, Jose, Adrián, Samuel, Miguel, Antonio,… • Seaclouds EU FP7-ICT Project http://www.seaclouds-project.eu • Slideshare.net http:www.slideshare.net • Wikia http://multicloud.wikia.com ¡Gracias por vuestra atención!

×