Please use this identifier to cite or link to this item:
https://hdl.handle.net/10316/107889
Title: | Scaling of Applications in Containers | Other Titles: | Scaling Automático de Aplicações Containerizadas | Authors: | Martins, Diogo Valente | Orientador: | Araújo, Filipe João Boavida Mendonça Machado de Neves, Pedro Miguel Naia |
Keywords: | Kubernetes; Containers; Scaling; Custos; Kubernetes; Containers; Scaling; Costs | Issue Date: | 18-Jul-2023 | Serial title, monograph or event: | Scaling of Applications in Containers | Place of publication or event: | Altice Labs | Abstract: | Com os avanços na Internet e nas telecomunicações, a quantidade de dados que precisam de ser processados está a aumentar, tornando difícil estimar os requi sitos de hardware necessários para os processar ao longo do tempo. Além disso,numa instalação tradicional de software, o hardware necessário é sempre esti mado para o pior caso, o que significa que uma grande parte do tempo é subu tilizada. Uma das formas de reduzir os custos é instalar estas aplicações na cloud, atribuindo o mínimo de recursos necessários ou partilhando o hardware com outras plataformas que tenham necessidades de processamento em momen tos diferentes. Para que isto seja possível, é necessário que exista um mecan ismo de previsão dos recursos necessários num determinado momento e que o software esteja preparado para ser ativado ou desativado através de mecanismos automáticos, ou seja, que o software esteja preparado para ser redimensionado. A plataforma ACM recebe milhões de eventos por dia em tempo real de várias fontes (ex.: registos de chamadas, carregamentos pré-pagos, eventos de geolocal ização, etc.) e desencadeia acções (proposta de ofertas, ativação/desativação deofertas, etc.) de acordo com regras pré-definidas. Esta plataforma está atualmente a ser preparada para suportar estes mecanismos, de modo a poder ser instanci ada com custos de infraestrutura mais baixos. De momento a plataforma é in stanciada utilizando containers, no entanto, ainda não suporta a instanciação em Kubernetes. Este estágio curricular tem como objetivo fazer um primeiro deployment da plataforma em Kubernetes, identificar que componentes da plataforma podem ser instanciados múltiplas vezes, identificar que métricas são importantes para a decisão de aumentar/diminuir o número de instâncias de cada compo nente, implementar e testar uma prova de conceito. With advances in the Internet and telecommunications, the amount of data that needs to be processed is increasing, making it difficult to estimate the hardware requirements needed to process them over time. Additionally, in a traditional software installation, the required hardware is always estimated for the worst case, which means that a large part of the time is underused. One of the ways to reduce costs is to install these applications in the cloud allocating the minimum of required resources or to share the hardware with other platforms that have processing requirements at different times. For this to be possible, it is necessary to have a mechanism to predict the resources needed at a given time and that the software be prepared to be activated or deactivated using automatic mecha nisms, that is, that the software is prepared to be rescaled. The Active Campaign Manager (ACM) platform receives millions of events per day in real time from various sources (eg call logs, prepaid topups, geolocation events, etc) and trig gers actions (proposal of offers, activation/ deactivation of offers, etc) according to pre-defined rules. This platform is currently being prepared to support these mechanisms in order to be able to be instantiated with lower infrastructure costs. At the moment the platform is instantiated using containers, however, it does not yet support instantiation in Kubernetes. This curricular internship aims to make a first deployment of the platform in Kubernetes, identify which platform com ponents can be instantiated multiple times, identify which metrics are important for the decision to increase/decrease the number of instances of each component, implement and test a concept proof. |
Description: | Dissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e Tecnologia | URI: | https://hdl.handle.net/10316/107889 | Rights: | openAccess |
Appears in Collections: | UC - Dissertações de Mestrado |
Files in This Item:
File | Size | Format | |
---|---|---|---|
Diogo_Martins_Thesis.pdf | 2.08 MB | Adobe PDF | View/Open |
This item is licensed under a Creative Commons License