Navegación

Búsqueda

Búsqueda avanzada

Easy security management over microservices architectures based on OpenAPI Specification

Nowadays, many developers around the world use RESTful APIs along microservices architectures. These APIs are increasingly being described using the OpenAPI Specification standard. Moreover, they usually require some level of security. However, maintaining security settings across the entire architecture can be a time-consuming task. For example, adding a new role to the application may lead to modifying the settings for each API. This approach presents various drawbacks, such as low scalability. We have found this problem while working on an institutional web page. This is why we are developing an extension for OpenAPI which allows for easier security management on microservices applications. Furthermore, the in-progress Node.js module will perform automatic validation of JSON Web Tokens. JWTs are a simple and standard way to implement access control. Using them along with the aforementioned extension will greatly reduce development time. By providing some configuration parameters, a single API or a whole infrastructure will be more secure. This will also cause bigger applications to be more scalable and easy to maintain.

Resource optimization of container orchestration: a case study in multi-cloud microservices-based applications (Summary)

Los microservicios han resultado ser un nuevo paradigma de programación adoptado ampliamente durante los últimos años. Consiste en desarrollar una aplicación mediante un conjunto de servicios ligeros e independientes que pueden desplegarse y escalarse en múltiples proveedores de cloud (multicloud). El uso de múltiples proveedores puede suponer una mayor ventaja en términos de coste y disponibilidad, entre otras, pero también conlleva riesgos asociados con la degradación del servicio. Por ello, el uso de políticas de asignación de recursos es importante para mitigar estos inconvenientes.

Este trabajo propone el uso de un algoritmo genético (Non-dominated Sorting Genetic Algorithm II, NSGA-II) para optimizar la asignación de microservicios a máquinas virtuales de cada uno de los proveedores, de forma que se consiga minimizar las siguientes métricas: el coste de despliegue; los tiempos de comunicación entre los microservicos de una misma aplicación debido a despliegues en distintos proveedores de cloud; y el tiempo medio de recuperación, es decir, el tiempo entre la caída y despliegue de una nueva instancia vuelva a estar operativa.

Mediante la simulación de distintos experimentos, hemos probado que la asignación de recursos con NSGA-II obtiene una mejor minimización de los objetivos evaluados junto a una mayor diversidad de soluciones de asignación de recursos, en comparación con un algoritmo voraz. Por tanto, el trabajo concluye que el uso del algoritmo genético (NSGA-II) es adecuado para mejorar la asignación de microservicios y máquinas virtuales en entornos multicloud.

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.