Resumo:
A Internet das Coisas (IoT - Internet of Things) é considerada a próxima grande evolução na era da computação após a Internet. Na Internet das Coisas muitos objetos que nos rodeiam serão conectados em redes e se comunicarão entre sí sem auxílio ou intervenção humana. Implementações de grande escala têm potencial para criar um enorme tráfego agregado. Muitas vezes Brokers ou Intermediários, são utilizados para possibilitar esta comunicação machine-to-machine (M2M), utilizando o modelo de comunicação Publish/- Subscribe que possui diversas bibliotecas particulares para uso na Internet das Coisas. Alguns trabalhos desenvolvidos pela comunidade visam tratar o desempenho no ambiente de Brokers Publish/Subscribe, no entanto impõem modificações e restrições quanto aos Brokers e arquitetura utilizada. Neste cenário, visando atender a necessidade de escalabilidade citada, é proposto um modelo de elasticidade chamado PSElastic. PSElastic fornece um modelo de elasticidade multinível para Brokers Publish/Subscribe, fazendo uso da elasticidade provida pela Computação em Nuvem, sem afetar o desempenho do sistema e sem a necessidade de investimentos ou ajustes por parte dos clientes e aplicações que fazem uso deste modelo. O modelo oferece a elasticidade de forma automática, reativa e multinível, onde multinível refere-se aos níveis de Broker e de Orquestrador do modelo. Buscando avaliar o modelo PSElastic foram definidos três cenários diferentes para a execução dos testes: Cenário 1, sem elasticidade; Cenário 2, elasticidade na camada de Brokers e Cenário 3, elasticidade multinível. Diferentes limites de réplicas de máquinas virtuais foram utilizados, assim como combinações de thresholds para avaliar o Tempo de Execução, quantidade de Mensagens por Segundo tratadas e a Eficiência na utilização dos recursos computacionais. PSElastic apresentou excelentes resultados ao reduzir em até 81,2% o tempo necessário para o tratamento de uma carga de dados e aumentar o throughput do ambiente com Broker Mosquitto de 54,95 mensagens por segundo (Mps) para 235,29 Mps e de 38,02 Mps para 202,02 Mps no ambiente com Broker RabbitMQ.