Avaliação de um modelo para o gerenciamento de recursos em um ambiente IoT usando virtualização baseada em contêineres

Detalhes bibliográficos
Ano de defesa: 2017
Autor(a) principal: QUADROS JÚNIOR, Evaristo Marcos de
Orientador(a): MONTEIRO, José Augusto Suruagy
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal de Pernambuco
Programa de Pós-Graduação: Programa de Pos Graduacao em Ciencia da Computacao
Departamento: Não Informado pela instituição
País: Brasil
Palavras-chave em Português:
Link de acesso: https://repositorio.ufpe.br/handle/123456789/27931
Resumo: A Internet das Coisas (Internet of Things – IoT) é um paradigma onde objetos do dia a dia são equipados com capacidades como identificação, sensoriamento, conectividade e processamento. Novos dispositivos desta categoria são conectados diariamente, em redes residenciais, comerciais e acadêmicas. O provisionamento dos recursos de tais dispositivos é desafiador, sendo muitas vezes desejável, que se tenha uma arquitetura semelhante no dispositivo da ponta e no data center. Para contornar esta situação, este trabalho estuda a utilização de conceitos já comuns em ambientes de servidores, aplicando-os em dispositivos IoT. É sabido que a virtualização resolveu vários desafios em infraestruturas convencionais. A virtualização por contêineres é mais leve do que a virtualização usando hipervisores, tendo se mostrado uma candidata a revolucionar a IoT, assim como os hipervisores revolucionaram arquiteturas tradicionais. Desta forma, o modelo avaliado utiliza um mecanismo de contêineres em conjunto com um switch virtual. Com isso, busca-se tornar o gerenciamento destes dispositivos mais flexível, facilitando a realocação e otimização dos recursos em uma implementação IoT. O objetivo do trabalho foi avaliar o comportamento de rede em dispositivos comumente usados em IoT, quando submetidos ao modelo estudado. Os experimentos tiveram maior ênfase no comportamento de rede, buscando considerar métricas importantes para determinar o seu desempenho, como o atraso introduzido e a taxa de transferência efetiva do sistema. Também foram realizadas medições de uso dos recursos de processamento e memória, antes e após a introdução dos softwares utilizados no modelo. As medições foram feitas implementando um ambiente de testes, usando três gerações de uma plataforma utilizada frequentemente na prototipação de aplicações IoT, o Raspberry Pi. Para o mecanismo de conteinerização foi usado o Docker. O Open vSwitch foi usado como habilitador SDN, possibilitando um melhor controle no tráfego de rede entre contêineres. Os resultados experimentais referentes à implementação completa da pilha de camadas introduzidas, demonstraram que o mecanismo de contêiner teve pouca influência no desempenho de rede dos dispositivos. A introdução do switch virtual foi pouco significativa quando utilizado protocolos sem criptografia para fazer o tunelamento da conexão das redes virtuais. Adicionando uma camada IPsec, a degradação de desempenho ficou bastante evidente no Raspberry de primeira geração, atingindo uma taxa de transferência efetiva para recepção de dados em torno de 23% do valor medido como referência. A segunda geração apresentou desempenho superior, mas ainda em 56%. Já a terceira geração do dispositivo, mostrou desempenho aproximado de 88% do valor da taxa de referência. Mesmo com desempenho inferior no hardware mais restrito, a vazão resultante ainda é suficiente para muitas aplicações IoT. Tais resultados evidenciaram a evolução apresentada no hardware e demonstram uma real possibilidade de aplicação. Apesar da interferência no desempenho de rede com as camadas adicionadas, o uso das tecnologias envolvidas proporciona benefícios adicionais, como maior facilidade no gerenciamento em implementações de novos softwares, maior automação no gerenciamento de recursos, facilitação na escalabilidade das aplicações, isolamento e configuração dinâmica do tráfego de rede, e otimização no compartilhamento de recursos de hardware.