10 de Junio de 2015

  • Autor: D. Jesús García Galán.
  • Titulo: “Automating the support of highly-reconfigurable services”.
  • Directores: Dr. D. Antonio Ruiz Cortés (Universidad de Sevilla) y Dr. D. Pablo Trinidad Martín-Arroyo (Universidad de Sevilla)
  • Sinopsis: La oferta y demanda de servicios software se ha generalizado con el auge del cloud computing, permitiendo que prácticamente cualquier funcionalidad pueda ser ofrecida como servicio bajo demanda y de una forma elástica. Con el objetivo de abarcar un mercado más amplio, y de satisfacer a un mayor número de potenciales clientes, los proveedores de ofrecen cada vez servicios más configurables. Por ejemplo, proveedores de servicios de infraestructura tales como Amazon o Rackspace ofrecen decenas de instancias de computación distintas, que pueden correr bajo diferentes sistemas operativos en diversas localizaciones geográficas, y que pueden ser contratadas de múltiples formas. El proceso de configuración de estos servicios es tedioso y propenso a errores. En primer lugar, los usuarios tienen que estudiar la descripción del servicio, habitualmente en lenguaje natural, para comprender las distintas características y opciones de configuración ofrecidas. Sin embargo, dichas opciones y características a menudo no están descritas adecuadamente, existiendo además interrelaciones y restricciones entre ellas. Tras esto, los usuarios tienen que identificar sus necesidades sobre el servicio, para finalmente evaluar las diferentes configuraciones y determinar la mas satisfactoria. Mientras que algunos de estos servicios, como Dropbox, presentan pocas alternativas de configuración, otros, como Amazon EC2, presentan miles de ellas. Además, el soporte a la toma de decisiones para estos servicios es escaso y no ofrece la ayuda esperada. Mientras las herramientas ofrecidas por los proveedores se centran en el c´alculo del coste e ignoran la búsqueda de la mejor configuración, las herramientas ofrecidas por empresas especializadas a menudo devuelven falsos positivos.

    En esta tesis, partimos de la conjetura de que las técnicas de modelado y análisis de la variabilidad pueden ayudar a asistir el proceso de configuración de estos servicios altamente configurables. Estas técnicas ya han sido empleadas previamente con éxito para configurar sistemas software. Sin embargo, dichas técnicas tienen limitaciones en ciertos aspectos. Por un lado, las técnicas de modelado no son capaces de describir de forma precisa ni el servicio ni las preferencias de los usuarios sobre él. Por otro lado, las técnicas de análisis presentan algunas carencias a la hora de buscar la mejor configuración, especialmente en escenarios donde existen múltiples usuarios.

    En este trabajo presentamos dos contribuciones principales. En primer lugar, proponemos un nuevo tipo de modelo, llamado Configurable Service Model, que está basado en los modelos de variabilidad actuales, con el objetivo de paliar sus carencias a la hora de asistir el proceso de configuración. Para ello, dotamos a estos modelos de mecanismos para describir de una forma rigurosa y sucinta servicios altamente configurables. Adicionalmente, incorporamos mecanismos para que los usuarios puedan definir sus necesidades en términos de requisitos y preferencias. En segundo lugar, presentamos un soporte automático para evaluar las distintas alternativas de configuración de un servicio. Para ellos, describimos un catalogo de operaciones inspirado en las técnicas de análisis automatizado de la variabilidad, que permite al proveedor detectar anomalías en su oferta, y al usuario identificar cuál es la configuración m´as adecuada a sus necesidades. En este punto, cobran especial relevancia los procesos de configuración donde intervienen múltiples usuarios, puesto que a ´un son un desaf´ıo a resolver por las técnicas actuales. En este sentido, proponemos interpretar este tipo de configuración mediante la teoría de juegos, dando lugar a una nueva operación para identificar configuraciones que satisfagan las necesidades de múltiples usuarios.

    Los resultados de nuestra propuesta son esperanzadores. Por un lado, nuestra propuesta de modelado cuenta con la expresividad y sucintez suficiente como para describir espacios de configuración reales, como el de Amazon EC2. Por otro lado, demostramos que las operaciones de an´alisis propuestas son capaces encontrar configuraciones satisfactorias con un tiempo de ejecución insignificante. Incluso en determinados casos, las configuraciones resultantes mejoran los resultados ofrecidos por aplicaciones comerciales.

  • Teseo: https://www.educacion.gob.es/teseo/mostrarRef.do?ref=1159359
  • Repositorio USE: http://www.doctorado.us.es/tesis-doctoral/repositorio-tesis/tesis-2015/details/2/4817
  • LinkedIn: https://www.linkedin.com/in/jesusgarciagalan