Please use this identifier to cite or link to this item: https://hdl.handle.net/10316/98080
Title: A Software Architecture for Highly Available Cloud-Native Applications
Other Titles: Arquitetura de Aplicações para a Cloud
Authors: Perdigão, João Miguel Tomás Ferrão Correia
Orientador: Barbosa, Raul André Brajczewski
Keywords: 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
Issue Date: 17-Sep-2021
Serial title, monograph or event: A Software Architecture for Highly Available Cloud-Native Applications
Place of publication or event: DEI- FCTUC
Abstract: As 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.
Description: Dissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e Tecnologia
URI: https://hdl.handle.net/10316/98080
Rights: openAccess
Appears in Collections:UC - Dissertações de Mestrado

Files in This Item:
File Description SizeFormat
main.pdf3.4 MBAdobe PDFView/Open
Show full item record

Page view(s)

84
checked on Apr 24, 2024

Download(s)

237
checked on Apr 24, 2024

Google ScholarTM

Check


This item is licensed under a Creative Commons License Creative Commons