Detalhes bibliográficos
Ano de defesa: |
2021 |
Autor(a) principal: |
Souza, Vinicius José Silveira [UNIFESP] |
Orientador(a): |
Não Informado pela instituição |
Banca de defesa: |
Não Informado pela instituição |
Tipo de documento: |
Dissertação
|
Tipo de acesso: |
Acesso aberto |
Idioma: |
por |
Instituição de defesa: |
Universidade Federal de São Paulo
|
Programa de Pós-Graduação: |
Não Informado pela instituição
|
Departamento: |
Não Informado pela instituição
|
País: |
Não Informado pela instituição
|
Palavras-chave em Português: |
|
Link de acesso: |
https://repositorio.unifesp.br/handle/11600/61903
|
Resumo: |
A utilização do estilo de arquitetura baseada em microsserviços no desenvolvimento de aplicações na Web traz consigo diversas vantagens. Pode-se destacar a independência entre times de desenvolvimento, maior autonomia aos desenvolvedores, maior velocidade de desenvolvimento e escalabilidade. Por outro lado, a sua topologia de comunicação entre processos, fundamentada em ambientes distribuídos, também acarreta desafios relacionados à disponibilidade dos serviços. Dessa forma, resiliência e tolerância à falhas são requisitos essenciais a um sistema baseado em microsserviços, visando evitar a indisponibilidade de funcionalidades críticas ao negócio. Neste tipo de ambiente distribuído, falhas são mais prováveis. Além disso, é consenso que sistemas distribuídos sejam naturalmente mais complexos de serem analisados e compreendidos, quando comparados à sistemas monolíticos tradicionais, dificultando o diagnóstico de problemas e retardando eventuais correções. Diante deste cenário, esta dissertação de mestrado discute o desenvolvimento e aprimoramento de métodos que auxiliem no diagnóstico de falhas em arquiteturas baseadas em microsserviços. Tais métodos podem facilitar a busca pela causa raiz da falha e minimizar o tempo para correção, impactando diretamente na disponibilidade do sistema. Neste contexto, esta dissertação apresenta três principais contribuições. A primeira, é uma análise bibliográfica ampla, considerando os principais padrões de falhas, bem como as técnicas e métodos utilizados pela indústria e estudados pela academia para se obter confiabilidade neste tipo de arquitetura. A segunda contribuição é um arcabouço de software denominado \textit{microchaos} juntamente com um ambiente de emulação, como iniciativa para suprir a carência atual de ferramentas e ambientes apropriados de experimentação de falhas em microsserviços. Tal arcabouço, juntamente com o ambiente, possibilitam o uso de microsserviços sintéticos flexíveis para reproduzir cenários reais de aplicações em produção, permitindo que falhas possam ser exercitadas exaustivamente e que novos métodos e técnicas de diagnósticos de falhas possam ser experimentalmente validados e avaliados. Por fim, o trabalho avalia um método de diagnóstico de falhas baseado em sistemas especialistas utilizando o ambiente proposto. |