Chaos engineering: história, evolução e tendências em uma metodologia de testes em sistemas distribuídos
Autor(a) principal: | |
---|---|
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 |