5 research outputs found

    Experimental evaluation of the cloud-native application design

    Get PDF
    Cloud-Native Applications (CNA) are designed to run on top of cloud computing infrastructure services with inherent support for self-management, scalability and resilience across clustered units of application logic. Their systematic design is promising especially for recent hybrid virtual machine and container environments for which no dominant application development model exists. In this paper, we present a case study on a business application running as CNA and demonstrate the advantages of the design experimentally. We also present Dynamite, an application auto-scaler designed for containerised CNA. Our experiments on a Vagrant host, on a private OpenStack installation and on a public Amazon EC2 testbed show that CNA require little additional engineering

    Cloud-native databases : an application perspective

    Get PDF
    As cloud computing technologies evolve to better support hosted software applications, software development businesses are faced with a multitude of options to migrate to the cloud. A key concern is the management of data. Research on cloud-native applications has guided the construction of highly elastically scalable and resilient stateless applications, while there is no corresponding concept for cloud-native databases yet. In particular, it is not clear what the trade-offs between using self-managed database services as part of the application and provider-managed database services are. We contribute an overview about the available options, a testbed to compare the options in a systematic way, and an analysis of selected benchmark results produced during the cloud migration of a commercial document management application

    Analysis and comparison of SOAP web services and gRPC protocol in microservice environment

    Get PDF
    Development of cloud services allowed us to speed up software development and make installing of software on platforms easier, but due to the characteristics of the distributed systems, this approach brought new challenges in the field of web service protocols, mostly intercommunication, monitoring and microservice operation management. In this master thesis we researched the field of microservices, the properties of distributed systems and web service protocols in relation to cloud-native applications. We studied the connection between speed, efficiency and suitability for the main protocols used by microservices. Since some of the protocols do not have complete support in frameworks that allow production of microservices, we defined the procedure to integrate new functionality and protocol support through the integration of program libraries. At the time of writing this thesis, we find that there are no major differences in principles of protocol description languages, despite the fact there are major differences in terms of effectiveness and functionalities. We assess that there are many downsides in the SOAP protocol, so we propose improvements by way of utilizing effective operations

    Analysis and comparison of SOAP web services and gRPC protocol in microservice environment

    Get PDF
    Development of cloud services allowed us to speed up software development and make installing of software on platforms easier, but due to the characteristics of the distributed systems, this approach brought new challenges in the field of web service protocols, mostly intercommunication, monitoring and microservice operation management. In this master thesis we researched the field of microservices, the properties of distributed systems and web service protocols in relation to cloud-native applications. We studied the connection between speed, efficiency and suitability for the main protocols used by microservices. Since some of the protocols do not have complete support in frameworks that allow production of microservices, we defined the procedure to integrate new functionality and protocol support through the integration of program libraries. At the time of writing this thesis, we find that there are no major differences in principles of protocol description languages, despite the fact there are major differences in terms of effectiveness and functionalities. We assess that there are many downsides in the SOAP protocol, so we propose improvements by way of utilizing effective operations

    Application Driven MOdels for Resource Management in Cloud Environments

    Get PDF
    El despliegue y la ejecuci贸n de aplicaciones de gran escala en sistemas distribuidos con unos parametros de Calidad de Servicio adecuados necesita gestionar de manera eficiente los recursos computacionales. Para desacoplar los requirimientos funcionales y los no funcionales (u operacionales) de dichas aplicaciones, se puede distinguir dos niveles de abstracci贸n: i) el nivel funcional, que contempla aquellos requerimientos relacionados con funcionalidades de la aplicaci贸n; y ii) el nivel operacional, que depende del sistema distribuido donde se despliegue y garantizar谩 aquellos par谩metros relacionados con la Calidad del Servicio, disponibilidad, tolerancia a fallos y coste econ贸mico, entre otros. De entre las diferentes alternativas del nivel operacional, en la presente tesis se contempla un entorno cloud basado en la virtualizaci贸n de contenedores, como puede ofrecer Kubernetes.El uso de modelos para el dise帽o de aplicaciones en ambos niveles permite garantizar que dichos requerimientos sean satisfechos. Seg煤n la complejidad del modelo que describa la aplicaci贸n, o el conocimiento que el nivel operacional tenga de ella, se diferencian tres tipos de aplicaciones: i) aplicaciones dirigidas por el modelo, como es el caso de la simulaci贸n de eventos discretos, donde el propio modelo, por ejemplo Redes de Petri de Alto Nivel, describen la aplicaci贸n; ii) aplicaciones dirigidas por los datos, como es el caso de la ejecuci贸n de anal铆ticas sobre Data Stream; y iii) aplicaciones dirigidas por el sistema, donde el nivel operacional rige el despliegue al considerarlas como una caja negra.En la presente tesis doctoral, se propone el uso de un scheduler espec铆fico para cada tipo de aplicaci贸n y modelo, con ejemplos concretos, de manera que el cliente de la infraestructura pueda utilizar informaci贸n del modelo descriptivo y del modelo operacional. Esta soluci贸n permite rellenar el hueco conceptual entre ambos niveles. De esta manera, se proponen diferentes m茅todos y t茅cnicas para desplegar diferentes aplicaciones: una simulaci贸n de un sistema de Veh铆culos El茅ctricos descrita a trav茅s de Redes de Petri; procesado de algoritmos sobre un grafo que llega siguiendo el paradigma Data Stream; y el propio sistema operacional como sujeto de estudio.En este 煤ltimo caso de estudio, se ha analizado c贸mo determinados par谩metros del nivel operacional (por ejemplo, la agrupaci贸n de contenedores, o la compartici贸n de recursos entre contenedores alojados en una misma m谩quina) tienen un impacto en las prestaciones. Para analizar dicho impacto, se propone un modelo formal de una infrastructura operacional concreta (Kubernetes). Por 煤ltimo, se propone una metodolog铆a para construir 铆ndices de interferencia para caracterizar aplicaciones y estimar la degradaci贸n de prestaciones incurrida cuando dos contenedores son desplegados y ejecutados juntos. Estos 铆ndices modelan c贸mo los recursos del nivel operacional son usados por las applicaciones. Esto supone que el nivel operacional maneja informaci贸n cercana a la aplicaci贸n y le permite tomar mejores decisiones de despliegue y distribuci贸n.<br /
    corecore