Chaos engineering: história, evolução e tendências em uma metodologia de testes em sistemas distribuídos

Detalhes bibliográficos
Autor(a) principal: Araujo, Vitor De Oliveira Fernandez
Data de Publicação: 2022
Tipo de documento: Trabalho de conclusão de curso
Idioma: por
Título da fonte: Repositório Institucional da UFRJ
Texto Completo: http://hdl.handle.net/11422/19669
Resumo: Ao longo do início do século XXI, com a expansão da Internet, a sociedade tornou-se cada vez mais dependente de sistemas distribuídos. Esta dependência — por muitas vezes invisível — cria a responsabilidade para as empresas que desenvolvem estes sistemas de testá-los adequadamente e garantir que seu funcionamento seja estável e resiliente. Num contexto de sistemas de larga escala, com grande quantidade de usuários e componentes internos, essa tarefa pode ser um grande desafio, pela característica caótica e imprevisível que tais sistemas apresentam. Considerando esta problemática, este trabalho tem por objetivo prover uma visão geral sobre Chaos Engineering, uma nova metodologia de testes de sistemas distribuídos de larga escala, criada no mercado. Esta metodologia propõe uma estratégia rigorosa de testes em sistemas distribuídos por meio de técnicas de injeção de falhas, com o intuito de revelar fraquezas ocultas e intrínsecas do sistema. No trabalho, são analisados os passos propostos pela metodologia, as premissas consideradas e um recorte de sua história de origem. A metodologia também é abordada pelo prisma prático, estudando os experimentos e técnicas que algumas empresas selecionadas utilizaram em sua trajetória. Apresentamos, ainda, uma coleção de ferramentas e bibliotecas relevantes para a prática de Chaos Engineering, baseada em listas de recursos produzidas pela comunidade. Por fim, o trabalho fornece um breve resumo do contexto atual da metodologia, desafios para sua adoção e uma análise de seu futuro esperado.
id UFRJ_109c6c814831c941c0c614d59b846305
oai_identifier_str oai:pantheon.ufrj.br:11422/19669
network_acronym_str UFRJ
network_name_str Repositório Institucional da UFRJ
repository_id_str
spelling Araujo, Vitor De Oliveira Fernandezhttp://lattes.cnpq.br/0054098292730720http://lattes.cnpq.br/1062907147431032Menasche, Daniel Sadochttp://lattes.cnpq.br/9931198850020140Grael, Felipe Finkhttp://lattes.cnpq.br/7307455058897826Rossetto, Silvana2023-02-06T14:19:43Z2023-11-30T03:03:35Z2022-09-08http://hdl.handle.net/11422/19669Submitted by Elaine Almeida (elaine.almeida@nce.ufrj.br) on 2023-02-06T14:19:43Z No. of bitstreams: 1 VOFAraujo.pdf: 879056 bytes, checksum: 573d488a1df7df1d673bddef86fc8fc4 (MD5)Made available in DSpace on 2023-02-06T14:19:43Z (GMT). No. of bitstreams: 1 VOFAraujo.pdf: 879056 bytes, checksum: 573d488a1df7df1d673bddef86fc8fc4 (MD5) Previous issue date: 2022-09-08Ao longo do início do século XXI, com a expansão da Internet, a sociedade tornou-se cada vez mais dependente de sistemas distribuídos. Esta dependência — por muitas vezes invisível — cria a responsabilidade para as empresas que desenvolvem estes sistemas de testá-los adequadamente e garantir que seu funcionamento seja estável e resiliente. Num contexto de sistemas de larga escala, com grande quantidade de usuários e componentes internos, essa tarefa pode ser um grande desafio, pela característica caótica e imprevisível que tais sistemas apresentam. Considerando esta problemática, este trabalho tem por objetivo prover uma visão geral sobre Chaos Engineering, uma nova metodologia de testes de sistemas distribuídos de larga escala, criada no mercado. Esta metodologia propõe uma estratégia rigorosa de testes em sistemas distribuídos por meio de técnicas de injeção de falhas, com o intuito de revelar fraquezas ocultas e intrínsecas do sistema. No trabalho, são analisados os passos propostos pela metodologia, as premissas consideradas e um recorte de sua história de origem. A metodologia também é abordada pelo prisma prático, estudando os experimentos e técnicas que algumas empresas selecionadas utilizaram em sua trajetória. Apresentamos, ainda, uma coleção de ferramentas e bibliotecas relevantes para a prática de Chaos Engineering, baseada em listas de recursos produzidas pela comunidade. Por fim, o trabalho fornece um breve resumo do contexto atual da metodologia, desafios para sua adoção e uma análise de seu futuro esperado.porUniversidade Federal do Rio de JaneiroUFRJBrasilInstituto de ComputaçãoCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOchaos engineeringsistemas distribuídosresiliênciaconfiabilidadecomputação em nuvemgarantia de qualidadeChaos engineering: história, evolução e tendências em uma metodologia de testes em sistemas distribuídosinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisabertoinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFRJinstname:Universidade Federal do Rio de Janeiro (UFRJ)instacron:UFRJLICENSElicense.txtlicense.txttext/plain; charset=utf-81853http://pantheon.ufrj.br:80/bitstream/11422/19669/2/license.txtdd32849f2bfb22da963c3aac6e26e255MD52ORIGINALVOFAraujo.pdfVOFAraujo.pdfapplication/pdf879056http://pantheon.ufrj.br:80/bitstream/11422/19669/1/VOFAraujo.pdf573d488a1df7df1d673bddef86fc8fc4MD5111422/196692023-11-30 00:03:35.857oai:pantheon.ufrj.br:11422/19669TElDRU7Dh0EgTsODTy1FWENMVVNJVkEgREUgRElTVFJJQlVJw4fDg08KCkFvIGFzc2luYXIgZSBlbnRyZWdhciBlc3RhIGxpY2Vuw6dhLCB2b2PDqihzKSBvKHMpIGF1dG9yKGVzKSBvdSBwcm9wcmlldMOhcmlvKHMpIGRvcyBkaXJlaXRvcyBhdXRvcmFpcyBjb25jZWRlKG0pIGFvIFJlcG9zaXTDs3JpbyBQYW50aGVvbiBkYSBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkbyBSaW8gZGUgSmFuZWlybyAoVUZSSikgbyBkaXJlaXRvIG7Do28gLSBleGNsdXNpdm8gZGUgcmVwcm9kdXppciwgY29udmVydGVyIChjb21vIGRlZmluaWRvIGFiYWl4byksIGUvb3UgZGlzdHJpYnVpciBvIGRvY3VtZW50byBlbnRyZWd1ZSAoaW5jbHVpbmRvIG8gcmVzdW1vKSBlbSB0b2RvIG8gbXVuZG8sIGVtIGZvcm1hdG8gZWxldHLDtG5pY28gZSBlbSBxdWFscXVlciBtZWlvLCBpbmNsdWluZG8sIG1hcyBuw6NvIGxpbWl0YWRvIGEgw6F1ZGlvIGUvb3UgdsOtZGVvLgoKVm9jw6ogY29uY29yZGEgcXVlIGEgVUZSSiBwb2RlLCBzZW0gYWx0ZXJhciBvIGNvbnRlw7pkbywgdHJhZHV6aXIgYSBhcHJlc2VudGHDp8OjbyBkZSBxdWFscXVlciBtZWlvIG91IGZvcm1hdG8gY29tIGEgZmluYWxpZGFkZSBkZSBwcmVzZXJ2YcOnw6NvLgoKVm9jw6ogdGFtYsOpbSBjb25jb3JkYSBxdWUgYSBVRlJKIHBvZGUgbWFudGVyIG1haXMgZGUgdW1hIGPDs3BpYSBkZXNzYSBzdWJtaXNzw6NvIHBhcmEgZmlucyBkZSBzZWd1cmFuw6dhLCBiYWNrLXVwIGUgcHJlc2VydmHDp8OjbyBkaWdpdGFsLgoKRGVjbGFyYSBxdWUgbyBkb2N1bWVudG8gZW50cmVndWUgw6kgc2V1IHRyYWJhbGhvIG9yaWdpbmFsLCBlIHF1ZSB2b2PDqiB0ZW0gbyBkaXJlaXRvIGRlIGNvbmNlZGVyIG9zIGRpcmVpdG9zIGNvbnRpZG9zIG5lc3RhIGxpY2Vuw6dhLiBWb2PDqiB0YW1iw6ltIGRlY2xhcmEgcXVlIGEgc3VhIGFwcmVzZW50YcOnw6NvLCBjb20gbyBtZWxob3IgZGUgc2V1cyBjb25oZWNpbWVudG9zLCBuw6NvIGluZnJpbmdpIGRpcmVpdG9zIGF1dG9yYWlzIGRlIHRlcmNlaXJvcy4KClNlIG8gZG9jdW1lbnRvIGVudHJlZ3VlIGNvbnTDqW0gbWF0ZXJpYWwgZG8gcXVhbCB2b2PDqiBuw6NvIHRlbSBkaXJlaXRvcyBkZSBhdXRvciwgZGVjbGFyYSBxdWUgb2J0ZXZlIGEgcGVybWlzc8OjbyBpcnJlc3RyaXRhIGRvIGRldGVudG9yIGRvcyBkaXJlaXRvcyBhdXRvcmFpcyBlIGNvbmNlZGUgYSBVRlJKIG9zIGRpcmVpdG9zIHJlcXVlcmlkb3MgcG9yIGVzdGEgbGljZW7Dp2EsIGUgcXVlIGVzc2UgbWF0ZXJpYWwgZGUgcHJvcHJpZWRhZGUgZGUgdGVyY2Vpcm9zIGVzdMOhIGNsYXJhbWVudGUgaWRlbnRpZmljYWRvIGUgcmVjb25oZWNpZG8gbm8gdGV4dG8gb3UgY29udGXDumRvIGRhIHN1Ym1pc3PDo28uCgpTZSBvIGRvY3VtZW50byBlbnRyZWd1ZSDDqSBiYXNlYWRvIGVtIHRyYWJhbGhvIHF1ZSBmb2ksIG91IHRlbSBzaWRvIHBhdHJvY2luYWRvIG91IGFwb2lhZG8gcG9yIHVtYSBhZ8OqbmNpYSBvdSBvdXRybyhzKSBvcmdhbmlzbW8ocykgcXVlIG7Do28gYSBVRlJKLCB2b2PDqiBkZWNsYXJhIHF1ZSBjdW1wcml1IHF1YWxxdWVyIGRpcmVpdG8gZGUgUkVWSVPDg08gb3UgZGUgb3V0cmFzIG9icmlnYcOnw7VlcyByZXF1ZXJpZGFzIHBvciBjb250cmF0byBvdSBhY29yZG8uCgpBIFVGUkogaXLDoSBpZGVudGlmaWNhciBjbGFyYW1lbnRlIG8ocykgc2V1KHMpIG5vbWUocykgY29tbyBhdXRvcihlcykgb3UgcHJvcHJpZXTDoXJpbyhzKSBkYSBzdWJtaXNzw6NvLCBlIG7Do28gZmFyw6EgcXVhbHF1ZXIgYWx0ZXJhw6fDo28sIHBhcmEgYWzDqW0gZGFzIHBlcm1pdGlkYXMgcG9yIGVzdGEgbGljZW7Dp2EsIG5vIGF0byBkZSBzdWJtaXNzw6NvLgo=Repositório de PublicaçõesPUBhttp://www.pantheon.ufrj.br/oai/requestopendoar:2023-11-30T03:03:35Repositório Institucional da UFRJ - Universidade Federal do Rio de Janeiro (UFRJ)false
dc.title.pt_BR.fl_str_mv Chaos engineering: história, evolução e tendências em uma metodologia de testes em sistemas distribuídos
title Chaos engineering: história, evolução e tendências em uma metodologia de testes em sistemas distribuídos
spellingShingle Chaos engineering: história, evolução e tendências em uma metodologia de testes em sistemas distribuídos
Araujo, Vitor De Oliveira Fernandez
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
chaos engineering
sistemas distribuídos
resiliência
confiabilidade
computação em nuvem
garantia de qualidade
title_short Chaos engineering: história, evolução e tendências em uma metodologia de testes em sistemas distribuídos
title_full Chaos engineering: história, evolução e tendências em uma metodologia de testes em sistemas distribuídos
title_fullStr Chaos engineering: história, evolução e tendências em uma metodologia de testes em sistemas distribuídos
title_full_unstemmed Chaos engineering: história, evolução e tendências em uma metodologia de testes em sistemas distribuídos
title_sort Chaos engineering: história, evolução e tendências em uma metodologia de testes em sistemas distribuídos
author Araujo, Vitor De Oliveira Fernandez
author_facet Araujo, Vitor De Oliveira Fernandez
author_role author
dc.contributor.advisorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/0054098292730720
dc.contributor.authorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/1062907147431032
dc.contributor.author.fl_str_mv Araujo, Vitor De Oliveira Fernandez
dc.contributor.referee1.fl_str_mv Menasche, Daniel Sadoc
dc.contributor.referee1Lattes.fl_str_mv http://lattes.cnpq.br/9931198850020140
dc.contributor.referee2.fl_str_mv Grael, Felipe Fink
dc.contributor.referee2Lattes.fl_str_mv http://lattes.cnpq.br/7307455058897826
dc.contributor.advisor1.fl_str_mv Rossetto, Silvana
contributor_str_mv Menasche, Daniel Sadoc
Grael, Felipe Fink
Rossetto, Silvana
dc.subject.cnpq.fl_str_mv CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
topic CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
chaos engineering
sistemas distribuídos
resiliência
confiabilidade
computação em nuvem
garantia de qualidade
dc.subject.por.fl_str_mv chaos engineering
sistemas distribuídos
resiliência
confiabilidade
computação em nuvem
garantia de qualidade
description Ao longo do início do século XXI, com a expansão da Internet, a sociedade tornou-se cada vez mais dependente de sistemas distribuídos. Esta dependência — por muitas vezes invisível — cria a responsabilidade para as empresas que desenvolvem estes sistemas de testá-los adequadamente e garantir que seu funcionamento seja estável e resiliente. Num contexto de sistemas de larga escala, com grande quantidade de usuários e componentes internos, essa tarefa pode ser um grande desafio, pela característica caótica e imprevisível que tais sistemas apresentam. Considerando esta problemática, este trabalho tem por objetivo prover uma visão geral sobre Chaos Engineering, uma nova metodologia de testes de sistemas distribuídos de larga escala, criada no mercado. Esta metodologia propõe uma estratégia rigorosa de testes em sistemas distribuídos por meio de técnicas de injeção de falhas, com o intuito de revelar fraquezas ocultas e intrínsecas do sistema. No trabalho, são analisados os passos propostos pela metodologia, as premissas consideradas e um recorte de sua história de origem. A metodologia também é abordada pelo prisma prático, estudando os experimentos e técnicas que algumas empresas selecionadas utilizaram em sua trajetória. Apresentamos, ainda, uma coleção de ferramentas e bibliotecas relevantes para a prática de Chaos Engineering, baseada em listas de recursos produzidas pela comunidade. Por fim, o trabalho fornece um breve resumo do contexto atual da metodologia, desafios para sua adoção e uma análise de seu futuro esperado.
publishDate 2022
dc.date.issued.fl_str_mv 2022-09-08
dc.date.accessioned.fl_str_mv 2023-02-06T14:19:43Z
dc.date.available.fl_str_mv 2023-11-30T03:03:35Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/bachelorThesis
format bachelorThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/11422/19669
url http://hdl.handle.net/11422/19669
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.publisher.none.fl_str_mv Universidade Federal do Rio de Janeiro
dc.publisher.initials.fl_str_mv UFRJ
dc.publisher.country.fl_str_mv Brasil
dc.publisher.department.fl_str_mv Instituto de Computação
publisher.none.fl_str_mv Universidade Federal do Rio de Janeiro
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFRJ
instname:Universidade Federal do Rio de Janeiro (UFRJ)
instacron:UFRJ
instname_str Universidade Federal do Rio de Janeiro (UFRJ)
instacron_str UFRJ
institution UFRJ
reponame_str Repositório Institucional da UFRJ
collection Repositório Institucional da UFRJ
bitstream.url.fl_str_mv http://pantheon.ufrj.br:80/bitstream/11422/19669/2/license.txt
http://pantheon.ufrj.br:80/bitstream/11422/19669/1/VOFAraujo.pdf
bitstream.checksum.fl_str_mv dd32849f2bfb22da963c3aac6e26e255
573d488a1df7df1d673bddef86fc8fc4
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFRJ - Universidade Federal do Rio de Janeiro (UFRJ)
repository.mail.fl_str_mv
_version_ 1784097277095182336