Skip navigation
Please use this identifier to cite or link to this item: https://repositorio.ufpe.br/handle/123456789/32395

Share on

Title: Runtime Adaptation of Microservices
Authors: SAMPAIO JUNIOR, Adalberto Ribeiro
Keywords: Sistemas distribuídos; Microserviços; Computação autonômica
Issue Date: 9-Nov-2018
Publisher: Universidade Federal de Pernambuco
Abstract: The architectural style of Microservices is an approach that uses small pieces of software, each one with a single responsibility and well-defined boundaries, integrated with lightweight and general purpose communication protocols to build an application. The decoupling promoted by microservice usage makes continuous delivery cheaper and safer to be applied in comparison to other architectural styles thus allowing a microservice-based application (𝜇App) to be continuously updated and upgraded at runtime. For this reason, many companies have adopted microservices to facilitate the development and maintenance of their applications. However, high decoupling and a large number of microservices and technologies adopted, make it difficult to control a 𝜇App. Despite the Microservice’s architectural style relying on tools to automatically manage the deployment and execution of 𝜇Apps, these tools are not aware of the application’s behaviour. Therefore, most decisions are made manually by engineers, that analyze application logs, metrics, messages and take actions in response to triggers. This characteristic makes it difficult to make optimal decisions at runtime (i.e., optimizing the placement of microservices in the cluster). This thesis proposes an approach to bring autonomy to the microservice management tools by automatically evaluating the 𝜇App’s behaviour, allowing alterations to be made with minimum intervention. To achieve that, we present REMaP, a MAPE-K based framework that inspects and adapts 𝜇App in a cluster through a model at run-time. This model abstracts several technologies and semantics of 𝜇Apps cohesively, allowing decisions to be computed without the supervision of engineers. To show the feasibility of this autonomic approach, we used REMaP to optimize the placement of microservices at runtime by autonomously monitoring the 𝜇App’s behaviour, computing a (quasi-) optimal placement and re-configuring the 𝜇App at runtime. Our approach allowed us to determine that it was possible to save up to 85% of servers used in the deployment of 𝜇App by maintaining and, in some cases improving, its overall performance.
URI: https://repositorio.ufpe.br/handle/123456789/32395
Appears in Collections:Teses de Doutorado - Ciência da Computação

Files in This Item:
File Description SizeFormat 
TESE Adalberto Ribeiro sampaio Jr.pdf5,17 MBAdobe PDFThumbnail
View/Open


This item is protected by original copyright



This item is licensed under a Creative Commons License Creative Commons