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 tem a vantagem de oferecer um melhor uso dos recursos aos seus usuários. Nesse contexto, este artigo apresenta o estado da arte na área de elasticidade em nuvem, enfatizando desde a abordagem padrão que usa transações web até iniciativas para a computação de alto desempenho. Ainda, o texto 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 alto desempenho 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 no das públicas.

Revista Brasileira de Computação Aplicada