Elasticidade em cloud computing: conceito, estado da arte e novos desafios
Rodrigo da Rosa Righi1
Resumo: 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 paguepelo-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.
Palavras-chave: Computação em nuvem. Elasticidade. Gerência de recursos. Virtualização.
Abstract: Elasticity is undoubtedly one of the most striking features of cloud computing, appearing as a differential of such kind of distributed system in comparison with others like grid computing and peer-to-peer. Concerning both the paradigms of on-demmand computing and pay-as-you-go, elasticity offers the ability to dynamically increase or decrease the number of instances