Please use this identifier to cite or link to this item: http://hdl.handle.net/10316/98260
Title: Failure injection in microservice applications
Other Titles: Injeção de avarias em aplicações baseadas em micro-serviços
Authors: Baptista, Gonçalo Claro
Orientador: Araújo, Filipe João Boavida Mendonça Machado de
Barbosa, Raul André Brajczewski
Keywords: Micro-serviços; Injeção de falhas; Cloud-native; Microservices; Fault injection; Cloud-native
Issue Date: 3-Nov-2021
Serial title, monograph or event: Failure injection in microservice applications
Place of publication or event: DEI- FCTUC
Abstract: Para alcançar confiabilidade, os designers de sistemas costumam recorrer a mecanismos de tolerância a falhas. A avaliação desses mecanismos requer a observação de avarias, que normalmente são relativamente incomuns. Para aumentar a ocorrência de avarias, são empregues técnicas de injeção de falhas, resultando num maior número de eventos de avarias e permitindo a avaliação das propriedades de confiabilidade do sistema. Embora existam várias ferramentas de injeção de falha para este fim, estas são geralmente limitadas em extensão, aplicabilidade e na capacidade de configuração para aplicações baseadas em micro-serviços. Propomos o Defektor, uma ferramenta generalista e extensível capaz de controlar uma campanha de injeção de falhas em vários tipos de aplicações, particularmente aplicações baseadas em micro-serviços, e compatível com várias tecnologias de orquestração de contentores e ferramentas de injeção de falhas. A configuração do Defektor segue uma abordagem de alto nível, com base num plano de campanha de injeção especificando as instruções de como o Defektor deve operar bem como os parâmetros da campanha de injeção de falha. O Defektor automatiza todo o fluxo de trabalho, consistindo em definir o plano de campanha, gerar uma carga de trabalho, especificar e injetar as falhas e recolher os dados, auxiliando na repetibilidade das experiências, melhorando a consistência dos resultados e economizando tempo. .
To achieve dependability, system designers often resort to fault-tolerance mechanisms. The evaluation of these mechanisms requires the observation of failures, which typically are relatively uncommon. To increase the failure rate, practitioners employ fault injection techniques, resulting in an increased occurrence of failures and allowing the evaluation of the systems dependability properties. While various fault injection tools exist for this end, they are usually limited in scope, applicability and in their configuration abilities for microservice applications. We propose Defektor, a generalist and extensible tool capable of controlling a fault injection campaign on multiple types of applications, particularly microservice-based applications, and compatible with various container orchestration technologies and fault injection tools. The Defektor configuration follows an high-level approach, based on an injection campaign plan specifying the instructions for the Defektor operation and the parameters of the fault injection campaign. Defektor automates the entire workflow, consisting of defining the campaign plan, generating a workload, specifying and injecting the faults, and collecting data, aiding the experiment repeatability, improving the consistency of results, and saving time. .
Description: Dissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e Tecnologia
URI: http://hdl.handle.net/10316/98260
Rights: openAccess
Appears in Collections:UC - Dissertações de Mestrado

Files in This Item:
File SizeFormat
final_report_thesis_2019185164.pdf1.96 MBAdobe PDFView/Open
Show full item record

Page view(s)

11
checked on Aug 12, 2022

Google ScholarTM

Check


This item is licensed under a Creative Commons License Creative Commons