Message queue-based communication in remote administration applications
Söderholm, Otto (2023)
Söderholm, Otto
2023
Julkaisu on tekijänoikeussäännösten alainen. Teosta voi lukea ja tulostaa henkilökohtaista käyttöä varten. Käyttö kaupallisiin tarkoituksiin on kielletty.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi-fe20231121148200
https://urn.fi/URN:NBN:fi-fe20231121148200
Tiivistelmä
This thesis presents an investigation of the use of message queues and message-oriented middleware in remote administration applications. Remote administration is an important aspect of modern computing that allows IT administrators to manage and maintain sys- tems without having to physically be present in front of them. This can save valuable time and resources, especially for organisations with multiple locations or distributed work forces. Remote administration covers both remote management, which includes monitor- ing, updating and configuring remote computers, and remote control, the controlling of a computer over a network.
The study begins by comparing various technologies available for implementing re- mote administration solutions, including their advantages and disadvantages. The re- search then narrows the focus to the use of message queues as a viable solution for im- plementing remote administration software and discusses the principles behind message- oriented middleware. Next, the thesis examines several different message queue software options, including Apache Kafka, RabbitMQ, and NATS, weighing their strengths and weaknesses in terms of performance, scalability, security, and ease of use. Ultimately, NATS is chosen as the best fit for the specific requirements of the project. The thesis then delves deeper into NATS, exploring its features such as security, user and role manage- ment, and scalability. By analysing the old remote management implementation based on SSH (Secure Shell), requirements for the new implementation are created with focus on scalability and security. The final chapter presents the new solution, including challenges such as over-the-air updates and automated user provisioning.
To evaluate the effectiveness of the new implementation, benchmarks are conducted comparing it to the previous SSH-based implementation. These benchmarks are designed to provide realistic results that can be used as a reference in real-world usage. To ac- complish this, the existing user interface is used during testing. The results of these benchmarks show that the NATS-based implementation is significantly faster than the old one, with improved throughput and reduced latency. This improvement is attributed to the use of message-oriented middleware, which moves authentication and connection opening from each sent message to the beginning of a session. As a result less time is required for sending actual payload data, which leads to better overall performance. The benefits of this approach are particularly noticeable when sending smaller payloads, as the
authentication process becomes a proportionally larger part of the sending process in the SSH-based solution. Overall, the use of message-oriented middleware allows for more efficient and effective communication between users.
In conclusion, the thesis demonstrates that using message queues and message-oriented middleware in remote administration applications can improve performance and reliab- ility. NATS is a viable technology for implementing communication in remote adminis- tration solutions and its use can lead to significant improvements over traditional methods.
The study begins by comparing various technologies available for implementing re- mote administration solutions, including their advantages and disadvantages. The re- search then narrows the focus to the use of message queues as a viable solution for im- plementing remote administration software and discusses the principles behind message- oriented middleware. Next, the thesis examines several different message queue software options, including Apache Kafka, RabbitMQ, and NATS, weighing their strengths and weaknesses in terms of performance, scalability, security, and ease of use. Ultimately, NATS is chosen as the best fit for the specific requirements of the project. The thesis then delves deeper into NATS, exploring its features such as security, user and role manage- ment, and scalability. By analysing the old remote management implementation based on SSH (Secure Shell), requirements for the new implementation are created with focus on scalability and security. The final chapter presents the new solution, including challenges such as over-the-air updates and automated user provisioning.
To evaluate the effectiveness of the new implementation, benchmarks are conducted comparing it to the previous SSH-based implementation. These benchmarks are designed to provide realistic results that can be used as a reference in real-world usage. To ac- complish this, the existing user interface is used during testing. The results of these benchmarks show that the NATS-based implementation is significantly faster than the old one, with improved throughput and reduced latency. This improvement is attributed to the use of message-oriented middleware, which moves authentication and connection opening from each sent message to the beginning of a session. As a result less time is required for sending actual payload data, which leads to better overall performance. The benefits of this approach are particularly noticeable when sending smaller payloads, as the
authentication process becomes a proportionally larger part of the sending process in the SSH-based solution. Overall, the use of message-oriented middleware allows for more efficient and effective communication between users.
In conclusion, the thesis demonstrates that using message queues and message-oriented middleware in remote administration applications can improve performance and reliab- ility. NATS is a viable technology for implementing communication in remote adminis- tration solutions and its use can lead to significant improvements over traditional methods.