Adaptação de aplicações baseadas em microsserviços usando aprendizagem de máquina

Detalhes bibliográficos
Autor(a) principal: SANTOS, Wellison Raul Mariz
Data de Publicação: 2020
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Institucional da UFPE
Texto Completo: https://repositorio.ufpe.br/handle/123456789/37651
Resumo: Os microsserviços têm sido amplamente utilizados para criar aplicações complexas baseadas na nuvem. Nos sistemas baseados em nuvem, um dos requisitos essenciais é a escalabilidade. Sistemas escaláveis se adaptam às mudanças na carga de trabalho usando recursos de hardware adicionais, ou seja, dimensionamento automático. No entanto, o gerenciamento de recursos envolve o monitoramento da carga de trabalho para determinar quando as adaptações são necessárias, seguida de uma ação corretiva rápida e precisa para evitar problemas como indisponibilidade ou baixo desempenho da aplicação. Como consequência, essas aplicações devem ser gerenciadas continuamente para que o ajuste de seus recursos atenda à demanda atual. Dessa maneira, as aplicações buscam manter a qualidade do serviço fornecido. As soluções existentes descrevem vários mecanismos que aplicam técnicas de dimensionamento automático para adaptar Microservice-Based Applications (MBAs). Porém, a adaptação somente é efetuada após um problema ocorrer, e.g., a adição de recursos adicionais a um microsserviço operando com consumo de CPU em 95%, quando deveria usar no máximo 80%. No entanto, poucos trabalhos tratam o gerenciamento de recursos que ajusta o sistema antes que o problema ocorra e as consequências de sua adoção. Nesse contexto, este trabalho propõe um novo ambiente proativo que usa modelos de aprendizagem de máquina para prever cargas de trabalho no futuro próximo, e os usa para ajudar nas decisões de provisionamento de recursos. Esses modelos foram integrados a um feedback loop MAPE-K, responsável pela adaptação da MBA. Essa pesquisa serve ainda como um passo-a-passo de como usar modelos de aprendizado de máquina para o desenvolvimento de soluções adaptativas proativas no mundo de microsserviços. Para avaliar o ambiente proposto, experimentos foram realizados para compará-la com os mecanismos reativos existentes no Kubernetes. No final, o ambiente proposto mostrou um melhor desempenho para adaptar MBAs.
id UFPE_3e6a68180995d4950a9331a726c2a409
oai_identifier_str oai:repositorio.ufpe.br:123456789/37651
network_acronym_str UFPE
network_name_str Repositório Institucional da UFPE
repository_id_str 2221
spelling SANTOS, Wellison Raul Marizhttp://lattes.cnpq.br/1210288228838960http://lattes.cnpq.br/4220236737158909http://lattes.cnpq.br/8577312109146354ROSA, Nelson SoutoCAVALCANTI, George Darmiton da Cunha2020-08-14T18:14:21Z2020-08-14T18:14:21Z2020-02-27SANTOS, Wellison Raul Mariz. Adaptação de aplicações baseadas em microsserviços usando aprendizagem de máquina. 2020. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal de Pernambuco, Recife, 2020.https://repositorio.ufpe.br/handle/123456789/37651Os microsserviços têm sido amplamente utilizados para criar aplicações complexas baseadas na nuvem. Nos sistemas baseados em nuvem, um dos requisitos essenciais é a escalabilidade. Sistemas escaláveis se adaptam às mudanças na carga de trabalho usando recursos de hardware adicionais, ou seja, dimensionamento automático. No entanto, o gerenciamento de recursos envolve o monitoramento da carga de trabalho para determinar quando as adaptações são necessárias, seguida de uma ação corretiva rápida e precisa para evitar problemas como indisponibilidade ou baixo desempenho da aplicação. Como consequência, essas aplicações devem ser gerenciadas continuamente para que o ajuste de seus recursos atenda à demanda atual. Dessa maneira, as aplicações buscam manter a qualidade do serviço fornecido. As soluções existentes descrevem vários mecanismos que aplicam técnicas de dimensionamento automático para adaptar Microservice-Based Applications (MBAs). Porém, a adaptação somente é efetuada após um problema ocorrer, e.g., a adição de recursos adicionais a um microsserviço operando com consumo de CPU em 95%, quando deveria usar no máximo 80%. No entanto, poucos trabalhos tratam o gerenciamento de recursos que ajusta o sistema antes que o problema ocorra e as consequências de sua adoção. Nesse contexto, este trabalho propõe um novo ambiente proativo que usa modelos de aprendizagem de máquina para prever cargas de trabalho no futuro próximo, e os usa para ajudar nas decisões de provisionamento de recursos. Esses modelos foram integrados a um feedback loop MAPE-K, responsável pela adaptação da MBA. Essa pesquisa serve ainda como um passo-a-passo de como usar modelos de aprendizado de máquina para o desenvolvimento de soluções adaptativas proativas no mundo de microsserviços. Para avaliar o ambiente proposto, experimentos foram realizados para compará-la com os mecanismos reativos existentes no Kubernetes. No final, o ambiente proposto mostrou um melhor desempenho para adaptar MBAs.FACEPEMicroservices have been used extensively to create complex cloud-based applications. In cloud-based systems, one of the essential requirements is scalability. Scalable systems adapt to changes in workload using additional hardware resources, i.e., autoscaling. However, resource management involves monitoring the workload to determine when adaptations are needed, followed by quick and accurate corrective action to avoid problems such as unavailability or poor application performance. As a consequence, these applications must be managed continuously so that the adjustment of their resources meets the current demand. In this way, applications seek to maintain the quality of the service provided. Existing solutions describe various mechanisms that apply autoscaling techniques to adapt the Microservice-Based Applications (MBAs). However, the adaptation only is made after a problem occurs, e.g., the addition of additional resources to a microservice operating with 95% CPU consumption, when it should use a maximum of 80%. However, few of them address the use of resource management to adjust the system before the problem occurs and the consequences of their adoption. In this context, this work proposes a new proactive environment that uses machine learning models to predict near-future workloads and uses them to help in resource provisioning decisions. These models were integrated into a MAPE-K feedback loop, responsible for adapting the MBA. This research also serves as a step-by-step guide on how to use machine learning models for the development of proactive adaptive solutions in the world of microservices. The proposed environment was evaluated through experiments that compared it to the existing reactive mechanisms in Kubernetes. In the end, the proposed environment showed the better performance to adapt MBAs.porUniversidade Federal de PernambucoPrograma de Pos Graduacao em Ciencia da ComputacaoUFPEBrasilAttribution-NonCommercial-NoDerivs 3.0 Brazilhttp://creativecommons.org/licenses/by-nc-nd/3.0/br/info:eu-repo/semantics/openAccessRedes de computadoresAprendizagem de máquinaAdaptação de aplicações baseadas em microsserviços usando aprendizagem de máquinainfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesismestradoreponame:Repositório Institucional da UFPEinstname:Universidade Federal de Pernambuco (UFPE)instacron:UFPETEXTDISSERTAÇÃO Wellison Raul Mariz Santos.pdf.txtDISSERTAÇÃO Wellison Raul Mariz Santos.pdf.txtExtracted texttext/plain170420https://repositorio.ufpe.br/bitstream/123456789/37651/4/DISSERTA%c3%87%c3%83O%20Wellison%20Raul%20Mariz%20Santos.pdf.txt8bd931b6cc3ba4609856061d009f228fMD54THUMBNAILDISSERTAÇÃO Wellison Raul Mariz Santos.pdf.jpgDISSERTAÇÃO Wellison Raul Mariz Santos.pdf.jpgGenerated Thumbnailimage/jpeg1281https://repositorio.ufpe.br/bitstream/123456789/37651/5/DISSERTA%c3%87%c3%83O%20Wellison%20Raul%20Mariz%20Santos.pdf.jpg5eb876ce21b1f661531f0cf9f93b55fcMD55ORIGINALDISSERTAÇÃO Wellison Raul Mariz Santos.pdfDISSERTAÇÃO Wellison Raul Mariz Santos.pdfapplication/pdf1799995https://repositorio.ufpe.br/bitstream/123456789/37651/1/DISSERTA%c3%87%c3%83O%20Wellison%20Raul%20Mariz%20Santos.pdf97d6ff601aea64fa89b2a985b41c47e5MD51CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8811https://repositorio.ufpe.br/bitstream/123456789/37651/2/license_rdfe39d27027a6cc9cb039ad269a5db8e34MD52LICENSElicense.txtlicense.txttext/plain; charset=utf-82310https://repositorio.ufpe.br/bitstream/123456789/37651/3/license.txtbd573a5ca8288eb7272482765f819534MD53123456789/376512020-08-15 02:10:33.569oai:repositorio.ufpe.br:123456789/37651TGljZW7Dp2EgZGUgRGlzdHJpYnVpw6fDo28gTsOjbyBFeGNsdXNpdmEKClRvZG8gZGVwb3NpdGFudGUgZGUgbWF0ZXJpYWwgbm8gUmVwb3NpdMOzcmlvIEluc3RpdHVjaW9uYWwgKFJJKSBkZXZlIGNvbmNlZGVyLCDDoCBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkZSBQZXJuYW1idWNvIChVRlBFKSwgdW1hIExpY2Vuw6dhIGRlIERpc3RyaWJ1acOnw6NvIE7Do28gRXhjbHVzaXZhIHBhcmEgbWFudGVyIGUgdG9ybmFyIGFjZXNzw612ZWlzIG9zIHNldXMgZG9jdW1lbnRvcywgZW0gZm9ybWF0byBkaWdpdGFsLCBuZXN0ZSByZXBvc2l0w7NyaW8uCgpDb20gYSBjb25jZXNzw6NvIGRlc3RhIGxpY2Vuw6dhIG7Do28gZXhjbHVzaXZhLCBvIGRlcG9zaXRhbnRlIG1hbnTDqW0gdG9kb3Mgb3MgZGlyZWl0b3MgZGUgYXV0b3IuCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwoKTGljZW7Dp2EgZGUgRGlzdHJpYnVpw6fDo28gTsOjbyBFeGNsdXNpdmEKCkFvIGNvbmNvcmRhciBjb20gZXN0YSBsaWNlbsOnYSBlIGFjZWl0w6EtbGEsIHZvY8OqIChhdXRvciBvdSBkZXRlbnRvciBkb3MgZGlyZWl0b3MgYXV0b3JhaXMpOgoKYSkgRGVjbGFyYSBxdWUgY29uaGVjZSBhIHBvbMOtdGljYSBkZSBjb3B5cmlnaHQgZGEgZWRpdG9yYSBkbyBzZXUgZG9jdW1lbnRvOwpiKSBEZWNsYXJhIHF1ZSBjb25oZWNlIGUgYWNlaXRhIGFzIERpcmV0cml6ZXMgcGFyYSBvIFJlcG9zaXTDs3JpbyBJbnN0aXR1Y2lvbmFsIGRhIFVGUEU7CmMpIENvbmNlZGUgw6AgVUZQRSBvIGRpcmVpdG8gbsOjbyBleGNsdXNpdm8gZGUgYXJxdWl2YXIsIHJlcHJvZHV6aXIsIGNvbnZlcnRlciAoY29tbyBkZWZpbmlkbyBhIHNlZ3VpciksIGNvbXVuaWNhciBlL291IGRpc3RyaWJ1aXIsIG5vIFJJLCBvIGRvY3VtZW50byBlbnRyZWd1ZSAoaW5jbHVpbmRvIG8gcmVzdW1vL2Fic3RyYWN0KSBlbSBmb3JtYXRvIGRpZ2l0YWwgb3UgcG9yIG91dHJvIG1laW87CmQpIERlY2xhcmEgcXVlIGF1dG9yaXphIGEgVUZQRSBhIGFycXVpdmFyIG1haXMgZGUgdW1hIGPDs3BpYSBkZXN0ZSBkb2N1bWVudG8gZSBjb252ZXJ0w6otbG8sIHNlbSBhbHRlcmFyIG8gc2V1IGNvbnRlw7pkbywgcGFyYSBxdWFscXVlciBmb3JtYXRvIGRlIGZpY2hlaXJvLCBtZWlvIG91IHN1cG9ydGUsIHBhcmEgZWZlaXRvcyBkZSBzZWd1cmFuw6dhLCBwcmVzZXJ2YcOnw6NvIChiYWNrdXApIGUgYWNlc3NvOwplKSBEZWNsYXJhIHF1ZSBvIGRvY3VtZW50byBzdWJtZXRpZG8gw6kgbyBzZXUgdHJhYmFsaG8gb3JpZ2luYWwgZSBxdWUgZGV0w6ltIG8gZGlyZWl0byBkZSBjb25jZWRlciBhIHRlcmNlaXJvcyBvcyBkaXJlaXRvcyBjb250aWRvcyBuZXN0YSBsaWNlbsOnYS4gRGVjbGFyYSB0YW1iw6ltIHF1ZSBhIGVudHJlZ2EgZG8gZG9jdW1lbnRvIG7Do28gaW5mcmluZ2Ugb3MgZGlyZWl0b3MgZGUgb3V0cmEgcGVzc29hIG91IGVudGlkYWRlOwpmKSBEZWNsYXJhIHF1ZSwgbm8gY2FzbyBkbyBkb2N1bWVudG8gc3VibWV0aWRvIGNvbnRlciBtYXRlcmlhbCBkbyBxdWFsIG7Do28gZGV0w6ltIG9zIGRpcmVpdG9zIGRlCmF1dG9yLCBvYnRldmUgYSBhdXRvcml6YcOnw6NvIGlycmVzdHJpdGEgZG8gcmVzcGVjdGl2byBkZXRlbnRvciBkZXNzZXMgZGlyZWl0b3MgcGFyYSBjZWRlciDDoApVRlBFIG9zIGRpcmVpdG9zIHJlcXVlcmlkb3MgcG9yIGVzdGEgTGljZW7Dp2EgZSBhdXRvcml6YXIgYSB1bml2ZXJzaWRhZGUgYSB1dGlsaXrDoS1sb3MgbGVnYWxtZW50ZS4gRGVjbGFyYSB0YW1iw6ltIHF1ZSBlc3NlIG1hdGVyaWFsIGN1am9zIGRpcmVpdG9zIHPDo28gZGUgdGVyY2Vpcm9zIGVzdMOhIGNsYXJhbWVudGUgaWRlbnRpZmljYWRvIGUgcmVjb25oZWNpZG8gbm8gdGV4dG8gb3UgY29udGXDumRvIGRvIGRvY3VtZW50byBlbnRyZWd1ZTsKZykgU2UgbyBkb2N1bWVudG8gZW50cmVndWUgw6kgYmFzZWFkbyBlbSB0cmFiYWxobyBmaW5hbmNpYWRvIG91IGFwb2lhZG8gcG9yIG91dHJhIGluc3RpdHVpw6fDo28gcXVlIG7Do28gYSBVRlBFLCBkZWNsYXJhIHF1ZSBjdW1wcml1IHF1YWlzcXVlciBvYnJpZ2HDp8O1ZXMgZXhpZ2lkYXMgcGVsbyByZXNwZWN0aXZvIGNvbnRyYXRvIG91IGFjb3Jkby4KCkEgVUZQRSBpZGVudGlmaWNhcsOhIGNsYXJhbWVudGUgbyhzKSBub21lKHMpIGRvKHMpIGF1dG9yIChlcykgZG9zIGRpcmVpdG9zIGRvIGRvY3VtZW50byBlbnRyZWd1ZSBlIG7Do28gZmFyw6EgcXVhbHF1ZXIgYWx0ZXJhw6fDo28sIHBhcmEgYWzDqW0gZG8gcHJldmlzdG8gbmEgYWzDrW5lYSBjKS4KRepositório InstitucionalPUBhttps://repositorio.ufpe.br/oai/requestattena@ufpe.bropendoar:22212020-08-15T05:10:33Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)false
dc.title.pt_BR.fl_str_mv Adaptação de aplicações baseadas em microsserviços usando aprendizagem de máquina
title Adaptação de aplicações baseadas em microsserviços usando aprendizagem de máquina
spellingShingle Adaptação de aplicações baseadas em microsserviços usando aprendizagem de máquina
SANTOS, Wellison Raul Mariz
Redes de computadores
Aprendizagem de máquina
title_short Adaptação de aplicações baseadas em microsserviços usando aprendizagem de máquina
title_full Adaptação de aplicações baseadas em microsserviços usando aprendizagem de máquina
title_fullStr Adaptação de aplicações baseadas em microsserviços usando aprendizagem de máquina
title_full_unstemmed Adaptação de aplicações baseadas em microsserviços usando aprendizagem de máquina
title_sort Adaptação de aplicações baseadas em microsserviços usando aprendizagem de máquina
author SANTOS, Wellison Raul Mariz
author_facet SANTOS, Wellison Raul Mariz
author_role author
dc.contributor.authorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/1210288228838960
dc.contributor.advisorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/4220236737158909
dc.contributor.advisor-coLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/8577312109146354
dc.contributor.author.fl_str_mv SANTOS, Wellison Raul Mariz
dc.contributor.advisor1.fl_str_mv ROSA, Nelson Souto
dc.contributor.advisor-co1.fl_str_mv CAVALCANTI, George Darmiton da Cunha
contributor_str_mv ROSA, Nelson Souto
CAVALCANTI, George Darmiton da Cunha
dc.subject.por.fl_str_mv Redes de computadores
Aprendizagem de máquina
topic Redes de computadores
Aprendizagem de máquina
description Os microsserviços têm sido amplamente utilizados para criar aplicações complexas baseadas na nuvem. Nos sistemas baseados em nuvem, um dos requisitos essenciais é a escalabilidade. Sistemas escaláveis se adaptam às mudanças na carga de trabalho usando recursos de hardware adicionais, ou seja, dimensionamento automático. No entanto, o gerenciamento de recursos envolve o monitoramento da carga de trabalho para determinar quando as adaptações são necessárias, seguida de uma ação corretiva rápida e precisa para evitar problemas como indisponibilidade ou baixo desempenho da aplicação. Como consequência, essas aplicações devem ser gerenciadas continuamente para que o ajuste de seus recursos atenda à demanda atual. Dessa maneira, as aplicações buscam manter a qualidade do serviço fornecido. As soluções existentes descrevem vários mecanismos que aplicam técnicas de dimensionamento automático para adaptar Microservice-Based Applications (MBAs). Porém, a adaptação somente é efetuada após um problema ocorrer, e.g., a adição de recursos adicionais a um microsserviço operando com consumo de CPU em 95%, quando deveria usar no máximo 80%. No entanto, poucos trabalhos tratam o gerenciamento de recursos que ajusta o sistema antes que o problema ocorra e as consequências de sua adoção. Nesse contexto, este trabalho propõe um novo ambiente proativo que usa modelos de aprendizagem de máquina para prever cargas de trabalho no futuro próximo, e os usa para ajudar nas decisões de provisionamento de recursos. Esses modelos foram integrados a um feedback loop MAPE-K, responsável pela adaptação da MBA. Essa pesquisa serve ainda como um passo-a-passo de como usar modelos de aprendizado de máquina para o desenvolvimento de soluções adaptativas proativas no mundo de microsserviços. Para avaliar o ambiente proposto, experimentos foram realizados para compará-la com os mecanismos reativos existentes no Kubernetes. No final, o ambiente proposto mostrou um melhor desempenho para adaptar MBAs.
publishDate 2020
dc.date.accessioned.fl_str_mv 2020-08-14T18:14:21Z
dc.date.available.fl_str_mv 2020-08-14T18:14:21Z
dc.date.issued.fl_str_mv 2020-02-27
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 SANTOS, Wellison Raul Mariz. Adaptação de aplicações baseadas em microsserviços usando aprendizagem de máquina. 2020. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal de Pernambuco, Recife, 2020.
dc.identifier.uri.fl_str_mv https://repositorio.ufpe.br/handle/123456789/37651
identifier_str_mv SANTOS, Wellison Raul Mariz. Adaptação de aplicações baseadas em microsserviços usando aprendizagem de máquina. 2020. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal de Pernambuco, Recife, 2020.
url https://repositorio.ufpe.br/handle/123456789/37651
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal de Pernambuco
dc.publisher.program.fl_str_mv Programa de Pos Graduacao em Ciencia da Computacao
dc.publisher.initials.fl_str_mv UFPE
dc.publisher.country.fl_str_mv Brasil
publisher.none.fl_str_mv Universidade Federal de Pernambuco
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFPE
instname:Universidade Federal de Pernambuco (UFPE)
instacron:UFPE
instname_str Universidade Federal de Pernambuco (UFPE)
instacron_str UFPE
institution UFPE
reponame_str Repositório Institucional da UFPE
collection Repositório Institucional da UFPE
bitstream.url.fl_str_mv https://repositorio.ufpe.br/bitstream/123456789/37651/4/DISSERTA%c3%87%c3%83O%20Wellison%20Raul%20Mariz%20Santos.pdf.txt
https://repositorio.ufpe.br/bitstream/123456789/37651/5/DISSERTA%c3%87%c3%83O%20Wellison%20Raul%20Mariz%20Santos.pdf.jpg
https://repositorio.ufpe.br/bitstream/123456789/37651/1/DISSERTA%c3%87%c3%83O%20Wellison%20Raul%20Mariz%20Santos.pdf
https://repositorio.ufpe.br/bitstream/123456789/37651/2/license_rdf
https://repositorio.ufpe.br/bitstream/123456789/37651/3/license.txt
bitstream.checksum.fl_str_mv 8bd931b6cc3ba4609856061d009f228f
5eb876ce21b1f661531f0cf9f93b55fc
97d6ff601aea64fa89b2a985b41c47e5
e39d27027a6cc9cb039ad269a5db8e34
bd573a5ca8288eb7272482765f819534
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)
repository.mail.fl_str_mv attena@ufpe.br
_version_ 1802310770702155776