A Software Architecture for Highly Available Cloud-Native Applications

Bibliographic Details
Main Author: Perdigão, João Miguel Tomás Ferrão Correia
Publication Date: 2021
Format: Master thesis
Language: eng
Source: Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
Download full: https://hdl.handle.net/10316/98080
Summary: Dissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e Tecnologia
id RCAP_bb98c4e5d66ac4a353404718e71513db
oai_identifier_str oai:estudogeral.uc.pt:10316/98080
network_acronym_str RCAP
network_name_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository_id_str https://opendoar.ac.uk/repository/7160
spelling A Software Architecture for Highly Available Cloud-Native ApplicationsArquitetura de Aplicações para a CloudMicrosserviçosComputação AutonómicaCiclo MAPE-KTolerância a FalhasComputação na NuvemMicroservicesAutonomic ComputingMAPE-K LoopFault ToleranceCloud ComputingDissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e TecnologiaAs aplicações nativas da cloud estão a tornar-se na abordagem aceite para construir sistemas. Com a sua heterogeneidade, aumento crescente de tamanho e natureza dinâmica, surgem novos desafios de forma a assegurar requisitos importantes, tais como a sua disponibilidade. Nos cenários de aplicações críticas para o negócio, no qual uma interrupção do seu funcionamento que dure um minuto tem impactos financeiros significativos, é imperativo garantir que o sistema permanece disponível. Deste modo, a computação autonómica, um paradigma introduzido pela International Business Machines Corporation (IBM), pretendeencontrar maneiras mais adequadas de gerir sistemas, enquanto reduzindo o custo da sua manutenção. Mais precisamente, e entre as propriedades de auto-gestão sugeridas, estamos particularmente interessados nas capacidades de "auto-cura", isto é, identificar e recuperar de falhas ou bugs (e reparar sempre que possível) sem intervação humana.Nesta tese, propomos uma solução através da implementação de uma framework autonómica capaz de detetar avarias no sistema gerido e aplicar planos de mitigação de acordo com as mesmas, de forma a recuperar das avarias. Um middleware Publish-Subscribe é utilizado como infraestrutura adjancente para comunicação entre componentes. Com esta abordagem pretendemos fornecer melhor disponibilidade a aplicações nativas da cloud quando estas forem sujeitas a falhas. A solução proposta foi avaliada sob diferentes cenários de avarias, tendo sido consideradas ações e estratégias de recuperação distintas. O resultado das experiên-cias demonstra que a framework desenvolvida é capaz de recuperar eficazmente de avarias, enquanto garantindo o desempenho desejado. Estes resultados representam um avanço na garantia de alta disponibilidade de aplicações nativas da cloud .Cloud-native applications are becoming the de facto approach for building systems.With their heterogeneity, increased size and dynamic nature new challenges arise to ensure important requirements such as their availability.In a scenario of business-critical applications, where an outage of a single minute has significant economical impacts, making sure that the system remains available is mandatory. Hence, autonomic computing, a paradigm introduced by IBM, intends to nd better ways to manage systems, while reducing the cost to maintain them. More precisely, and among the self-managing properties it suggests, we are particularly interested in self-healing capabilities, i.e., identifying and recovering from failures or bugs (and repairing whenever possible) without human intervention. In this thesis, we propose a solution through the implementation of an autonomic framework capable of detecting failures in the managed system and applying mitigation plans accordingly, to recover from failures. A Publish-Subscribe middleware is used as theunderlying infrastructure for communication among components. With this approach, we intend to provide better availability for cloud-native applications whenever subject to failures. The proposed solution was evaluated under different failure scenarios and considering distinct recovery actions and strategies. The outcome of the experiments shows that the framework developed is capable of effectively recovering from failures, while achieving the desired performance. These results represent a step further to guarantee high availability of cloud-native applications.2021-09-17info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesishttps://hdl.handle.net/10316/98080https://hdl.handle.net/10316/98080TID:202921239engPerdigão, João Miguel Tomás Ferrão Correiainfo:eu-repo/semantics/openAccessreponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2022-05-25T05:17:07Zoai:estudogeral.uc.pt:10316/98080Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-29T05:46:55.493329Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse
dc.title.none.fl_str_mv A Software Architecture for Highly Available Cloud-Native Applications
Arquitetura de Aplicações para a Cloud
title A Software Architecture for Highly Available Cloud-Native Applications
spellingShingle A Software Architecture for Highly Available Cloud-Native Applications
Perdigão, João Miguel Tomás Ferrão Correia
Microsserviços
Computação Autonómica
Ciclo MAPE-K
Tolerância a Falhas
Computação na Nuvem
Microservices
Autonomic Computing
MAPE-K Loop
Fault Tolerance
Cloud Computing
title_short A Software Architecture for Highly Available Cloud-Native Applications
title_full A Software Architecture for Highly Available Cloud-Native Applications
title_fullStr A Software Architecture for Highly Available Cloud-Native Applications
title_full_unstemmed A Software Architecture for Highly Available Cloud-Native Applications
title_sort A Software Architecture for Highly Available Cloud-Native Applications
author Perdigão, João Miguel Tomás Ferrão Correia
author_facet Perdigão, João Miguel Tomás Ferrão Correia
author_role author
dc.contributor.author.fl_str_mv Perdigão, João Miguel Tomás Ferrão Correia
dc.subject.por.fl_str_mv Microsserviços
Computação Autonómica
Ciclo MAPE-K
Tolerância a Falhas
Computação na Nuvem
Microservices
Autonomic Computing
MAPE-K Loop
Fault Tolerance
Cloud Computing
topic Microsserviços
Computação Autonómica
Ciclo MAPE-K
Tolerância a Falhas
Computação na Nuvem
Microservices
Autonomic Computing
MAPE-K Loop
Fault Tolerance
Cloud Computing
description Dissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e Tecnologia
publishDate 2021
dc.date.none.fl_str_mv 2021-09-17
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://hdl.handle.net/10316/98080
https://hdl.handle.net/10316/98080
TID:202921239
url https://hdl.handle.net/10316/98080
identifier_str_mv TID:202921239
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.source.none.fl_str_mv reponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron:RCAAP
instname_str FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron_str RCAAP
institution RCAAP
reponame_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
collection Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository.name.fl_str_mv Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
repository.mail.fl_str_mv info@rcaap.pt
_version_ 1833602469714722816