Adaptação de aplicações baseadas em microsserviços usando aprendizagem de máquina
Autor(a) principal: | |
---|---|
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 |