Diagnóstico de falhas em arquiteturas baseadas em microsserviços

Detalhes bibliográficos
Ano de defesa: 2021
Autor(a) principal: Souza, Vinicius José Silveira [UNIFESP]
Orientador(a): Kimura, Bruno Yuji Lino [UNIFESP]
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
dARK ID: ark:/48912/001300002r9h6
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.
id UFSP_db4bc80357e918b6ac4442bb0544330c
oai_identifier_str oai:repositorio.unifesp.br:11600/61903
network_acronym_str UFSP
network_name_str Repositório Institucional da UNIFESP
repository_id_str
spelling http://lattes.cnpq.br/7587316047810193Souza, Vinicius José Silveira [UNIFESP]http://lattes.cnpq.br/6815546854267566Kimura, Bruno Yuji Lino [UNIFESP]São José dos Campos, SP2021-09-08T13:29:19Z2021-09-08T13:29:19Z2021-05-28A 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.The usage of microservices-based architectures on the development of web applications brings several advantages. Among them, we highlight the independence between development teams, greater autonomy to developers, greater speed of development and scalability. On the other hand, its communication topology, built on top of distributed systems, leads to challenges related to the availability of the services. Therefore, resiliency and fault tolerance are important requirements for a systems based on microservices, aiming to avoid the unavailability of business-critical features. In this kind of environment, faults are more probable. Moreover, it is consensus that distributed systems are naturally more complex to be analyzed and comprehended, when compared to traditional monolithic systems, making difficult to diagnose faults and delaying fixes. Given this context, this project aims to develop and improve methods which support the fault diagnosis of systems based on microservices. Such methods can facilitate the seek for root causes and minimize the time required for corrections, directly impacting the availability of the system. To reach this goal, this work is comprised by the following contributions. (1)~A bibliographic analysis considering the main fault patterns, as well as the techniques and methods used by the industry and researched by the academy to improve the dependability in this kind of architecture. (2) Given the lack of tooling and environment for experimentation of faults on microservices, a framework named \textit{microchaos} and an emulation environment are proposed and developed. The combination of the framework and the experimental environment enables the usage of flexible synthetic microservices to reproduce scenarios of real applications in production, allowing faults to be exhaustively exercised and new methods and techniques of failure diagnosis to be experimentally validated and evaluated. (3)~Finally, an automatic failure diagnose method based on expert systems is evaluated using the proposed environment.Não recebi financiamento134 fSOUZA V. J. S. Diagnóstico de falhas em arquiteturas baseadas em microsserviçoshttps://repositorio.unifesp.br/handle/11600/61903ark:/48912/001300002r9h6porUniversidade Federal de São Pauloinfo:eu-repo/semantics/openAccessMicroservicesFailure diagnoseArchitectureComputational systems dependabilityDiagnóstico de falhas em arquiteturas baseadas em microsserviçosFailure diagnosis on microservices based architecturesinfo:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/publishedVersionreponame:Repositório Institucional da UNIFESPinstname:Universidade Federal de São Paulo (UNIFESP)instacron:UNIFESPNão se aplicaPró-reitoria de Pós-graduação e PesquisaInstituto de Ciência e Tecnologia (ICT)Não se aplicaNão se aplicaNão se aplicaCiência da ComputaçãoCiência da computaçãoSistemas ComputacionaisORIGINALdissertacao_vinicius.pdfdissertacao_vinicius.pdfDissertação de mestradoapplication/pdf5630034https://repositorio.unifesp.br/bitstreams/afac05fb-035f-423e-8c5a-fefcf834e68f/downloadb5375cb66620538bf2d2b3d4ea003ca1MD53LICENSElicense.txtlicense.txttext/plain; charset=utf-85834https://repositorio.unifesp.br/bitstreams/f96eb442-1a66-40a2-beb5-e83e7a5137ed/downloadef0edd01d3fc6963384da2be721f5ba8MD54TEXTdissertacao_vinicius.pdf.txtdissertacao_vinicius.pdf.txtExtracted texttext/plain103140https://repositorio.unifesp.br/bitstreams/4e8fec6c-907c-484d-8c69-7bd6a7080e3e/downloada19214c543410be7f1d4b17a5d05ef5fMD58THUMBNAILdissertacao_vinicius.pdf.jpgdissertacao_vinicius.pdf.jpgGenerated Thumbnailimage/jpeg2626https://repositorio.unifesp.br/bitstreams/86c2e1e6-64da-470c-b126-a0e3dc73c07e/download4f82037025b5c372b57bdae906db499dMD5911600/619032024-08-03 13:19:52.534oai:repositorio.unifesp.br:11600/61903https://repositorio.unifesp.brRepositório InstitucionalPUBhttp://www.repositorio.unifesp.br/oai/requestbiblioteca.csp@unifesp.bropendoar:34652024-08-03T13:19:52Repositório Institucional da UNIFESP - Universidade Federal de São Paulo (UNIFESP)falseVEVSTU9TIEUgQ09OREnDh8OVRVMgUEFSQSBPIExJQ0VOQ0lBTUVOVE8gRE8gQVJRVUlWQU1FTlRPLCBSRVBST0RVw4fDg08gRSBESVZVTEdBw4fDg08gUMOaQkxJQ0EgREUgQ09OVEXDmkRPIE5PIFJFUE9TSVTDk1JJTyBJTlNUSVRVQ0lPTkFMIFVOSUZFU1AKCjEuIEV1LCBWaW7DrWNpdXMgSm9zw6kgU2lsdmVpcmEgZGUgU291emEgKHZqc3NvdXphQHVuaWZlc3AuYnIpLCByZXNwb25zw6F2ZWwgcGVsbyB0cmFiYWxobyDigJxEaWFnbsOzc3RpY28gZGUgZmFsaGFzIGVtIGFycXVpdGV0dXJhcyBiYXNlYWRhcyBlbSBtaWNyb3NzZXJ2acOnb3PigJ0gZS9vdSB1c3XDoXJpby1kZXBvc2l0YW50ZSBubyBSZXBvc2l0w7NyaW8gSW5zdGl0dWNpb25hbCBVTklGRVNQLGFzc2VndXJvIG5vIHByZXNlbnRlIGF0byBxdWUgc291IHRpdHVsYXIgZG9zIGRpcmVpdG9zIGF1dG9yYWlzIHBhdHJpbW9uaWFpcyBlL291IGRpcmVpdG9zIGNvbmV4b3MgcmVmZXJlbnRlcyDDoCB0b3RhbGlkYWRlIGRhIE9icmEgb3JhIGRlcG9zaXRhZGEgZW0gZm9ybWF0byBkaWdpdGFsLCBiZW0gY29tbyBkZSBzZXVzIGNvbXBvbmVudGVzIG1lbm9yZXMsIGVtIHNlIHRyYXRhbmRvIGRlIG9icmEgY29sZXRpdmEsIGNvbmZvcm1lIG8gcHJlY2VpdHVhZG8gcGVsYSBMZWkgOS42MTAvOTggZS9vdSBMZWkgOS42MDkvOTguIE7Do28gc2VuZG8gZXN0ZSBvIGNhc28sIGFzc2VndXJvIHRlciBvYnRpZG8gZGlyZXRhbWVudGUgZG9zIGRldmlkb3MgdGl0dWxhcmVzIGF1dG9yaXphw6fDo28gcHLDqXZpYSBlIGV4cHJlc3NhIHBhcmEgbyBkZXDDs3NpdG8gZSBwYXJhIGEgZGl2dWxnYcOnw6NvIGRhIE9icmEsIGFicmFuZ2VuZG8gdG9kb3Mgb3MgZGlyZWl0b3MgYXV0b3JhaXMgZSBjb25leG9zIGFmZXRhZG9zIHBlbGEgYXNzaW5hdHVyYSBkbyBwcmVzZW50ZSB0ZXJtbyBkZSBsaWNlbmNpYW1lbnRvLCBkZSBtb2RvIGEgZWZldGl2YW1lbnRlIGlzZW50YXIgYSBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkZSBTw6NvIFBhdWxvIChVTklGRVNQKSBlIHNldXMgZnVuY2lvbsOhcmlvcyBkZSBxdWFscXVlciByZXNwb25zYWJpbGlkYWRlIHBlbG8gdXNvIG7Do28tYXV0b3JpemFkbyBkbyBtYXRlcmlhbCBkZXBvc2l0YWRvLCBzZWphIGVtIHZpbmN1bGHDp8OjbyBhbyBSZXBvc2l0w7NyaW8gSW5zdGl0dWNpb25hbCBVTklGRVNQLCBzZWphIGVtIHZpbmN1bGHDp8OjbyBhIHF1YWlzcXVlciBzZXJ2acOnb3MgZGUgYnVzY2EgZSBkZSBkaXN0cmlidWnDp8OjbyBkZSBjb250ZcO6ZG8gcXVlIGZhw6dhbSB1c28gZGFzIGludGVyZmFjZXMgZSBlc3Bhw6dvIGRlIGFybWF6ZW5hbWVudG8gcHJvdmlkZW5jaWFkb3MgcGVsYSBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkZSBTw6NvIFBhdWxvIChVTklGRVNQKSBwb3IgbWVpbyBkZSBzZXVzIHNpc3RlbWFzIGluZm9ybWF0aXphZG9zLgoKMi4gQSBjb25jb3Jkw6JuY2lhIGNvbSBlc3RhIGxpY2Vuw6dhIHRlbSBjb21vIGNvbnNlcXXDqm5jaWEgYSB0cmFuc2ZlcsOqbmNpYSwgYSB0w610dWxvIG7Do28tZXhjbHVzaXZvIGUgbsOjby1vbmVyb3NvLCBpc2VudGEgZG8gcGFnYW1lbnRvIGRlIHJveWFsdGllcyBvdSBxdWFscXVlciBvdXRyYSBjb250cmFwcmVzdGHDp8OjbywgcGVjdW5pw6FyaWEgb3UgbsOjbywgw6AgVW5pdmVyc2lkYWRlIEZlZGVyYWwgZGUgU8OjbyBQYXVsbyAoVU5JRkVTUCkgZG9zIGRpcmVpdG9zIGRlIGFybWF6ZW5hciBkaWdpdGFsbWVudGUsIGRlIHJlcHJvZHV6aXIgZSBkZSBkaXN0cmlidWlyIG5hY2lvbmFsIGUgaW50ZXJuYWNpb25hbG1lbnRlIGEgT2JyYSwgaW5jbHVpbmRvLXNlIG8gc2V1IHJlc3Vtby9hYnN0cmFjdCwgcG9yIG1laW9zIGVsZXRyw7RuaWNvcyBhbyBww7pibGljbyBlbSBnZXJhbCwgZW0gcmVnaW1lIGRlIGFjZXNzbyBhYmVydG8uCgozLiBBIHByZXNlbnRlIGxpY2Vuw6dhIHRhbWLDqW0gYWJyYW5nZSwgbm9zIG1lc21vcyB0ZXJtb3MgZXN0YWJlbGVjaWRvcyBubyBpdGVtIDIsIHN1cHJhLCBxdWFscXVlciBkaXJlaXRvIGRlIGNvbXVuaWNhw6fDo28gYW8gcMO6YmxpY28gY2Fiw612ZWwgZW0gcmVsYcOnw6NvIMOgIE9icmEgb3JhIGRlcG9zaXRhZGEsIGluY2x1aW5kby1zZSBvcyB1c29zIHJlZmVyZW50ZXMgw6AgcmVwcmVzZW50YcOnw6NvIHDDumJsaWNhIGUvb3UgZXhlY3XDp8OjbyBww7pibGljYSwgYmVtIGNvbW8gcXVhbHF1ZXIgb3V0cmEgbW9kYWxpZGFkZSBkZSBjb211bmljYcOnw6NvIGFvIHDDumJsaWNvIHF1ZSBleGlzdGEgb3UgdmVuaGEgYSBleGlzdGlyLCBub3MgdGVybW9zIGRvIGFydGlnbyA2OCBlIHNlZ3VpbnRlcyBkYSBMZWkgOS42MTAvOTgsIG5hIGV4dGVuc8OjbyBxdWUgZm9yIGFwbGljw6F2ZWwgYW9zIHNlcnZpw6dvcyBwcmVzdGFkb3MgYW8gcMO6YmxpY28gcGVsYSBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkZSBTw6NvIFBhdWxvIChVTklGRVNQKS4KCjQuIEVzdGEgbGljZW7Dp2EgYWJyYW5nZSwgYWluZGEsIG5vcyBtZXNtb3MgdGVybW9zIGVzdGFiZWxlY2lkb3Mgbm8gaXRlbSAyLCBzdXByYSwgdG9kb3Mgb3MgZGlyZWl0b3MgY29uZXhvcyBkZSBhcnRpc3RhcyBpbnTDqXJwcmV0ZXMgb3UgZXhlY3V0YW50ZXMsIHByb2R1dG9yZXMgZm9ub2dyw6FmaWNvcyBvdSBlbXByZXNhcyBkZSByYWRpb2RpZnVzw6NvIHF1ZSBldmVudHVhbG1lbnRlIHNlamFtIGFwbGljw6F2ZWlzIGVtIHJlbGHDp8OjbyDDoCBvYnJhIGRlcG9zaXRhZGEsIGVtIGNvbmZvcm1pZGFkZSBjb20gbyByZWdpbWUgZml4YWRvIG5vIFTDrXR1bG8gViBkYSBMZWkgOS42MTAvOTguCgo1LiBTZSBhIE9icmEgZGVwb3NpdGFkYSBmb2kgb3Ugw6kgb2JqZXRvIGRlIGZpbmFuY2lhbWVudG8gcG9yIGluc3RpdHVpw6fDtWVzIGRlIGZvbWVudG8gw6AgcGVzcXVpc2Egb3UgcXVhbHF1ZXIgb3V0cmEgc2VtZWxoYW50ZSwgdm9jw6ogb3UgbyB0aXR1bGFyIGFzc2VndXJhIHF1ZSBjdW1wcml1IHRvZGFzIGFzIG9icmlnYcOnw7VlcyBxdWUgbGhlIGZvcmFtIGltcG9zdGFzIHBlbGEgaW5zdGl0dWnDp8OjbyBmaW5hbmNpYWRvcmEgZW0gcmF6w6NvIGRvIGZpbmFuY2lhbWVudG8sIGUgcXVlIG7Do28gZXN0w6EgY29udHJhcmlhbmRvIHF1YWxxdWVyIGRpc3Bvc2nDp8OjbyBjb250cmF0dWFsIHJlZmVyZW50ZSDDoCBwdWJsaWNhw6fDo28gZG8gY29udGXDumRvIG9yYSBzdWJtZXRpZG8gYW8gUmVwb3NpdMOzcmlvIEluc3RpdHVjaW9uYWwgVU5JRkVTUC4KIAo2LiBBdXRvcml6YSBhIFVuaXZlcnNpZGFkZSBGZWRlcmFsIGRlIFPDo28gUGF1bG8gYSBkaXNwb25pYmlsaXphciBhIG9icmEgbm8gUmVwb3NpdMOzcmlvIEluc3RpdHVjaW9uYWwgVU5JRkVTUCBkZSBmb3JtYSBncmF0dWl0YSwgZGUgYWNvcmRvIGNvbSBhIGxpY2Vuw6dhIHDDumJsaWNhIENyZWF0aXZlIENvbW1vbnM6IEF0cmlidWnDp8Ojby1TZW0gRGVyaXZhw6fDtWVzLVNlbSBEZXJpdmFkb3MgNC4wIEludGVybmFjaW9uYWwgKENDIEJZLU5DLU5EKSwgcGVybWl0aW5kbyBzZXUgbGl2cmUgYWNlc3NvLCB1c28gZSBjb21wYXJ0aWxoYW1lbnRvLCBkZXNkZSBxdWUgY2l0YWRhIGEgZm9udGUuIEEgb2JyYSBjb250aW51YSBwcm90ZWdpZGEgcG9yIERpcmVpdG9zIEF1dG9yYWlzIGUvb3UgcG9yIG91dHJhcyBsZWlzIGFwbGljw6F2ZWlzLiBRdWFscXVlciB1c28gZGEgb2JyYSwgcXVlIG7Do28gbyBhdXRvcml6YWRvIHNvYiBlc3RhIGxpY2Vuw6dhIG91IHBlbGEgbGVnaXNsYcOnw6NvIGF1dG9yYWwsIMOpIHByb2liaWRvLiAgCgo3LiBBdGVzdGEgcXVlIGEgT2JyYSBzdWJtZXRpZGEgbsOjbyBjb250w6ltIHF1YWxxdWVyIGluZm9ybWHDp8OjbyBjb25maWRlbmNpYWwgc3VhIG91IGRlIHRlcmNlaXJvcy4KCjguIEF0ZXN0YSBxdWUgbyB0cmFiYWxobyBzdWJtZXRpZG8gw6kgb3JpZ2luYWwgZSBmb2kgZWxhYm9yYWRvIHJlc3BlaXRhbmRvIG9zIHByaW5jw61waW9zIGRhIG1vcmFsIGUgZGEgw6l0aWNhIGUgbsOjbyB2aW9sb3UgcXVhbHF1ZXIgZGlyZWl0byBkZSBwcm9wcmllZGFkZSBpbnRlbGVjdHVhbCwgc29iIHBlbmEgZGUgcmVzcG9uZGVyIGNpdmlsLCBjcmltaW5hbCwgw6l0aWNhIGUgcHJvZmlzc2lvbmFsbWVudGUgcG9yIG1ldXMgYXRvczsKCjkuIEF0ZXN0YSBxdWUgYSB2ZXJzw6NvIGRvIHRyYWJhbGhvIHByZXNlbnRlIG5vIGFycXVpdm8gc3VibWV0aWRvIMOpIGEgdmVyc8OjbyBkZWZpbml0aXZhIHF1ZSBpbmNsdWkgYXMgYWx0ZXJhw6fDtWVzIGRlY29ycmVudGVzIGRhIGRlZmVzYSwgc29saWNpdGFkYXMgcGVsYSBiYW5jYSwgc2UgaG91dmUgYWxndW1hLCBvdSBzb2xpY2l0YWRhcyBwb3IgcGFydGUgZGUgb3JpZW50YcOnw6NvIGRvY2VudGUgcmVzcG9uc8OhdmVsOwoKMTAuIENvbmNlZGUgw6AgVW5pdmVyc2lkYWRlIEZlZGVyYWwgZGUgU8OjbyBQYXVsbyAoVU5JRkVTUCkgbyBkaXJlaXRvIG7Do28gZXhjbHVzaXZvIGRlIHJlYWxpemFyIHF1YWlzcXVlciBhbHRlcmHDp8O1ZXMgbmEgbcOtZGlhIG91IG5vIGZvcm1hdG8gZG8gYXJxdWl2byBwYXJhIHByb3DDs3NpdG9zIGRlIHByZXNlcnZhw6fDo28gZGlnaXRhbCwgZGUgYWNlc3NpYmlsaWRhZGUgZSBkZSBtZWxob3IgaWRlbnRpZmljYcOnw6NvIGRvIHRyYWJhbGhvIHN1Ym1ldGlkbywgZGVzZGUgcXVlIG7Do28gc2VqYSBhbHRlcmFkbyBzZXUgY29udGXDumRvIGludGVsZWN0dWFsLgoKQW8gY29uY2x1aXIgYXMgZXRhcGFzIGRvIHByb2Nlc3NvIGRlIHN1Ym1pc3PDo28gZGUgYXJxdWl2b3Mgbm8gUmVwb3NpdMOzcmlvIEluc3RpdHVjaW9uYWwgVU5JRkVTUCwgYXRlc3RvIHF1ZSBsaSBlIGNvbmNvcmRlaSBpbnRlZ3JhbG1lbnRlIGNvbSBvcyB0ZXJtb3MgYWNpbWEgZGVsaW1pdGFkb3MsIHNlbSBmYXplciBxdWFscXVlciByZXNlcnZhIGUgbm92YW1lbnRlIGNvbmZpcm1hbmRvIHF1ZSBjdW1wcm8gb3MgcmVxdWlzaXRvcyBpbmRpY2Fkb3Mgbm9zIGl0ZW5zIG1lbmNpb25hZG9zIGFudGVyaW9ybWVudGUuCgpIYXZlbmRvIHF1YWxxdWVyIGRpc2NvcmTDom5jaWEgZW0gcmVsYcOnw6NvIGEgcHJlc2VudGUgbGljZW7Dp2Egb3UgbsOjbyBzZSB2ZXJpZmljYW5kbyBvIGV4aWdpZG8gbm9zIGl0ZW5zIGFudGVyaW9yZXMsIHZvY8OqIGRldmUgaW50ZXJyb21wZXIgaW1lZGlhdGFtZW50ZSBvIHByb2Nlc3NvIGRlIHN1Ym1pc3PDo28uIEEgY29udGludWlkYWRlIGRvIHByb2Nlc3NvIGVxdWl2YWxlIMOgIGNvbmNvcmTDom5jaWEgZSDDoCBhc3NpbmF0dXJhIGRlc3RlIGRvY3VtZW50bywgY29tIHRvZGFzIGFzIGNvbnNlcXXDqm5jaWFzIG5lbGUgcHJldmlzdGFzLCBzdWplaXRhbmRvLXNlIG8gc2lnbmF0w6FyaW8gYSBzYW7Dp8O1ZXMgY2l2aXMgZSBjcmltaW5haXMgY2FzbyBuw6NvIHNlamEgdGl0dWxhciBkb3MgZGlyZWl0b3MgYXV0b3JhaXMgcGF0cmltb25pYWlzIGUvb3UgY29uZXhvcyBhcGxpY8OhdmVpcyDDoCBPYnJhIGRlcG9zaXRhZGEgZHVyYW50ZSBlc3RlIHByb2Nlc3NvLCBvdSBjYXNvIG7Do28gdGVuaGEgb2J0aWRvIHByw6l2aWEgZSBleHByZXNzYSBhdXRvcml6YcOnw6NvIGRvIHRpdHVsYXIgcGFyYSBvIGRlcMOzc2l0byBlIHRvZG9zIG9zIHVzb3MgZGEgT2JyYSBlbnZvbHZpZG9zLgoKU2UgdGl2ZXIgcXVhbHF1ZXIgZMO6dmlkYSBxdWFudG8gYW9zIHRlcm1vcyBkZSBsaWNlbmNpYW1lbnRvIGUgcXVhbnRvIGFvIHByb2Nlc3NvIGRlIHN1Ym1pc3PDo28sIGVudHJlIGVtIGNvbnRhdG8gY29tIGEgYmlibGlvdGVjYSBkbyBzZXUgY2FtcHVzIChjb25zdWx0ZSBlbTogaHR0cHM6Ly9iaWJsaW90ZWNhcy51bmlmZXNwLmJyL2JpYmxpb3RlY2FzLWRhLXJlZGUpLiAKClPDo28gUGF1bG8sIFdlZCBTZXAgMDggMTA6MjA6MTYgQlJUIDIwMjEuCgo=
dc.title.pt_BR.fl_str_mv Diagnóstico de falhas em arquiteturas baseadas em microsserviços
dc.title.alternative.pt_BR.fl_str_mv Failure diagnosis on microservices based architectures
title Diagnóstico de falhas em arquiteturas baseadas em microsserviços
spellingShingle Diagnóstico de falhas em arquiteturas baseadas em microsserviços
Souza, Vinicius José Silveira [UNIFESP]
Microservices
Failure diagnose
Architecture
Computational systems dependability
title_short Diagnóstico de falhas em arquiteturas baseadas em microsserviços
title_full Diagnóstico de falhas em arquiteturas baseadas em microsserviços
title_fullStr Diagnóstico de falhas em arquiteturas baseadas em microsserviços
title_full_unstemmed Diagnóstico de falhas em arquiteturas baseadas em microsserviços
title_sort Diagnóstico de falhas em arquiteturas baseadas em microsserviços
author Souza, Vinicius José Silveira [UNIFESP]
author_facet Souza, Vinicius José Silveira [UNIFESP]
author_role author
dc.contributor.advisorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/7587316047810193
dc.contributor.authorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/6815546854267566
dc.contributor.author.fl_str_mv Souza, Vinicius José Silveira [UNIFESP]
dc.contributor.advisor1.fl_str_mv Kimura, Bruno Yuji Lino [UNIFESP]
contributor_str_mv Kimura, Bruno Yuji Lino [UNIFESP]
dc.subject.por.fl_str_mv Microservices
Failure diagnose
Architecture
Computational systems dependability
topic Microservices
Failure diagnose
Architecture
Computational systems dependability
description 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.
publishDate 2021
dc.date.accessioned.fl_str_mv 2021-09-08T13:29:19Z
dc.date.available.fl_str_mv 2021-09-08T13:29:19Z
dc.date.issued.fl_str_mv 2021-05-28
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
format masterThesis
status_str publishedVersion
dc.identifier.citation.fl_str_mv SOUZA V. J. S. Diagnóstico de falhas em arquiteturas baseadas em microsserviços
dc.identifier.uri.fl_str_mv https://repositorio.unifesp.br/handle/11600/61903
dc.identifier.dark.fl_str_mv ark:/48912/001300002r9h6
identifier_str_mv SOUZA V. J. S. Diagnóstico de falhas em arquiteturas baseadas em microsserviços
ark:/48912/001300002r9h6
url https://repositorio.unifesp.br/handle/11600/61903
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv 134 f
dc.coverage.spatial.pt_BR.fl_str_mv São José dos Campos, SP
dc.publisher.none.fl_str_mv Universidade Federal de São Paulo
publisher.none.fl_str_mv Universidade Federal de São Paulo
dc.source.none.fl_str_mv reponame:Repositório Institucional da UNIFESP
instname:Universidade Federal de São Paulo (UNIFESP)
instacron:UNIFESP
instname_str Universidade Federal de São Paulo (UNIFESP)
instacron_str UNIFESP
institution UNIFESP
reponame_str Repositório Institucional da UNIFESP
collection Repositório Institucional da UNIFESP
bitstream.url.fl_str_mv https://repositorio.unifesp.br/bitstreams/afac05fb-035f-423e-8c5a-fefcf834e68f/download
https://repositorio.unifesp.br/bitstreams/f96eb442-1a66-40a2-beb5-e83e7a5137ed/download
https://repositorio.unifesp.br/bitstreams/4e8fec6c-907c-484d-8c69-7bd6a7080e3e/download
https://repositorio.unifesp.br/bitstreams/86c2e1e6-64da-470c-b126-a0e3dc73c07e/download
bitstream.checksum.fl_str_mv b5375cb66620538bf2d2b3d4ea003ca1
ef0edd01d3fc6963384da2be721f5ba8
a19214c543410be7f1d4b17a5d05ef5f
4f82037025b5c372b57bdae906db499d
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UNIFESP - Universidade Federal de São Paulo (UNIFESP)
repository.mail.fl_str_mv biblioteca.csp@unifesp.br
_version_ 1863846470866698240