Please use this identifier to cite or link to this item: https://ri.ufs.br/jspui/handle/riufs/15084
Document Type: Dissertação
Title: Avaliação de desempenho para elasticidade de ambientes conteinerizados: estudo experimental e de modelagem do Kubernetes
Authors: Paulo, Katharine Padilha de
Issue Date: 21-Dec-2021
Advisor: Matos Júnior, Rubens de Souza
Co-advisor: Salgueiro, Ricardo Jose Paiva de Britto
Resumo : A arquitetura de microsserviço se tornou uma tendência para o desenvolvimento e implantação de aplicações em nuvem devido à sua capacidade de reduzir a complexidade do serviço e aumentar a elasticidade. Os contêineres surgiram como uma alternativa às máquinas virtuais e, juntamente com ferramentas como o Kubernetes, têm potencializado o uso de microsserviços. O provisionamento e o desprovisionamento de recursos é um fator chave para obter elasticidade e, consequentemente, disponibilidade e capacidade de resposta em aplicações em nuvem. Portanto, a instanciação eficiente de contêineres é um requisito para se obter elasticidade de aplicações na web. Este estudo avalia o desempenho da instanciação de contêineres e do mecanismo de escalonamento automático do Kubernetes. No processo de instanciação de contêineres, foram considerados fatores como tamanho da imagem e armazenamento em cache. Os resultados do experimento indicaram que os tamanhos das imagens tiveram um grande impacto no tempo de instanciação com baixos níveis de cache. Este estudo apresenta um modelo de Cadeia de Markov, um modelo de Rede de Petri Estocástica Não-Markoviana e um modelo de Rede de Petri Estocástica Markoviana usando aproximação por fases através da técnica moment matching. Uma análise de sensibilidade realizada com os modelos de desempenho da instanciação de contêineres mostra uma relação linear entre o tempo de instanciação, o tamanho da imagem e o cache. A análise verificou o impacto de cada fator, tamanho da imagem e o cache, no tempo total de resposta, indicando estratégias para melhorias de desempenho. O modelo SPN proposto com aproximação por fases consegue uma melhor representação do comportamento real do sistema, ajustando os dados obtidos nos experimentos não apenas nos valores médios, mas na distribuição geral do tempo de resposta. Além disso, este estudo também apresenta um modelo de Rede de Petri Estocásticas para representar o mecanismo de escalonamento automático do Kubernetes. O modelo inclui monitoramento, dimensionamento, admissão e processamento. O modelo foi analisado por meio de simulação transiente e estacionária para as seguintes métricas: número médio de Pods no período e utilização média do período. Uma análise de sensibilidade foi realizada para analisar a relação entre quantidade média de Pods, quantidade de usuários, tempo de serviço, e intervalo entre requisições. A análise mostrou que o aumento da carga, seja devido ao aumento da quantidade de usuários ou da taxa de entrada, implica em um escalonamento mais rápido, bem como o aumento de tempo de serviço. Com isso, pode-se observar que o modelo representa com sucesso o comportamento de dimensionamento automático do Kubernetes. Portanto, como a execução de análises what-if em ambientes de produção não é uma tarefa fácil, ter um modelo preciso para avaliar o desempenho do sistema em diferentes cenários pode ser uma vantagem muito importante para administradores de sistemas em nuvem.
Abstract: The microservice architecture became a trend for application development and deployment in cloud applications due to its capability of reducing service complexity and increase elasticity. Containers emerged as an alternative to virtual machines, and together with tools such as Kubernetes, have been empowering the usage of microservices. Provisioning and deprovisioning resources is a key factor to achieve elasticity, and consequently availability and responsiveness in cloud applications. Therefore, the efficient instantiation of containers is one requirement for the elastic behavior of web applications. This study analyzes the performance of containers instantiation, and the Kubernetes autoscaling mechanism. On the container instantiation process it was considered factors such as image size, and caching. Experiment results indicated that image sizes had a large impact in the instantiation time with low cache levels. This study presents a Markov Chain model, a Non-Markovian Petri Net model and a Stochastic Petri Net model using phase-type approximation through moment matching technique. A sensitivity analysis performed with the proposed models shows a linear relationship between instantiation time, image size and cache. The analysis checked the impact of each factor on the total response time, indicating strategies for performance improvements. The proposed SPN model with phase-type approximation achieves a better representation of the actual behavior of the system, by fitting the data obtained from the experiments not only on average values, but on the overall response time distribution. Besides, this study also presents a Stochastic Petri Net model to represent the Kubernetes autoscaling mechanism. The model includes monitoring, dimensioning, admission and processing. The model was analyzed using transient and stationary simulation for the following metrics: for the average number of Pods in the period and average utilization of the period. A sensitivity analysis was performed to analyze the relationship between the average number of pods, the number of users, the service time and the interval between requests. The analysis showed that the increase in load, due to the increase in the number of users or the arrival rate, implies a faster scaling. As well as increased of the service time. It can be seen that the model successfully represents the automatic scaling behavior of Kubernetes. Therefore, since the execution of what-if analyses in production environments is not an easy task, having an accurate model to assess the system performance in different scenarios can be a very important advantage to cloud systems administrators.
Keywords: Computação em nuvem
Microsserviços
Docker
Avaliação de desempenho
Modelagem analítica
Virtualização baseada em contêiner
Cloud computing
Microservices
Performance evaluation
Analytical modeling
Container-based virtualization
Subject CNPQ: CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Language: por
Institution: Universidade Federal de Sergipe
Program Affiliation: Pós-Graduação em Ciência da Computação
Citation: PAULO, Katharine Padilha de. Avaliação de desempenho para elasticidade de ambientes conteinerizados: estudo experimental e de modelagem do Kubernetes. 2021. 78 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal de Sergipe, São Cristóvão, 2021.
URI: https://ri.ufs.br/jspui/handle/riufs/15084
Appears in Collections:Mestrado em Ciência da Computação

Files in This Item:
File Description SizeFormat 
KATHARINE_PADILHA_PAULO.pdf4,21 MBAdobe PDFThumbnail
View/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.