Orquestração e Escalabilidade: Uma Análise das Funcionalidades do Kubernetes
Autor(a) principal: | |
---|---|
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 |