IoT-viestintäpalvelu VerneMQ:n ja Kuberneteksen kanssa
Aalto, Joel (2022)
Aalto, Joel
2022
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2022060816891
https://urn.fi/URN:NBN:fi:amk-2022060816891
Tiivistelmä
Esineiden internet maailma kasvaa ja laitteiden määrä lisääntyy. Suosittu protokolla sensorien ja muiden laitteiden väliseen kommunikaatioon on TCP/IP protokollaan perustuva MQTT. Tehokas MQTT välittäjä mahdollistaa suurien datamäärien keräämisen ja laitteiden hallinnan keskitystä. Valinnanvaraa on itse rakennettujen ratkaisujen lisäksi niin kaupallisista kuin avoimen lähdekoodin ohjelmistoista.
Tavoite oli tutkia yhtä avoimen lähdekoodin VerneMQ välittäjää ja saada kuvaa sen suorituskyvystä sekä konfigurointimahdollisuuksista. Alustana käytettiin Kubernetesta Microsoftin pilvipalvelu Azuressa ja samalla tutkittiin klusterin skaalautumisen vaikutuksia VerneMQ:n suorituskykyyn.
Toteutustavaksi valikoitui soveltava tutkimus. Pohjatieto kerättiin pääasiassa teknologioiden omista dokumentoinneista ja soveltavaa osaa työstettiin samalla toimeksiantajalle.
Tulokseksi muodostui selkeä kuva käytettyjen teknologioiden vahvuuksista ja heikkouksista. Viestintäpalvelu saatiin toimivaksi ja sen rajoja testattiin. Valmistuneet Docker kuvat ja Helm kaaviot mahdollistivat hyvin yksinkertaisen palvelun käyttöönoton Kuberneteksen päälle ja konfigurointi osoittautui pääosin helpoksi.
Lopputulos oli onnistunut ja tarjoaa toimeksiantajalle hyvän vaihtoehdon moniin käyttötapauksiin. Todella suuriin projekteihin viestintäpalvelu vaatisi kuitenkin vielä lisää työtä. Internet of things is getting bigger and the number of sensors and other devices on the field is growing. One of the most popular protocols for communication between these lightweight devices is MQTT, which is based on the TCP/IP protocol. A powerful MQTT broker makes it possible to collect large amounts of data and control a lot of devices simultaneously. There are many choices for the broker besides self-built ones. Some are commercial, others open source.
The plan was to configure an open source MQTT broker, VerneMQ, on Kubernetes to get knowledge about the performance and configurability it has to offer. Used platform was Kubernetes on Microsoft’s cloud service Azure. Testing out what effects clustering might have for the performance and general functionality was among the key interests.
Applied research was chosen as the method to realize these plans. The basis was studied mainly from the official documentation of the technologies used and the hub was built for the client company.
The result was a clear picture of the pros and cons of the chosen technologies. Messaging hub got to a working product and its performance limits were tested. Resulting docker images and helm charts made it possible to quickly configure and set up a new instance of the hub onto Kubernetes. While most of the configuring was straight forward, there was also some difficulties.
The outcome was a success and gives the company a good choice for certain use cases, even though the hub would still need development if used in really high traffic projects.
Tavoite oli tutkia yhtä avoimen lähdekoodin VerneMQ välittäjää ja saada kuvaa sen suorituskyvystä sekä konfigurointimahdollisuuksista. Alustana käytettiin Kubernetesta Microsoftin pilvipalvelu Azuressa ja samalla tutkittiin klusterin skaalautumisen vaikutuksia VerneMQ:n suorituskykyyn.
Toteutustavaksi valikoitui soveltava tutkimus. Pohjatieto kerättiin pääasiassa teknologioiden omista dokumentoinneista ja soveltavaa osaa työstettiin samalla toimeksiantajalle.
Tulokseksi muodostui selkeä kuva käytettyjen teknologioiden vahvuuksista ja heikkouksista. Viestintäpalvelu saatiin toimivaksi ja sen rajoja testattiin. Valmistuneet Docker kuvat ja Helm kaaviot mahdollistivat hyvin yksinkertaisen palvelun käyttöönoton Kuberneteksen päälle ja konfigurointi osoittautui pääosin helpoksi.
Lopputulos oli onnistunut ja tarjoaa toimeksiantajalle hyvän vaihtoehdon moniin käyttötapauksiin. Todella suuriin projekteihin viestintäpalvelu vaatisi kuitenkin vielä lisää työtä.
The plan was to configure an open source MQTT broker, VerneMQ, on Kubernetes to get knowledge about the performance and configurability it has to offer. Used platform was Kubernetes on Microsoft’s cloud service Azure. Testing out what effects clustering might have for the performance and general functionality was among the key interests.
Applied research was chosen as the method to realize these plans. The basis was studied mainly from the official documentation of the technologies used and the hub was built for the client company.
The result was a clear picture of the pros and cons of the chosen technologies. Messaging hub got to a working product and its performance limits were tested. Resulting docker images and helm charts made it possible to quickly configure and set up a new instance of the hub onto Kubernetes. While most of the configuring was straight forward, there was also some difficulties.
The outcome was a success and gives the company a good choice for certain use cases, even though the hub would still need development if used in really high traffic projects.