Provisionamento vertical de recursos em ambientes de nuvens. - GOES, Armstrong Mardilson da Silva. (2018)
Na última década observou-se o rápido crescimento na utilização de infraestruturas virtualizadas para implantação de aplicações. Buscando flexibilidade de alocação de recursos e redução de custos de gerência, diversas organizações optaram por adotar nuvens computacionais como ambientes onde partes vitais de suas atividades são executadas. No contexto de aplicações executando em nuvens, observa-se o problema da garantia de qualidade de serviço. Aplicações normalmente apresentam uma demanda por recursos variável no tempo. No caso de aplicações interativas, como sites de e-commerce, por exemplo, picos de número de requisições são comuns e é necessário adicionar recursos com o intuito de garantir qualidade de serviço na forma de um tempo de resposta tolerável. No contexto de aplicações batch, em geral o interesse é garantir um prazo de execução, relacionado com a prioridade da aplicação. Estimar a quantidade de recursos necessários para garantir término dentro do prazo é complexo e sujeito a erros na forma de sub ou superalocações. Uma solução complementar é alterar a quantidade de recursos alocados caso o progresso da aplicação não seja satisfatório. Considerando este último raciocínio, este trabalho propõe uma solução de provisionamento baseada em controladores PID e provisionamento vertical de recursos. Com o intuito de avaliar a solução de provisionamento proposta no contexto de aplicações batch, foram executados dois microbenchmarks e uma aplicação utilizada no contexto de qualidade de dados em Big Data, em um ambiente de nuvem realista, com recursos provisionados por uma implementação da solução proposta. Foram coletados o tempo de execução e o uso de recursos dos microbenchmarks e da aplicação. Resultados mostraram que a solução de provisionamento é viável e eficaz quanto a garantir qualidade de serviço, apesar de configuração dependente da aplicação ser necessária.