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 | Size | Format | |
---|---|---|---|
final_report_thesis_2019185164.pdf | 1.96 MB | Adobe PDF | View/Open |
Page view(s)
26
checked on Mar 27, 2023
Download(s)
96
checked on Mar 27, 2023
Google ScholarTM
Check
This item is licensed under a Creative Commons License