masterThesis
Avaliação de um modelo para o gerenciamento de recursos em um ambiente IoT usando virtualização baseada em contêineres
Autor
QUADROS JÚNIOR, Evaristo Marcos de
Institución
Resumen
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. The Internet of Things (IoT) is a paradigm where everyday devices are equipped with capabilities such as identification, sensing, connectivity and processing. New devices in this category are connected daily in residential, commercial, and academic networks. Provisioning of those device’s resources are challenging; therefore, it is often desirable to have a similar architecture at the endpoint device and data center. To overcome this situation, this paper evaluates the use of concepts already common in server environments, in IoT devices. It is well known that virtualization has solved several challenges in conventional infrastructures. Container virtualization is much lighter than virtualization using hypervisors, having proven to be a candidate to improve IoT, just as hypervisors have improved traditional architectures. In this sense, the model evaluated combines a container mechanism and a virtual switch. Thereby, the aim is to make the management of these devices more flexible, making easier reallocation and optimization of the resources in an IoT implementation. The purpose of this thesis was to measure the network behavior of devices commonly used in IoT, when submitted to the evaluated model. The experiments had focused on network behavior, seeking to consider important metrics to determine its performance, such as the delay introduced and the effective transfer rate of the system. The use of processing and memory resources were also measured, before and after the introduction of the software used in the model. The measurements were made by implementing a test environment, using three generations of a platform widely adopted for IoT prototyping, Raspberry Pi. Docker was used for the containerization mechanism. Open vSwitch was used as a SDN enabler, establishing better control over network traffic between containers. Experimental results regarding the complete implementation of the layer stack introduced, demonstrated that the use of the container mechanism had little influence on network performance. The introduction of virtual switch was insignificant when using unencrypted protocols when tunneling the virtual networks. Adding an IPsec layer, performance degradation was quite evident in the first-generation Raspberry, achieving an effective throughput for reception of 23% of the value measured as a reference. The second generation showed higher performance, but still around 56%. Already the third generation of the device, showed performance up to 88% of the transfer rate. Even with lower performance on the most limited hardware, the resulting throughput is still sufficient for many IoT applications. The results proved the evolution of hardware and demonstrate the feasibility of its use. Despite the performance interference with added layers, the use of the technologies involved provides additional benefits, such as easier management in a large-scale implementation, increased automation, more scalability, isolation and dynamic configuration of traffic network, and optimization of hardware sharing resources.