Qualidade de serviço de provedores em Nuvem
Por Eder Andrade
(eder.rodrigues@ccc.ufcg.edu.br)
como gerenciar um provedor de nuvem computacional (cloud computing) para que as aplicações que rodarão nesta infraestrutura cumpram seus requisitos de qualidade de serviço (QoS), com a melhor relação custo x benefício possível? A pesquisa que falaremos nessa matéria, propõe uma solução para esse problema.




Quanto mais se cumpre os requisitos de QoS das aplicações (ex: tempo de resposta, vazão), maior os benefícios. Quanto menor for a infraestrutura necessária para rodar as aplicações, menor o custo com a nuvem.

A computação na nuvem se tornou realidade na última década e vem sendo cada vez mais adotada por clientes que desejam executar suas aplicações, de modo que elas podem ser dinamicamente escaladas para atingir seus objetivos de qualidade de serviço, sem a necessidade de um alto investimento em hardware dedicado a aplicações específicas. Uma das funções da gerência de nuvens computacionais é realizar o chamado planejamento de capacidade, que consiste em calcular o tamanho da infraestrutura (ex: quantidade e configuração de servidores) necessária para executar as aplicações de forma satisfatória, com o menor custo possível. Geralmente, este é um tipo de planejamento feito a longo prazo. Além disso, uma outra função é realizar o controle de admissão, onde as requisições de novos recursos são analisadas, tanto de novas aplicações que querem executar quanto de aplicações já existentes que passam a exigir mais recursos com o tempo, para decidir se é viável atender às requisições ou se é melhor negá-las para não comprometer a qualidade de serviço de outras aplicações. Uma terceira função da ger?ncia é realizar o escalonamento das aplicações na infraestrutura, que consiste em escolher em quais recursos e em que momento cada aplicação irá executar ao longo do tempo.

Um ponto crucial para que os objetivos da gerência de nuvens sejam satisfeitos é entender bem as características das aplicações, como os seus padrões de demanda (ex: qual a necessidade de recursos das aplicações ao longo do tempo) e os seus requisitos de qualidade de serviço. A caracterização de diferentes aplicações e a elaboração de modelos de predição para estimar suas demandas são tarefas complexas, mas bastante úteis para auxiliar a tomada de decisão na gerência das nuvens. Considerando que aplicações de nuvens computacionais possuem diferentes padrões de demanda e diferentes requisitos de QoS, temos como objetivo geral desta pesquisa identificar as diferentes características dessas aplicações, para dar suporte à gerência de nuvens computacionais de modo que diferentes decisões sejam tomadas para diferentes aplicações. Os objetivos específicos deste projeto são: (i) caracterizar diferentes padrões de carga de trabalho de aplicações de nuvens computacionais; (ii) identificar diferentes requisitos de QoS de aplicações de nuvens computacionais; e (iii) identificar relações entre padrões de demandas e requisitos de QoS de aplicações de nuvens computacionais.

Consideramos este problema relevante pois a crescente adoção das nuvens computacionais está trazendo grande diversidade nas características das suas aplicações. Nossa hipótese é que entender bem as diferenças entre as aplicações e elaborar políticas diferentes para cada tipo de aplicação pode trazer grandes benefícios à gerência das nuvens computacionais, tanto na redução de custos com a infraestrutura quanto no melhor cumprimento dos requisitos de qualidade de serviço.

A meta do projeto é identificar benefícios de se considerar diferentes aplicações com diferentes requisitos de QoS e diferentes demandas, tendo como um primeiro passo a caracterização de padrões de demanda de aplicações e dos seus requisitos de QoS, para que em um próximo passo essas características sejam usadas para estabeler diferentes políticas na gerência de recursos de nuvens computacionais.

Para isto, planeja-se identificar padrões de demanda de aplicações, para em seguida agrupá-las e classificá-las de acordo com a sua dinâmica de uso da nuvem. Chamamos de "tarefa" uma unidade de processamento de uma aplicação que roda na nuvem. Sendo assim, pretendemos encontrar similaridades de aplicações através de características de frequência de submissão de tarefas, dependência entre as tarefas e dinâmica no consumo de recursos, identificando possíveis periodicidades no seu comportamento. Além da caracterização, planeja-se identificar quais os diferentes requisitos de QoS que são considerados em aplicações de nuvens computacionais e quais requisitos são mais usados para os diferentes tipos de aplicação encontrados na caracterização. A partir da caracterização das aplicações, pretende-se elaborar modelos de predição para auxiliar na tomada de decisão da gerência da nuvem, a partir de políticas específicas para cada tipo de aplicação identificado.

Atualmente, alguns alunos de pós-graduação do Laboratório de Sistemas Distribuídos (LSD) trabalham em pesquisas relacionadas a este projeto. Trabalham nesta linha os alunos de doutorado: Marcus Carvalho, Fábio Morais e Ricardo Araújo, orientados pelos professores Francisco Brasileiro e Raquel Lopes. Outros alunos do LSD que já trabalharam nesta área: Paulo Ditarso (doutorado), Rostand Costa (doutorado), David Candeia (mestrado), Lília Sampaio (graduação), entre outros.

Este projeto é recente, então ainda não se tem publicação específica dele, mas algumas publicações do LSD relacionadas são:

  • Marcus Carvalho, Francisco Brasileiro. "A User-Based Model of Grid Computing Workloads". ACM/IEEE International Conference on Grid Computing (GRID), 2012.
  • Fabio Jorge Almeida Morais, Francisco Vilar Brasileiro, Raquel Vigolvino Lopes, Ricardo Araujo Santos, Wade Satterfield, Leandro Rosa. "Autoflex: Service Agnostic Auto-scaling Framework for IaaS Deployment Models". IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid), 2013.
  • Paulo Maciel, Francisco Brasileiro, Ricardo Santos, David Candeia, Raquel Lopes, Marcus Carvalho, Renato Miceli, Nazareno Andrade, Miranda Mowbray. "Business-driven short-term management of a hybrid IT infrastructure". Journal of Parallel and Distributed Computing (JPDC), v. 72, 2012.
  • David Candeia, Raquel Lopes, Ricardo Araújo Santos. "Planejamento de Capacidade a Longo Prazo Dirigido por Métricas de Negócio para Aplicações SaaS". XXXI Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos (SBRC), 2013.
  • Rostand Costa, Francisco Brasileiro, Guido Lemos, Dênio Sousa. "Analyzing the impact of elasticity on the profit of cloud computing providers". Future Generation Computer Systems, Volume 29, Issue 7, September 2013, Pages 1777–1785.
Jornal PETNews - Edição: Rafael Rêgo - Revisão: Tiaraju Smaneoto e Lívia Sampaio
Grupo PET Computação UFCG, 2013. All rights reserved.