Orquestração e Escalabilidade: Uma Análise das Funcionalidades do Kubernetes

Detalhes bibliográficos
Autor(a) principal: Vieira, João Miguel Gomes
Data de Publicação: 2023
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: http://hdl.handle.net/10400.6/14033
Resumo: A gestão de implantações de projetos, em inglês deployments, é uma parte essencial em qual- quer tipo de projeto, desde a gestão de recursos alocados ao projeto até à monitorização das máquinas virtuais responsáveis por alojar estes mesmos projetos. Depois das empresas passarem por uma era onde o deployment era feito diretamente em máqui- nas físicas e onde era impossível de definir o limite de recursos alocados a projetos, causando problemas de performance, começamos a ver as primeiras implantações em máquinas virtuais. Com as máquinas virtuais, a divisão de recursos, dentro de uma mesma máquina, era mais fácil de se fazer e o problema que a abordagem anterior apresentava, tinha sido resolvida. Com a virtualização, acabou por surgir o conceito de contentores, em inglês containers, que são muito similares a máquinas virtuais no entanto são muito mais leves, necessitam de muito me- nos recursos visto que não necessitam dos recursos que uma emulação de um sistema operativo necessita para funcionar. Num contentor também fica guardado tudo o que seja necessário para executar qualquer tipo de software incluindo código, bibliotecas, configurações etc... Com este conceito de containers, surgiram tecnologias como o docker que tornaram estes containers o standard em empresas de informática com os mais variados projetos, pela sua facilidade em manter a consistência das aplicações e de reproduzir os mais variados ambientes dos sistemas. Com o docker é mais fácil de desenvolver, testar e fazer o deploy de aplicações assim como a sua gestão e escalamento em ambientes produtivos. Com o aparecimento e o ganho de popularidade dos containers, o orquestrador de containers Kubernetes (K8s) aparece como uma solução para gerir ambientes complexos com vários con- tainers. Com o K8s é possível automatizar, escalar e gerir aplicações dentro de containers [Goo23d]. Neste trabalho, é feito um estudo das principais características dos sistemas de or- questração de containers, com particular detalhe para o K8s. Fez-se uma instalação local de K8s para criar um ambiente de testes e analisar o impacto do autoscaling no desempenho de um conjunto de aplicações exemplo e também nos recursos do sistema. Os resultados obtidos mostram que o autoscaling é uma ferramenta que deve ser parametrizada tendo em conta o tipo de aplicação e que deve ser ajustada ao longo do tempo.
id RCAP_bf241253e9457e861c260aacfc5998c3
oai_identifier_str oai:ubibliorum.ubi.pt:10400.6/14033
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str 7160
spelling Orquestração e Escalabilidade: Uma Análise das Funcionalidades do KubernetesDeployment de ProjetosDockerEscalonamento AutomáticoKubernetesOrquestração de Con-TainersVirtualizaçãoDomínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaA gestão de implantações de projetos, em inglês deployments, é uma parte essencial em qual- quer tipo de projeto, desde a gestão de recursos alocados ao projeto até à monitorização das máquinas virtuais responsáveis por alojar estes mesmos projetos. Depois das empresas passarem por uma era onde o deployment era feito diretamente em máqui- nas físicas e onde era impossível de definir o limite de recursos alocados a projetos, causando problemas de performance, começamos a ver as primeiras implantações em máquinas virtuais. Com as máquinas virtuais, a divisão de recursos, dentro de uma mesma máquina, era mais fácil de se fazer e o problema que a abordagem anterior apresentava, tinha sido resolvida. Com a virtualização, acabou por surgir o conceito de contentores, em inglês containers, que são muito similares a máquinas virtuais no entanto são muito mais leves, necessitam de muito me- nos recursos visto que não necessitam dos recursos que uma emulação de um sistema operativo necessita para funcionar. Num contentor também fica guardado tudo o que seja necessário para executar qualquer tipo de software incluindo código, bibliotecas, configurações etc... Com este conceito de containers, surgiram tecnologias como o docker que tornaram estes containers o standard em empresas de informática com os mais variados projetos, pela sua facilidade em manter a consistência das aplicações e de reproduzir os mais variados ambientes dos sistemas. Com o docker é mais fácil de desenvolver, testar e fazer o deploy de aplicações assim como a sua gestão e escalamento em ambientes produtivos. Com o aparecimento e o ganho de popularidade dos containers, o orquestrador de containers Kubernetes (K8s) aparece como uma solução para gerir ambientes complexos com vários con- tainers. Com o K8s é possível automatizar, escalar e gerir aplicações dentro de containers [Goo23d]. Neste trabalho, é feito um estudo das principais características dos sistemas de or- questração de containers, com particular detalhe para o K8s. Fez-se uma instalação local de K8s para criar um ambiente de testes e analisar o impacto do autoscaling no desempenho de um conjunto de aplicações exemplo e também nos recursos do sistema. Os resultados obtidos mostram que o autoscaling é uma ferramenta que deve ser parametrizada tendo em conta o tipo de aplicação e que deve ser ajustada ao longo do tempo.Project deployment management is an essential part of any type of project, from the manage- ment of resources allocated to the project to the monitoring of virtual machines responsible for hosting these same projects. After companies went through an era where deployment was done directly on machines and where it was impossible to define the limit of resources allocated to projects, causing perfor- mance issues, we began to see the first deployments in virtual machines. With virtual machines, the division of resources within the same machine was easier and the problem that the previous approach presented, had been solved. With virtualization, the concept of containers emerged, which are very similar to virtual ma- chines however they are much lighter, require much less resources since it do not need the resources that an emulation of an operating system needs to function. Containers also store everything that is necessary to run any kind of software including code, libraries, configurati- ons etc... With this concept of containers, technologies like Docker made these containers the standard in IT companies with the most varied projects, due to its ease in maintain application consistency and reproduce the most varied system environments. With docker it is easier to develop, test and deploy applications as well as its management and escalation in productive environments. With the appearance and popularity of containers, container orchestrators K8s appears as a solution to manage complex environments with multiple containers. With K8s it is possible to automate, scale and administer applications inside containers [Goo23d]. In this work, a study is conducted on the main characteristics of container orchestration systems, with particular detail on K8s. A local installation of K8s was performed to create a testing environment and analyze the impact of autoscaling on the performance of a set of example applications as well as on system resources. The results obtained demonstrate that autoscaling is a tool that should be parameterized considering the type of application and should be adjusted over time.Sousa, Maria Paula Prata deuBibliorumVieira, João Miguel Gomes2024-01-15T14:23:54Z2023-11-102023-10-092023-11-10T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10400.6/14033TID:203460480porinfo:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2024-01-17T03:48:43Zoai:ubibliorum.ubi.pt:10400.6/14033Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-20T01:45:07.430196Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse
dc.title.none.fl_str_mv Orquestração e Escalabilidade: Uma Análise das Funcionalidades do Kubernetes
title Orquestração e Escalabilidade: Uma Análise das Funcionalidades do Kubernetes
spellingShingle Orquestração e Escalabilidade: Uma Análise das Funcionalidades do Kubernetes
Vieira, João Miguel Gomes
Deployment de Projetos
Docker
Escalonamento Automático
Kubernetes
Orquestração de Con-Tainers
Virtualização
Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
title_short Orquestração e Escalabilidade: Uma Análise das Funcionalidades do Kubernetes
title_full Orquestração e Escalabilidade: Uma Análise das Funcionalidades do Kubernetes
title_fullStr Orquestração e Escalabilidade: Uma Análise das Funcionalidades do Kubernetes
title_full_unstemmed Orquestração e Escalabilidade: Uma Análise das Funcionalidades do Kubernetes
title_sort Orquestração e Escalabilidade: Uma Análise das Funcionalidades do Kubernetes
author Vieira, João Miguel Gomes
author_facet Vieira, João Miguel Gomes
author_role author
dc.contributor.none.fl_str_mv Sousa, Maria Paula Prata de
uBibliorum
dc.contributor.author.fl_str_mv Vieira, João Miguel Gomes
dc.subject.por.fl_str_mv Deployment de Projetos
Docker
Escalonamento Automático
Kubernetes
Orquestração de Con-Tainers
Virtualização
Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
topic Deployment de Projetos
Docker
Escalonamento Automático
Kubernetes
Orquestração de Con-Tainers
Virtualização
Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
description A gestão de implantações de projetos, em inglês deployments, é uma parte essencial em qual- quer tipo de projeto, desde a gestão de recursos alocados ao projeto até à monitorização das máquinas virtuais responsáveis por alojar estes mesmos projetos. Depois das empresas passarem por uma era onde o deployment era feito diretamente em máqui- nas físicas e onde era impossível de definir o limite de recursos alocados a projetos, causando problemas de performance, começamos a ver as primeiras implantações em máquinas virtuais. Com as máquinas virtuais, a divisão de recursos, dentro de uma mesma máquina, era mais fácil de se fazer e o problema que a abordagem anterior apresentava, tinha sido resolvida. Com a virtualização, acabou por surgir o conceito de contentores, em inglês containers, que são muito similares a máquinas virtuais no entanto são muito mais leves, necessitam de muito me- nos recursos visto que não necessitam dos recursos que uma emulação de um sistema operativo necessita para funcionar. Num contentor também fica guardado tudo o que seja necessário para executar qualquer tipo de software incluindo código, bibliotecas, configurações etc... Com este conceito de containers, surgiram tecnologias como o docker que tornaram estes containers o standard em empresas de informática com os mais variados projetos, pela sua facilidade em manter a consistência das aplicações e de reproduzir os mais variados ambientes dos sistemas. Com o docker é mais fácil de desenvolver, testar e fazer o deploy de aplicações assim como a sua gestão e escalamento em ambientes produtivos. Com o aparecimento e o ganho de popularidade dos containers, o orquestrador de containers Kubernetes (K8s) aparece como uma solução para gerir ambientes complexos com vários con- tainers. Com o K8s é possível automatizar, escalar e gerir aplicações dentro de containers [Goo23d]. Neste trabalho, é feito um estudo das principais características dos sistemas de or- questração de containers, com particular detalhe para o K8s. Fez-se uma instalação local de K8s para criar um ambiente de testes e analisar o impacto do autoscaling no desempenho de um conjunto de aplicações exemplo e também nos recursos do sistema. Os resultados obtidos mostram que o autoscaling é uma ferramenta que deve ser parametrizada tendo em conta o tipo de aplicação e que deve ser ajustada ao longo do tempo.
publishDate 2023
dc.date.none.fl_str_mv 2023-11-10
2023-10-09
2023-11-10T00:00:00Z
2024-01-15T14:23:54Z
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.uri.fl_str_mv http://hdl.handle.net/10400.6/14033
TID:203460480
url http://hdl.handle.net/10400.6/14033
identifier_str_mv TID:203460480
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 application/pdf
dc.source.none.fl_str_mv reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron:RCAAP
instname_str Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron_str RCAAP
institution RCAAP
reponame_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
collection Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository.name.fl_str_mv Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
repository.mail.fl_str_mv
_version_ 1799136947173588992