Elasticidade em cloud computing: conceito, estado da arte e novos desafios (Revista Brasileira de Computação Aplicada, 2013)
A elasticidade é sem dúvida uma das características mais marcantes da computação em nuvem, sendo um diferencial desse tipo de sistema distribuído em relação a outros como grades computacionais e peer-to-peer. Com base nos paradigmas de computação sobre demanda e pague-pelo-que-use, é possível dinamicamente aumentar ou diminuir instâncias de máquinas virtuais e/ou nós de computação, bem como aplicar reconfigurações de percentagem de CPU, memória e largura de banda de rede relativos a um serviço em nuvem. Além dos evidentes benefícios de custo e desempenho para o usuário, o provedor da nuvem também tem a vantagem de oferecer um melhoruso dos recursos perante seus usuários. Nesse contexto, esse artigo apresenta o estado-da-arte na área de elasticidade em nuvem, enfatizando desde a abordagem padrão que usa transações Webaté iniciativas para a computação de alto desempenho. Ainda, o artigo discute sobre métricas para ativação da elasticidade, o seu nível de atuação (SaaS, PaaS ou IaaS), bem como a interface de uso(sem intervenção do usuário, linha de comando, ferramenta gráfica ou diretivas de programação). Para fins de experimentação, um estudo de caso do emprego da elasticidade em aplicações de altodesempenho sobre o middleware OpenNebula é apresentado e discutido. Por fim, o artigo aponta os desafios na área e oportunidades de pesquisa, tanto no cunho das nuvens privadas quanto públicas.