Navegación

Búsqueda

Búsqueda avanzada

Desarrollando una arquitectura de microservicios mediante MDE

En los últimos años, la industria del software ha apostado por la migración hacia las aplicaciones basadas en servicios y su despliegue en la nube por su promesa de obtener alta disponibilidad y escalabilidad. Tanto las aplicaciones Web como las móviles utilizan partes servidoras basadas en fachadas REST o SOA que en muchas ocasiones crecen tanto a nivel de servicios como de datos lo que complica su mantenibilidad. En este sentido, ha aparecido recientemente un estilo arquitectónico denominado microservicios que propone la división horizontal de la funcionalidad de una aplicación en una colección de servicios que gestionan separadamente su propia lógica y sus datos. Esta división permite explotar la escalabilidad de la nube a nivel de servicio y abordar los cambios más rápidamente. A pesar de sus beneficios, este estilo arquitectónico presenta algunas desventajas como la dificultad de agregar datos de diferentes microservicios y el mantenimiento de la consistencia entre las diferentes orígenes de datos. Para abordar estos dos retos, este trabajo presenta una solución MDE basada en una evolución del modelo de servicios de OOH4RIA. Este modelo permite tanto acelerar la creación de microservicios como facilitar el mantenimiento en la comunicación y la composición de datos de diferentes orígenes.

Visual CPS: Sistemas Ciber-Físicos en la Nube con Soporte a la Variabilidad y Multitenencia

En los últimos años, nuestra sociedad está cambiando a gran velocidad. Cada vez son más los dispositivos que interactúan con nosotros y el entorno para ofrecernos servicios ampliados respecto a los servicios de información tradicionales. Esta nueva era de Internet de las Cosas (Internet of Things – IoT) y de servicios al ciudadano a través de internet, con la nueva concepción de los sistemas inteligentes (smart buildings, grids, cities y spaces), necesitan cada vez de más recursos computacionales y software. En este sentido, Cloud Computing ofrece una serie de características en cuanto escalabilidad y flexibilidad, acceso a recursos a través de Internet (off-premises) sin necesidad de ser instalados y gestionados localmente (on-premises) [1] que son fundamentales para soportar tales sistemas. Los servicios proporcionados por la nube son infraestructura (IaaS), plataforma de desarrollo (PaaS) y software (SaaS). Una de las características más significativas de SaaS (Software as a Service) es la multitenencia, la cual promueve las economías de escala mediante la compartición de una serie de recursos entre múltiples usuarios o grupos de usuarios denominados tenants. Cada tenant podría personalizar ciertas partes del software para satisfacer requisitos individuales. Este concepto no es nuevo, y ha sido abordado ampliamente por la ingeniería de líneas de producto [8] y la gestión de la variabilidad. La variabilidad de un producto software se puede definir como la capacidad de este para cambiar y ser utilizado en múltiples contextos. Resulta de gran importancia el dotar al software de mecanismos para soportar distintos grados de variabilidad para poder ofrecer una personalización ajustada a las necesidades específicas de los usuarios. En este artículo se presenta una herramienta para la creación y gestión de sistemas ciber-físicos en la nube con soporte a múltiples tenants y variabilidad entre los tenants llamada Visual CPS. Un sistema ciber-físico es aquel sistema en el que se embebe o integra capacidad de cómputo con el objetivo de interactuar el software con el mundo físico, obteniendo una comunicación bidireccional entre estos dos. Para soportar dichas características la herramienta se basa en el concepto de multitenencia de la plataforma de nube GPaaS [7] y en el diseño arquitectónico basado en el estilo de microservicios [2] que se define como una aplicación compuesta por componentes independientes, ligeros y muy especializados orquestados para proporcionar la funcionalidad de la aplicación global.

Creating datasets for data analysis through a cloud microservice-based architecture

Data analysis is a trending technique due to the tendency of analyzing patterns or generating knowledge in different domains. However, it is difficult to know at design time what raw data should be collected, how it is going to be analyzed or which analysis techniques will be applied to data. Service-oriented architectures can be applied to solve these problems by providing flexible and reliable architectures. In this paper, we present a microservice-based software architecture in the cloud with the aim of generating datasets to carry out data analysis. This architecture facilitates acquiring data, which may be located in a data center, distributed, or even on different devices (ubiquitous computing) due to the rise of the IoT. It provides an infrastructure over which multiple developer’ groups can work in parallel on the microservices. These microservices also provide a reliable and affordable adaptability to the lack of specific requirements in some functionalities and the fast evolution and variability of them, due to the fast changing of client needs.