A elasticidade proativa é alcançada mediante o emprego de mecanismos de predição, seja para antecipar as variações de demanda ou o comportamento do sistema. No contexto de funções virtuais, todas as abordagens proativas encontradas na pesquisa bibliográfica apontaram para soluções que contemplam apenas elasticidade horizontal e ausência de análise sobre a assertividade das decisões tomadas, também considerando objetivos de custo ou desempenho em separado.
Em [43], os autores utilizaram de o método de aprendizagem de máquina online de- nominado Follow the Regularized Leader (FTRL) para predizer as demandas por cada cadeia de serviços, na perspectiva de derivar as capacidades de processamento requeridas por cada instância. A partir disso, determinam tanto a quantidade e a capacidade de pro- cessamento das instâncias à frente do tempo, orientado ao custo de redução da utilização dos recursos da nuvem. A demanda pelos serviços é derivada de traces do Skype, onde os autores selecionaram os fluxos de uma mesma origem e destino escolhidos, determinando janelas de decisão de cinco minutos, dividindo o tamanho de tráfego total pelo tempo da janela para determinar a taxa de fluxo de cada janela e desse dado futuro derivar as
capacidades. Os autores consideram que os pacotes possuem em média tamanho de 1.024 bytes e que cada VNF de uma SFC possui uma máxima capacidade de vazão baseada em datasheets de funções de rede tradicionais. Os resultados apresentam uma redução dos custos operacionais, sem entretanto demonstrarem o impacto das decisões sobre a qualidade do serviço oferecido.
Em [44] é apresentado um modelo de elasticidade automática orientada por predição a longo prazo a fim de determinar o ciclo de vida das funções virtuais, bem como a tomada de decisões de elasticidade horizontal para cada janela de tempo. Os autores adotam aprendizagem online para predizer a demanda de tráfego e assim determinar tanto a quantidade de instâncias, também dispostas em cadeia de serviços, quanto o tempo de aluguel necessário para elas a fim de minimizar os custos para o inquilino da infraestrutura. A taxa de tráfego por janela também foi definida como em [43], dividindo o tamanho total do tráfego pelo tempo total das janelas, nesse caso de dez minutos cada, a partir de traces de requisições HTTP retiradas do serviço Amazon MapReduce e as capacidades de processamento de cada VNF dadas em função da vazão máxima suportada por instância, retirada das especificações de instâncias do serviço Amazon AWS. Os resultados não permitem avaliar a assertividade de suas decisões, uma vez que contemplam apenas do ponto de vista dos custos para o inquilino da infraestrutura.
O trabalho de Li et al. [45] considera blocos de tempo maiores para os quais deter- mina previamente a quantidade de instâncias orientados pela redução da utilização dos recursos e diminuição da probabilidade de bloqueio das requisições. Os autores utilizam uma arquitetura de redes neurais LSTM (do inglês, Long Short-Term Memory para re- alizar as predições de demanda pelas funções associado a um algoritmo de otimização para aperfeiçoar a fase de treinamento e refinar os resultados. Os dados de tráfego foram emulados a partir de traces de conexões TCP de uma rede metropolitana com as capaci- dades máximas de processamento por vazão das funções encadeadas sendo definidas pelos próprios autores. Apesar de considerar objetivos de custo e desempenho em conjunto, as janelas de configuração relativamente grandes impediriam uma adaptação dos recursos às condições em tempo real, com tendência a apresentarem desperdício de recursos durante períodos de baixa demanda dentro da janela.
Tang et al. [46] também busca realizar elasticidade horizontal auxiliado por predição de demanda pelos serviços encadeados, bem como orientar a colocação das instâncias nos armários de servidores disponíveis de modo a otimizar a experiência do usuário nos serviços consumidos. Os autores utilizam um modelo de regressão linear para estimar o limite
superior de tráfego para os próximos vinte minutos. De posse desta informação a proposta considera não apenas a quantidade de instâncias, mas também um algoritmo de colocação que minimize o espalhamento de funções de uma mesma cadeia por diferentes racks de servidores. Os dados de tráfego foram coletados de quatro provedores de Internet chineses com o fluxo total medido em janelas de vinte minutos, mas sem especificar as capacidades das VNFs utilizadas nos experimentos. A assertividade das decisões é desconhecida, uma vez que os resultados são demonstrados apenas em termos de utilização dos recursos.
O trabalho de Rahman et al. [47] apresenta um método baseado em ML que aprende com decisões passadas de dimensionamento horizontal e o comportamento sazonal e es- pacial do tráfego de rede para tomar decisões antecipadas, transformando o problema de elasticidade automática num problema de aprendizagem de máquina supervisionado de classificação. Os autores utilizam do método de aprendizagem para classificação denomi- nado Random Forest, cujo treinamento foi feito a partir da observação de um mecanismo de elasticidade reativo. Os dados de tráfego utilizados já apresentam as taxas de fluxos consolidadas em janelas de cinco minutos, isto é, nos seus testes não lidou com uma sequên- cia de requisições granularizada e os objetivos de custo e desempenho são considerados em separado, com cenários que priorizam um ou outro.
Em [48], os autores propõem um modelo de classificação de aprendizagem de máquina baseado em redes neurais que visa estimar o número de instâncias de VNF em nós loca- lizados nas bordas da rede em função da quantidade de tráfego de rede que eles podem processar. O trabalho combina tal estratégia com o problema da colocação de instâncias com o objetivo de minimizar o atraso fim-a-fim das aplicações, considerando uma arquite- tura NFV baseada em Computação Multi-acesso nas Bordas (MEC, do inglês Multi-Access Edge Computing)[49]. Os autores utilizaram um conjunto de dados coletados de um pro- vedor de Internet móvel durante oito dias contendo o tráfego total medido para janelas de uma hora e consideraram que cada VNF poderia suportar uma vazão máxima de 200 Mbps sem degradação de QoS. Assim, construíram o conjunto de entrada do preditor ba- seado nas medições atuais e anteriores de tráfego e no dia da semana correspondente para obter como saída o número de instâncias necessárias para lidar com o tráfego previsto, utilizando um modelo de redes neurais do tipo MLP.
Uma abordagem de provisionamento de VNF utilizando técnicas de aprendizagem profunda é proposta em [50]. Um modelo de rede neural recorrente do tipo LSTM é utilizado para prever o consumo esperado de CPU das VNFs baseado em um conjunto de características dos dados de tráfego. Com o resultado, é definido de maneira antecipada o
número de instâncias de cada VNF, tudo com o objetivo de reduzir os custos de utilização da infraestrutura, sem verificar o impacto dos serviços executados. O conjunto de dados para teste utilizado foi o mesmo de [31], que possui escala de tempo de 20 segundos. Nos experimentos foram consideradas janelas de decisão de sete minutos onde a cada janela o modelo deveria antecipar o consumo de CPU das funções virtualizadas. Os experimentos apenas cobriram a capacidade de antecipar o consumo de processamento, não chegando a demonstrar a proposta tomando decisões de elasticidade com base nas informações obtidas do modelo de predição.
Em [51], também é proposto um modelo de elasticidade horizontal proativa auxiliado nesse caso por um modelo de regressão. Os autores argumentam que devido à constante variação na demanda a topologia virtual das funções muda com muita frequência, portanto propõem alcançar redução de custos através da diminuição das atualizações frequentes. Nesse sentido, adotam um modelo de regressão para antecipar a demanda sobre a rede e também levam em consideração o tráfego não envolvido nas SFCs, tudo com o objetivo de reduzir o atraso fim-a-fim e o congestionamento dos enlaces. A carga de trabalho injetada no modelo para avaliação foi gerada baseada nos registros coletados no cluster da provedora de nuvem Alibaba, mas os experimentos não demonstram o impacto das decisões de elasticidade sobre o conjunto dos serviços encadeados oferecidos.
Com o objetivo de aumentar a vazão oferecida pelos serviços encadeados, os autores em [52] propõem o VNF-DOC. A solução utiliza Média Móvel Integrada Auto Regressiva (ARIMA) para prever instantes exatos de tempo de ocorrência de sobrecarga a fim de antecipar decisões de elasticidade horizontal mesclando com uma abordagem reativa, pois também faz uso de coleta periódica de métricas de desempenho e utilização das VNF. O objetivo é reagir com antecedência a condições de sobrecarga e maximizar a estabilidade do sistema sobre tais condições. O modelo de tráfego utilizado foi gerado sinteticamente para representar um período de utilização regular seguido de aumento gradual de demanda até chegar num estágio de sobrecarga com duração de 30 minutos para depois retornar ao estágio de demanda regular. Os experimentos foram realizados no serviço de nuvem da Amazon, onde o mecanismo proposto pelos autores alimentava o AWS Auto Scaling com as informações antecipadas de início de sobrecarga e consideraram apenas aspectos de desempenho.
3.2
Discussão
Os critérios a seguir foram estabelecidos para efeito de comparação entre as soluções apresentadas nas seções 3.1.1 e 3.1.2 tendo em vista a perspectiva dos objetivos listados nesta tese de doutorado:
1. Política de elasticidade
• Reativa - Se as decisões de dimensionamento das funções virtualizadas, seja de aumento ou diminuição dos recursos, são acionadas a partir de regras pré- definidas relacionadas a limiares estáticos que estão associados a métricas de consumo de recursos e/ou desempenho de serviços
• Proativa - Se a proposta implementa técnicas de predição, antecipando o in- formações futuras de demanda ou consumo de recursos, acionando decisões de dimensionamento com base nelas.
2. Método de elasticidade
• Horizontal - Se a solução realiza o dimensionamento através da adição ou re- moção de funções virtuais
• Vertical - Se o dimensionamento ocorre aumentando ou diminuindo recursos computacionais ou de rede.
3. Modelo de tráfego utilizado
• Sintético - Se o modelo de tráfego de dados utilizado nos experimentos de validação foi gerado artificialmente;
• Realístico - Se o tráfego de dados utilizado foi capturado de ambiente real
4. Escala de tempo do modelo de tráfego - Neste critério será verificada a granulari- dade das requisições injetadas sobre os serviços ofertados no experimento, a fim de verificar se as decisões de elasticidade da solução proposta estão lidando com um padrão de chegada de requisições realístico. Um conjunto de dados de tráfego de gra- nularidade de cinco minutos, por exemplo, permite inferir que cada um dos valores corresponda à demanda esperada durante uma janela de tempo desta duração, mas não permite derivar desse valor a quantidade e a frequência com que as requisições individuais pela SFC ocorreram durante esse período.
5. SFC - Se a solução está sendo proposta sobre um cenário que considera funções virtualizadas oferecidas na forma de serviços encadeados.
6. Assertividade - Se a solução considera em seus resultados o impacto da estraté- gia proposta sobre a assertividade das decisões de elasticidade, avaliando se foram capazes de tomar decisões que ofereçam imediatamente e adequadamente recursos necessários à demanda pelos serviços em execução.
Dentre os requisitos levantados como fundamentais para a consecução do objetivo principal desta tese, a principal lacuna encontrada foi a ausência de um enfoque dos tra- balhos relacionados sobre o aspecto da assertividade das decisões de elasticidade. Notou-se também a ausência de uma proposta proativa que incluísse o método de elasticidade ver- tical. O dimensionamento vertical pode ser limitado quando não pode escalar para além dos recursos providos pela máquina física hospedeira e também se torna um ponto único de falha, mas pode ser vantajoso para os seguintes casos, de acordo com [12]:
• Permite dimensionamento de alta glanuralidade, uma vez que adiciona recursos de maneira gradativa.
• É aplicável a qualquer tipo de aplicação e não necessita de balanceamento de carga. Para o horizontal, há a dependência de funções que permitam sua réplica e o com- partilhamento do estado das sessões ativas, além de uma função para distribuir a carga entre elas.
• Elimina o tempo necessário para inicialização das novas réplicas (apesar de exigir ele mesmo um tempo para concluir o dimensionamento).
• Reduz custos relacionados ao eventual pagamento de licenças para cada nova réplica necessária.
A Tabela 1 sumariza as soluções encontradas e apresenta a lacuna que pode ser pre- enchida através desta tese de doutorado.
Frente aos trabalhos analisados, o arcabouço ARENA se apresenta como a única proposta que oferece elasticidade proativa vertical, além da horizontal, num cenário de funções virtualizadas de rede oferecidas na forma de serviços encadeados com objetivo de maximizar a assertividade de suas decisões de dimensionamento. Diante dos possíveis benefícios desta abordagem, faz-se necessário avaliar seu impacto quando utilizada de maneira proativa nos objetivos de custo e desempenho em comparação com a estratégia
Tabela 1: Comparação entre as diferentes soluções
Solução Política H V Tráfego Escala SFC Assert.
[40] Reativa X - - X X
[42] Reat./Proat. X Sintético Segundos X
[41] Reativa Realístico Segundos X
[43] Proativa X Realístico Segundos X
[44] Proativa X Realístico Segundos X X
[45] Proativa X Realístico Horas X
[46] Proativa X Realístico Segundos X
[47] Proativa X Realístico Minutos X X
[48] Proativa X Realístico Segundos X X
[50] Proativa X Realístico Segundos (20) X X
[51] Proativa X Realístico Segundos X
[52] Proativa X Sintético Segundos X X
ARENA Proativa Realístico Segundos
horizontal, bem como com uma abordagem reativa. Enquanto as propostas de elastici- dade horizontal em geral consideravam uma relação direta entre o tráfego previsto e a capacidade máxima que uma única instância suporta para disto derivar a quantidade de instâncias necessárias, para uma abordagem proativa vertical esse mapeamento deverá refletir nas características computacionais consideradas na elasticidade.
3.3
Síntese do Capítulo
O capítulo apresentou um levantamento das principais soluções atuais encontradas na literatura com suporte a elasticidade de funções de rede virtualizadas individualizadas e em serviços encadeados. A pesquisa bibliográfica demonstrou a inexistência de avaliação do aspecto de assertividade do mecanismo e de propostas proativas de elasticidade vertical e seu impacto nos objetivos de custo e desempenho. Também verificou questões impor- tantes no estudo de abordagens proativas, como a origem do tráfego de dados utilizado na validação das propostas, bem como a sua escala de tempo, importante para verificação do impacto das decisões tomadas pelo mecanismo de auto-scaling.