Planejamento de Capacidade a Longo Prazo Dirigido por Métricas de Negócio para Aplicações SaaS
Autor: David Candeia | Publicado: 2013-05-21T17:14:00-03:00




Este artigo é resultado da pesquisa de mestrado de David Candeia, com a colaboração da professora Dra. Raquel Lopes e de Ricardo Araújo. O artigo foi recentemente publicado no XXXI Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos (SBRC 2013). A seguir, um resumo do trabalho:



No universo de Gerência de Recursos existe uma atividade estratégica de planejamento denominada de Planejamento de Capacidade. Esta atividade considera previsões de uma carga de trabalho futura de modo a estimar a quantidade de recursos computacionais que é necessária para atender esta demanda. De acordo com a duração do intervalo de tempo que se está planejando o artigo considera dois tipos de planejamento de capacidade: um planejamento de curto prazo (também denominado de Provisão Dinâmica de Recursos) busca estimar a quantidade de recursos computacionais (ou instâncias de máquinas virtuais) necessária em um curto intervalo de tempo (e.g. uma hora); um planejamento de longo prazo busca estimar a quantidade de recursos computacionais necessária em um longo intervalo de tempo (e.g. um ano).&nbsp;



O planejamento de capacidade no ambiente de Computação na Nuvem se faz necessário uma vez que provedores de Infraestrutura como Serviço (i.e. provedores de IaaS) oferecem instâncias de máquinas virtuais em diferentes mercados, dos quais consideramos dois: o mercado sob demanda, no qual instâncias podem ser obtidas no momento em que forem necessárias sem uma garantia de que o pedido por estas instâncias será atendido; o mercado de reserva, no qual instâncias podem ser reservadas com antecedência (e.g., 1 ou 3 anos) e com uma garantia por parte do provedor de IaaS que tais instâncias estarão disponíveis sempre que forem requisitadas. Com a existência do mercado de reserva o planejamento de capacidade a longo prazo é responsável por determinar a quantidade de instâncias que devem ser reservadas.



Nós consideramos o cenário no qual um provedor de Software como Serviço (SaaS) monta sua infraestrutura computacional adquirindo instâncias de máquinas virtuais junto a provedores de Infraestrutura como Serviço. Neste cenário, avaliamos duas heurísticas de planejamento de capacidade a longo prazo considerando o impacto que cada uma destas heurísticas tem no lucro de um provedor de SaaS. A busca pela melhor heurística de planejamento, bem como o aperfeiçoamento das heurísticas avaliadas, fazem parte das próximas etapas do trabalho. As duas heurísticas avaliadas foram:





Heurística baseada em Rede de Filas (RF) - esta heurística faz uso de conceitos de Teoria das Filas (e.g., taxa média de chegada, tempo médio de serviço) para estimar a quantidade de instâncias necessária para processar a carga de trabalho estimada. De posse da quantidade de instâncias estimada, RF avalia qual reserva de recursos fornece o maior lucro para o provedor de SaaS e implementa esta reserva.
Heurística baseada em Taxa de Utilização (UT) - esta heurística simula a execução da carga de trabalho estimada utilizando apenas recursos obtidos no mercado sob demanda. Após a simulação, UT calcula a taxa de utilização de cada instância utilizada na simulação e considera que as instâncias que apresentaram uma taxa de utilização superior ao limiar definido pelos preços das instâncias no provedor de IaaS deveriam ter sido reservadas.





As heurísticas acima foram avaliadas através de simulações e foram comparadas com três estratégias de referência: uma estratégia que não realiza reserva de recursos (ON), utilizando apenas recursos do mercado sob demanda; uma estratégia que realiza superprovisionamento da infraestrutura (SUPER); uma estratégia ótima (OP) que conhece o futuro e implanta o melhor plano de reserva possível.



Avaliando os resultados dos testes estatísticos realizados podemos concluir (com um nível de 95% de confiança) que as heurísticas RF e UT fazem com que o provedor de SaaS obtenha um lucro maior do que o lucro que seria obtido usando as estratégias ON e SUPER. A Figura 1 nos apresenta a variação no lucro do provedor de SaaS (métrica denominada de ganho em nosso trabalho) ao utilizar as heurísticas/estratégias RF, UT e SUPER em relação à estratégia ON .











Inicialmente percebemos que superprovisionar a infraestrutura reduziu consideravelmente o lucro do provedor de SaaS, logo seria mais vantajoso para o provedor não ter realizado um planejamento de longo prazo. Para as heurísticas RF e UT, apesar do ganho apresentar valores baixos (em torno de 7% para RF no melhor cenário) é importante destacar que financeiramente este valor é mais significativo quão maior for a receita do provedor de SaaS. Além disso, a estratégia OP apresenta um ganho em torno de 11%, demonstrando que existe margem para melhoria e aperfeiçoamento das heurísticas avaliadas no artigo.&nbsp;



Realizamos, ainda, uma análise de sensibilidade com o fator denominado de erro de predição, que indica um erro na estimativa da quantidade de clientes de SaaS que compõe a carga de trabalho. Foram utilizados 7 níveis para este fator e analisando os resultados apresentados na Figura 2 percebemos que:













Quando a quantidade de clientes de SaaS é subestimada (e.g., a carga real possui 100 clientes e a carga prevista possui 80) a heurística UT apresenta os melhores resultados.&nbsp;
Quando a quantidade de clientes de SaaS é superestimada (e.g., a carga real possui 100 clientes e a carga prevista possui 120) a heurística RF apresenta os melhores resultados.





Logo, as principais conclusões deste trabalho para o escopo avaliado foram:





Não se deve superprovisionar uma infraestrutura de TI dado que o superprovisionamento pode ser mais deficitário que não realizar um planejamento de capacidade a longo prazo. Além disso, heurísticas cujas tomadas de decisão são relativamente simples permitem ganhos em torno de 3.77% para RF e de 3.19% para UT.
O erro de predição da carga de trabalho influencia fortemente os ganhos que podem ser obtidos ao se utilizar uma das heurísticas de planejamento de capacidade avaliadas. Além disso, o erro de predição influencia na escolha de qual a melhor heurística a ser utilizada.







Para mais detalhes, veja nosso artigo "Planejamento de Capacidade a Longo Prazo Dirigido por Métricas de Negócio para Aplicações SaaS."