Diagnóstico de falhas em arquiteturas baseadas em microsserviços
Autor(a) principal: | |
---|---|
Data de Publicação: | 2021 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Repositório Institucional da UNIFESP |
Texto Completo: | 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 |
3465 |
spelling |
Souza, Vinicius José Silveira [UNIFESP]http://lattes.cnpq.br/6815546854267566http://lattes.cnpq.br/7587316047810193Kimura, Bruno Yuji Lino [UNIFESP]São José dos Campos, SP2021-09-08T13:29:19Z2021-09-08T13:29:19Z2021-05-28SOUZA V. J. S. Diagnóstico de falhas em arquiteturas baseadas em microsserviçoshttps://repositorio.unifesp.br/handle/11600/61903A 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 fporUniversidade Federal de São PauloMicroservicesFailure diagnoseArchitectureComputational systems dependabilityDiagnóstico de falhas em arquiteturas baseadas em microsserviçosFailure diagnosis on microservices based architecturesinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UNIFESPinstname:Universidade Federal de São Paulo (UNIFESP)instacron:UNIFESPInstituto de Ciência e Tecnologia (ICT)Ciência da ComputaçãoCiência da computaçãoSistemas ComputacionaisPró-reitoria de Pós-graduação e PesquisaNão se aplicaNão se aplicaNão se aplicaNão se aplicaORIGINALdissertacao_vinicius.pdfdissertacao_vinicius.pdfDissertação de mestradoapplication/pdf5630034${dspace.ui.url}/bitstream/11600/61903/3/dissertacao_vinicius.pdfb5375cb66620538bf2d2b3d4ea003ca1MD53open accessLICENSElicense.txtlicense.txttext/plain; charset=utf-85834${dspace.ui.url}/bitstream/11600/61903/4/license.txtef0edd01d3fc6963384da2be721f5ba8MD54open accessTEXTdissertacao_vinicius.pdf.txtdissertacao_vinicius.pdf.txtExtracted texttext/plain264518${dspace.ui.url}/bitstream/11600/61903/5/dissertacao_vinicius.pdf.txtbbdc7daf49971fdd7ac591aae0ce9516MD55open accessTHUMBNAILdissertacao_vinicius.pdf.jpgdissertacao_vinicius.pdf.jpgIM Thumbnailimage/jpeg3924${dspace.ui.url}/bitstream/11600/61903/7/dissertacao_vinicius.pdf.jpg12f66478217ba45fffc6dcfe0ac0b9abMD57open access11600/619032023-05-24 01:32:28.495open accessoai:repositorio.unifesp.br:11600/61903VEVSTU9TIEUgQ09OREnDh8OVRVMgUEFSQSBPIExJQ0VOQ0lBTUVOVE8gRE8gQVJRVUlWQU1FTlRPLCBSRVBST0RVw4fDg08gRSBESVZVTEdBw4fDg08gUMOaQkxJQ0EgREUgQ09OVEXDmkRPIE5PIFJFUE9TSVTDk1JJTyBJTlNUSVRVQ0lPTkFMIFVOSUZFU1AKCjEuIEV1LCBWaW7DrWNpdXMgSm9zw6kgU2lsdmVpcmEgZGUgU291emEgKHZqc3NvdXphQHVuaWZlc3AuYnIpLCByZXNwb25zw6F2ZWwgcGVsbyB0cmFiYWxobyDigJxEaWFnbsOzc3RpY28gZGUgZmFsaGFzIGVtIGFycXVpdGV0dXJhcyBiYXNlYWRhcyBlbSBtaWNyb3NzZXJ2acOnb3PigJ0gZS9vdSB1c3XDoXJpby1kZXBvc2l0YW50ZSBubyBSZXBvc2l0w7NyaW8gSW5zdGl0dWNpb25hbCBVTklGRVNQLGFzc2VndXJvIG5vIHByZXNlbnRlIGF0byBxdWUgc291IHRpdHVsYXIgZG9zIGRpcmVpdG9zIGF1dG9yYWlzIHBhdHJpbW9uaWFpcyBlL291IGRpcmVpdG9zIGNvbmV4b3MgcmVmZXJlbnRlcyDDoCB0b3RhbGlkYWRlIGRhIE9icmEgb3JhIGRlcG9zaXRhZGEgZW0gZm9ybWF0byBkaWdpdGFsLCBiZW0gY29tbyBkZSBzZXVzIGNvbXBvbmVudGVzIG1lbm9yZXMsIGVtIHNlIHRyYXRhbmRvIGRlIG9icmEgY29sZXRpdmEsIGNvbmZvcm1lIG8gcHJlY2VpdHVhZG8gcGVsYSBMZWkgOS42MTAvOTggZS9vdSBMZWkgOS42MDkvOTguIE7Do28gc2VuZG8gZXN0ZSBvIGNhc28sIGFzc2VndXJvIHRlciBvYnRpZG8gZGlyZXRhbWVudGUgZG9zIGRldmlkb3MgdGl0dWxhcmVzIGF1dG9yaXphw6fDo28gcHLDqXZpYSBlIGV4cHJlc3NhIHBhcmEgbyBkZXDDs3NpdG8gZSBwYXJhIGEgZGl2dWxnYcOnw6NvIGRhIE9icmEsIGFicmFuZ2VuZG8gdG9kb3Mgb3MgZGlyZWl0b3MgYXV0b3JhaXMgZSBjb25leG9zIGFmZXRhZG9zIHBlbGEgYXNzaW5hdHVyYSBkbyBwcmVzZW50ZSB0ZXJtbyBkZSBsaWNlbmNpYW1lbnRvLCBkZSBtb2RvIGEgZWZldGl2YW1lbnRlIGlzZW50YXIgYSBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkZSBTw6NvIFBhdWxvIChVTklGRVNQKSBlIHNldXMgZnVuY2lvbsOhcmlvcyBkZSBxdWFscXVlciByZXNwb25zYWJpbGlkYWRlIHBlbG8gdXNvIG7Do28tYXV0b3JpemFkbyBkbyBtYXRlcmlhbCBkZXBvc2l0YWRvLCBzZWphIGVtIHZpbmN1bGHDp8OjbyBhbyBSZXBvc2l0w7NyaW8gSW5zdGl0dWNpb25hbCBVTklGRVNQLCBzZWphIGVtIHZpbmN1bGHDp8OjbyBhIHF1YWlzcXVlciBzZXJ2acOnb3MgZGUgYnVzY2EgZSBkZSBkaXN0cmlidWnDp8OjbyBkZSBjb250ZcO6ZG8gcXVlIGZhw6dhbSB1c28gZGFzIGludGVyZmFjZXMgZSBlc3Bhw6dvIGRlIGFybWF6ZW5hbWVudG8gcHJvdmlkZW5jaWFkb3MgcGVsYSBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkZSBTw6NvIFBhdWxvIChVTklGRVNQKSBwb3IgbWVpbyBkZSBzZXVzIHNpc3RlbWFzIGluZm9ybWF0aXphZG9zLgoKMi4gQSBjb25jb3Jkw6JuY2lhIGNvbSBlc3RhIGxpY2Vuw6dhIHRlbSBjb21vIGNvbnNlcXXDqm5jaWEgYSB0cmFuc2ZlcsOqbmNpYSwgYSB0w610dWxvIG7Do28tZXhjbHVzaXZvIGUgbsOjby1vbmVyb3NvLCBpc2VudGEgZG8gcGFnYW1lbnRvIGRlIHJveWFsdGllcyBvdSBxdWFscXVlciBvdXRyYSBjb250cmFwcmVzdGHDp8OjbywgcGVjdW5pw6FyaWEgb3UgbsOjbywgw6AgVW5pdmVyc2lkYWRlIEZlZGVyYWwgZGUgU8OjbyBQYXVsbyAoVU5JRkVTUCkgZG9zIGRpcmVpdG9zIGRlIGFybWF6ZW5hciBkaWdpdGFsbWVudGUsIGRlIHJlcHJvZHV6aXIgZSBkZSBkaXN0cmlidWlyIG5hY2lvbmFsIGUgaW50ZXJuYWNpb25hbG1lbnRlIGEgT2JyYSwgaW5jbHVpbmRvLXNlIG8gc2V1IHJlc3Vtby9hYnN0cmFjdCwgcG9yIG1laW9zIGVsZXRyw7RuaWNvcyBhbyBww7pibGljbyBlbSBnZXJhbCwgZW0gcmVnaW1lIGRlIGFjZXNzbyBhYmVydG8uCgozLiBBIHByZXNlbnRlIGxpY2Vuw6dhIHRhbWLDqW0gYWJyYW5nZSwgbm9zIG1lc21vcyB0ZXJtb3MgZXN0YWJlbGVjaWRvcyBubyBpdGVtIDIsIHN1cHJhLCBxdWFscXVlciBkaXJlaXRvIGRlIGNvbXVuaWNhw6fDo28gYW8gcMO6YmxpY28gY2Fiw612ZWwgZW0gcmVsYcOnw6NvIMOgIE9icmEgb3JhIGRlcG9zaXRhZGEsIGluY2x1aW5kby1zZSBvcyB1c29zIHJlZmVyZW50ZXMgw6AgcmVwcmVzZW50YcOnw6NvIHDDumJsaWNhIGUvb3UgZXhlY3XDp8OjbyBww7pibGljYSwgYmVtIGNvbW8gcXVhbHF1ZXIgb3V0cmEgbW9kYWxpZGFkZSBkZSBjb211bmljYcOnw6NvIGFvIHDDumJsaWNvIHF1ZSBleGlzdGEgb3UgdmVuaGEgYSBleGlzdGlyLCBub3MgdGVybW9zIGRvIGFydGlnbyA2OCBlIHNlZ3VpbnRlcyBkYSBMZWkgOS42MTAvOTgsIG5hIGV4dGVuc8OjbyBxdWUgZm9yIGFwbGljw6F2ZWwgYW9zIHNlcnZpw6dvcyBwcmVzdGFkb3MgYW8gcMO6YmxpY28gcGVsYSBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkZSBTw6NvIFBhdWxvIChVTklGRVNQKS4KCjQuIEVzdGEgbGljZW7Dp2EgYWJyYW5nZSwgYWluZGEsIG5vcyBtZXNtb3MgdGVybW9zIGVzdGFiZWxlY2lkb3Mgbm8gaXRlbSAyLCBzdXByYSwgdG9kb3Mgb3MgZGlyZWl0b3MgY29uZXhvcyBkZSBhcnRpc3RhcyBpbnTDqXJwcmV0ZXMgb3UgZXhlY3V0YW50ZXMsIHByb2R1dG9yZXMgZm9ub2dyw6FmaWNvcyBvdSBlbXByZXNhcyBkZSByYWRpb2RpZnVzw6NvIHF1ZSBldmVudHVhbG1lbnRlIHNlamFtIGFwbGljw6F2ZWlzIGVtIHJlbGHDp8OjbyDDoCBvYnJhIGRlcG9zaXRhZGEsIGVtIGNvbmZvcm1pZGFkZSBjb20gbyByZWdpbWUgZml4YWRvIG5vIFTDrXR1bG8gViBkYSBMZWkgOS42MTAvOTguCgo1LiBTZSBhIE9icmEgZGVwb3NpdGFkYSBmb2kgb3Ugw6kgb2JqZXRvIGRlIGZpbmFuY2lhbWVudG8gcG9yIGluc3RpdHVpw6fDtWVzIGRlIGZvbWVudG8gw6AgcGVzcXVpc2Egb3UgcXVhbHF1ZXIgb3V0cmEgc2VtZWxoYW50ZSwgdm9jw6ogb3UgbyB0aXR1bGFyIGFzc2VndXJhIHF1ZSBjdW1wcml1IHRvZGFzIGFzIG9icmlnYcOnw7VlcyBxdWUgbGhlIGZvcmFtIGltcG9zdGFzIHBlbGEgaW5zdGl0dWnDp8OjbyBmaW5hbmNpYWRvcmEgZW0gcmF6w6NvIGRvIGZpbmFuY2lhbWVudG8sIGUgcXVlIG7Do28gZXN0w6EgY29udHJhcmlhbmRvIHF1YWxxdWVyIGRpc3Bvc2nDp8OjbyBjb250cmF0dWFsIHJlZmVyZW50ZSDDoCBwdWJsaWNhw6fDo28gZG8gY29udGXDumRvIG9yYSBzdWJtZXRpZG8gYW8gUmVwb3NpdMOzcmlvIEluc3RpdHVjaW9uYWwgVU5JRkVTUC4KIAo2LiBBdXRvcml6YSBhIFVuaXZlcnNpZGFkZSBGZWRlcmFsIGRlIFPDo28gUGF1bG8gYSBkaXNwb25pYmlsaXphciBhIG9icmEgbm8gUmVwb3NpdMOzcmlvIEluc3RpdHVjaW9uYWwgVU5JRkVTUCBkZSBmb3JtYSBncmF0dWl0YSwgZGUgYWNvcmRvIGNvbSBhIGxpY2Vuw6dhIHDDumJsaWNhIENyZWF0aXZlIENvbW1vbnM6IEF0cmlidWnDp8Ojby1TZW0gRGVyaXZhw6fDtWVzLVNlbSBEZXJpdmFkb3MgNC4wIEludGVybmFjaW9uYWwgKENDIEJZLU5DLU5EKSwgcGVybWl0aW5kbyBzZXUgbGl2cmUgYWNlc3NvLCB1c28gZSBjb21wYXJ0aWxoYW1lbnRvLCBkZXNkZSBxdWUgY2l0YWRhIGEgZm9udGUuIEEgb2JyYSBjb250aW51YSBwcm90ZWdpZGEgcG9yIERpcmVpdG9zIEF1dG9yYWlzIGUvb3UgcG9yIG91dHJhcyBsZWlzIGFwbGljw6F2ZWlzLiBRdWFscXVlciB1c28gZGEgb2JyYSwgcXVlIG7Do28gbyBhdXRvcml6YWRvIHNvYiBlc3RhIGxpY2Vuw6dhIG91IHBlbGEgbGVnaXNsYcOnw6NvIGF1dG9yYWwsIMOpIHByb2liaWRvLiAgCgo3LiBBdGVzdGEgcXVlIGEgT2JyYSBzdWJtZXRpZGEgbsOjbyBjb250w6ltIHF1YWxxdWVyIGluZm9ybWHDp8OjbyBjb25maWRlbmNpYWwgc3VhIG91IGRlIHRlcmNlaXJvcy4KCjguIEF0ZXN0YSBxdWUgbyB0cmFiYWxobyBzdWJtZXRpZG8gw6kgb3JpZ2luYWwgZSBmb2kgZWxhYm9yYWRvIHJlc3BlaXRhbmRvIG9zIHByaW5jw61waW9zIGRhIG1vcmFsIGUgZGEgw6l0aWNhIGUgbsOjbyB2aW9sb3UgcXVhbHF1ZXIgZGlyZWl0byBkZSBwcm9wcmllZGFkZSBpbnRlbGVjdHVhbCwgc29iIHBlbmEgZGUgcmVzcG9uZGVyIGNpdmlsLCBjcmltaW5hbCwgw6l0aWNhIGUgcHJvZmlzc2lvbmFsbWVudGUgcG9yIG1ldXMgYXRvczsKCjkuIEF0ZXN0YSBxdWUgYSB2ZXJzw6NvIGRvIHRyYWJhbGhvIHByZXNlbnRlIG5vIGFycXVpdm8gc3VibWV0aWRvIMOpIGEgdmVyc8OjbyBkZWZpbml0aXZhIHF1ZSBpbmNsdWkgYXMgYWx0ZXJhw6fDtWVzIGRlY29ycmVudGVzIGRhIGRlZmVzYSwgc29saWNpdGFkYXMgcGVsYSBiYW5jYSwgc2UgaG91dmUgYWxndW1hLCBvdSBzb2xpY2l0YWRhcyBwb3IgcGFydGUgZGUgb3JpZW50YcOnw6NvIGRvY2VudGUgcmVzcG9uc8OhdmVsOwoKMTAuIENvbmNlZGUgw6AgVW5pdmVyc2lkYWRlIEZlZGVyYWwgZGUgU8OjbyBQYXVsbyAoVU5JRkVTUCkgbyBkaXJlaXRvIG7Do28gZXhjbHVzaXZvIGRlIHJlYWxpemFyIHF1YWlzcXVlciBhbHRlcmHDp8O1ZXMgbmEgbcOtZGlhIG91IG5vIGZvcm1hdG8gZG8gYXJxdWl2byBwYXJhIHByb3DDs3NpdG9zIGRlIHByZXNlcnZhw6fDo28gZGlnaXRhbCwgZGUgYWNlc3NpYmlsaWRhZGUgZSBkZSBtZWxob3IgaWRlbnRpZmljYcOnw6NvIGRvIHRyYWJhbGhvIHN1Ym1ldGlkbywgZGVzZGUgcXVlIG7Do28gc2VqYSBhbHRlcmFkbyBzZXUgY29udGXDumRvIGludGVsZWN0dWFsLgoKQW8gY29uY2x1aXIgYXMgZXRhcGFzIGRvIHByb2Nlc3NvIGRlIHN1Ym1pc3PDo28gZGUgYXJxdWl2b3Mgbm8gUmVwb3NpdMOzcmlvIEluc3RpdHVjaW9uYWwgVU5JRkVTUCwgYXRlc3RvIHF1ZSBsaSBlIGNvbmNvcmRlaSBpbnRlZ3JhbG1lbnRlIGNvbSBvcyB0ZXJtb3MgYWNpbWEgZGVsaW1pdGFkb3MsIHNlbSBmYXplciBxdWFscXVlciByZXNlcnZhIGUgbm92YW1lbnRlIGNvbmZpcm1hbmRvIHF1ZSBjdW1wcm8gb3MgcmVxdWlzaXRvcyBpbmRpY2Fkb3Mgbm9zIGl0ZW5zIG1lbmNpb25hZG9zIGFudGVyaW9ybWVudGUuCgpIYXZlbmRvIHF1YWxxdWVyIGRpc2NvcmTDom5jaWEgZW0gcmVsYcOnw6NvIGEgcHJlc2VudGUgbGljZW7Dp2Egb3UgbsOjbyBzZSB2ZXJpZmljYW5kbyBvIGV4aWdpZG8gbm9zIGl0ZW5zIGFudGVyaW9yZXMsIHZvY8OqIGRldmUgaW50ZXJyb21wZXIgaW1lZGlhdGFtZW50ZSBvIHByb2Nlc3NvIGRlIHN1Ym1pc3PDo28uIEEgY29udGludWlkYWRlIGRvIHByb2Nlc3NvIGVxdWl2YWxlIMOgIGNvbmNvcmTDom5jaWEgZSDDoCBhc3NpbmF0dXJhIGRlc3RlIGRvY3VtZW50bywgY29tIHRvZGFzIGFzIGNvbnNlcXXDqm5jaWFzIG5lbGUgcHJldmlzdGFzLCBzdWplaXRhbmRvLXNlIG8gc2lnbmF0w6FyaW8gYSBzYW7Dp8O1ZXMgY2l2aXMgZSBjcmltaW5haXMgY2FzbyBuw6NvIHNlamEgdGl0dWxhciBkb3MgZGlyZWl0b3MgYXV0b3JhaXMgcGF0cmltb25pYWlzIGUvb3UgY29uZXhvcyBhcGxpY8OhdmVpcyDDoCBPYnJhIGRlcG9zaXRhZGEgZHVyYW50ZSBlc3RlIHByb2Nlc3NvLCBvdSBjYXNvIG7Do28gdGVuaGEgb2J0aWRvIHByw6l2aWEgZSBleHByZXNzYSBhdXRvcml6YcOnw6NvIGRvIHRpdHVsYXIgcGFyYSBvIGRlcMOzc2l0byBlIHRvZG9zIG9zIHVzb3MgZGEgT2JyYSBlbnZvbHZpZG9zLgoKU2UgdGl2ZXIgcXVhbHF1ZXIgZMO6dmlkYSBxdWFudG8gYW9zIHRlcm1vcyBkZSBsaWNlbmNpYW1lbnRvIGUgcXVhbnRvIGFvIHByb2Nlc3NvIGRlIHN1Ym1pc3PDo28sIGVudHJlIGVtIGNvbnRhdG8gY29tIGEgYmlibGlvdGVjYSBkbyBzZXUgY2FtcHVzIChjb25zdWx0ZSBlbTogaHR0cHM6Ly9iaWJsaW90ZWNhcy51bmlmZXNwLmJyL2JpYmxpb3RlY2FzLWRhLXJlZGUpLiAKClPDo28gUGF1bG8sIFdlZCBTZXAgMDggMTA6MjA6MTYgQlJUIDIwMjEuCgo=Repositório InstitucionalPUBhttp://www.repositorio.unifesp.br/oai/requestopendoar:34652023-05-24T04:32:28Repositório Institucional da UNIFESP - Universidade Federal de São Paulo (UNIFESP)false |
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.authorLattes.pt_BR.fl_str_mv |
http://lattes.cnpq.br/6815546854267566 |
dc.contributor.advisorLattes.pt_BR.fl_str_mv |
http://lattes.cnpq.br/7587316047810193 |
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.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
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 |
identifier_str_mv |
SOUZA V. J. S. Diagnóstico de falhas em arquiteturas baseadas em microsserviços |
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 |
${dspace.ui.url}/bitstream/11600/61903/3/dissertacao_vinicius.pdf ${dspace.ui.url}/bitstream/11600/61903/4/license.txt ${dspace.ui.url}/bitstream/11600/61903/5/dissertacao_vinicius.pdf.txt ${dspace.ui.url}/bitstream/11600/61903/7/dissertacao_vinicius.pdf.jpg |
bitstream.checksum.fl_str_mv |
b5375cb66620538bf2d2b3d4ea003ca1 ef0edd01d3fc6963384da2be721f5ba8 bbdc7daf49971fdd7ac591aae0ce9516 12f66478217ba45fffc6dcfe0ac0b9ab |
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 |
|
_version_ |
1802764268495437824 |