Autoflex: Service Agnostic Auto-scaling Framework for IaaS Deployment Models
Autor: Fabio Morais | Publicado: 2013-05-21T13:34:00-03:00







Este trabalho é resultado da pesquisa de mestrado realizada por Fábio Morais, decorrente de uma cooperação entre o Laboratório de Sistemas Distribuídos (LSD) da UFCG e a Hewlett-Packard (HP). Essa pesquisa contou com a parcipação de Fábio Morais, Francisco Brasileiro, Raquel Lopes, Ricardo Santos (representantes do LSD), Wade Satterfield (HP Fort Collins) e Leandro Rosa (HP Brasil). Uma versão resumida desse trabalho de mestrado foi publicada no 13th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid 2013), realizado na cidade de Delft, Holanda.


Figura 1. Variação de carga de utilização no tempo.



O trabalho concentra-se no cenário atual do paradigma de Computação na Nuvem, que corresponde, em essência, na provisão de Tecnologia da Informação (TI) como serviço.&nbsp;Esse paradigma carrega consigo o conceito de elasticidade, que consiste na provisão de recursos computacionais sob demanda. A elasticidade é uma das principais propriedades usadas na redução de custos derivados da execução de serviços em ambientes de Infraestrutura como Serviço (IaaS). No entanto, essa propriedade só pode ser inteiramente explorada se os clientes dos serviços de IaaS forem capazes de estimar futuras demandas de suas aplicações no curto prazo, de forma que apenas a infraestrutura necessária para manter as aplicações seja requisitada a cada instante de tempo. Deste modo, os acordos de nível de serviço (SLAs) firmados entre o cliente do serviço de IaaS e os usuários de suas aplicações são sempre honrados e o super provisionamento é evitado. No entanto, para aplicações que apresentam grandes variações de carga de utilização essa atividade de provisionamento torna-se uma tarefa não trivial. Um exemplo de aplicação com intensa variação de carga pode ser observado na Figura 1.








Figura 2. Abordagem de provisionamento reativo.



A técnica de provisionamento automático consiste no processo de modificar automaticamente a quantidade de recursos disponíveis para manter e executar uma aplicação em um ambiente de IaaS, dependendo da demanda da aplicação. O mercado de Computação na Nuvem apresenta soluções de provisionamento automático que utilizam abordagens reativas, que em geral não conseguem evitar violações de SLO e que &nbsp;por consequência&nbsp;são insuficientes para&nbsp;minimizar os custos de quebras de SLA, embora possam reduzir os custos do super provisionamento. Um exemplo do comportamento do provisionamento reativo pode ser observado na Figura 2. Para reduzir os custos devido a violações de SLA são necessárias abordagens proativas.



O trabalho desenvolvido propõe um framework para provisionamento automático de recursos não intrusivo, ou seja, que não necessita de informações específicas da aplicação, apenas informações de utilização de recursos no nível de máquina virtual. O framework realiza o provisionamento a partir das abordagens reativa e proativa, baseadas no uso de um conjunto configurável de preditores de demandas dos serviços, além de usar um mecanismo de seleção que decide, periodicamente, o melhor preditor a ser usado. Também é proposta uma nova maneira de corrigir predições subestimadas, reduzindo por consequência o número de violações de SLO.



O framework proposto foi avaliado através de simulações baseadas em traces de utilização de aplicações em produção de clientes da HP. Os resultados evidenciam o trade-off entre redução de custo e garantias de qualidade de serviço (QoS), uma vez que a configuração do framework pode priorizar redução de custo ou manutenção de QoS. Esse trade-off pode ser observado em maiores detalhes na Figura 3. Através de configurações mais conservadoras (C8) foi possível obter uma economia de até 37% em relação ao cenário super provido, enquanto a probabilidade de quebra de SLO é mantida em média em 0,008% e limitada superiormente a 0,036%.&nbsp;










Figura 3. Trade-off entre redução de custo e garantias de QoS.




Além do mais, a flexibilidade do framework permite que, através da utilização de diferentes configurações, seja possível alcançar economias adicionais apenas com um pequeno aumento no número de violações de SLO.