Skip navigation
Use este identificador para citar ou linkar para este item: https://repositorio.ufpe.br/handle/123456789/32395

Compartilhe esta página

Registro completo de metadados
Campo DCValorIdioma
dc.contributor.advisorROSA, Nelson Souto-
dc.contributor.authorSAMPAIO JUNIOR, Adalberto Ribeiro-
dc.date.accessioned2019-09-10T16:43:13Z-
dc.date.available2019-09-10T16:43:13Z-
dc.date.issued2018-11-09-
dc.identifier.urihttps://repositorio.ufpe.br/handle/123456789/32395-
dc.description.abstractThe 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.pt_BR
dc.description.sponsorshipCAPESpt_BR
dc.description.sponsorshipFACEPEpt_BR
dc.language.isoengpt_BR
dc.publisherUniversidade Federal de Pernambucopt_BR
dc.rightsopenAccesspt_BR
dc.rightsAttribution-NonCommercial-NoDerivs 3.0 Brazil*
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/br/*
dc.subjectSistemas distribuídospt_BR
dc.subjectMicroserviçospt_BR
dc.subjectComputação autonômicapt_BR
dc.titleRuntime Adaptation of Microservicespt_BR
dc.typedoctoralThesispt_BR
dc.contributor.advisor-coBESCHASTNIKH, Ivan-
dc.contributor.authorLatteshttp://lattes.cnpq.br/0514382984176352pt_BR
dc.publisher.initialsUFPEpt_BR
dc.publisher.countryBrasilpt_BR
dc.degree.leveldoutoradopt_BR
dc.contributor.advisorLatteshttp://lattes.cnpq.br/4220236737158909pt_BR
dc.publisher.programPrograma de Pos Graduacao em Ciencia da Computacaopt_BR
dc.description.abstractxO estilo arquitetural de Microserviços é uma abordagem que usa pequenas peças de software, cada uma com uma única responsabilidade e limites bem definidos, integradas sobre um protocolo de comunicação leve e de propósito geral para construir uma aplicação. O desacoplamento promovido pelo uso de microsserviços faz com que a entrega contínua seja segura e barata de ser aplicada, ao contrário de outros estilos arquiteturais. Assim uma aplicação baseada em microsserviços (𝜇App) pode ser constantemente atualizada em tempo de execução. Por esta razão, muitas companhias têm adotado microsserviços para facilitar o desenvolvimento e manutenção de suas aplicações. Entretanto, a alto nível de desacoplamento, e consequentemente, o grande número de microerviços e tecnologias adotadas, faz com que o controle de uma 𝜇App não seja fácil. Apesar do estilo arquitetural de microsserviços depender de ferramentas para gerenciar automaticamente a implantação e execução de 𝜇Apps, essas ferramentas não são cientes do comportamento das aplicações. Dessa forma, a maioria das decisões são feitas manualmente por engenheiros que analisam os logs, métricas e mensagens da aplicação e tomam ações em resposta à algum gatilho. Está característica dificulta que decisões ótimas sejam aplicadas em tempo de execução como, por exemplo, otimizar o arranjo dos microservices no cluster. Neste trabalho nós propomos uma abordagem para trazer autonomia às ferramentas de gerenciamento de microsserviços, avaliando automaticamente o comportamento da 𝜇App e alterando a aplicação com a mínima intervenção de engenheiros. Para alcançar isso, nós apresentamos REMaP, um framework baseado na arquitetura MAPE-K, que inspeciona e adapta 𝜇Apps em um cluster usando um modelo em tempo de execução. Este modelo abstrai várias tecnologias e semânticas das 𝜇Apps de forma coesa, permitindo que decisões sejam calculadas sem a supervisão dos engenheiros. Para mostrar a factibilidade desta abordagem autonômica, nós usamos o REMaP para otimizar o arranjo de uma 𝜇App. Através de um monitoramento autônomo do comportamento do 𝜇App, REMaP calcula um arranjo quasi-ótimo, e reconfigura a 𝜇App em tempo de execução. Com nossa abordagem constatamos que é possível economizar até 85% dos servidores usados na implantação inicial de 𝜇Apps mantendo, e em alguns casos melhorando, a performance geral da aplicação.pt_BR
Aparece nas coleções:Teses de Doutorado - Ciência da Computação

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
TESE Adalberto Ribeiro sampaio Jr.pdf5,17 MBAdobe PDFThumbnail
Visualizar/Abrir


Este arquivo é protegido por direitos autorais



Este item está licenciada sob uma Licença Creative Commons Creative Commons