Implementación de una arquitectura de microservicios para una red de sensores IoT sobre Arduino
Resumen
En este proyecto se analiza la viabilidad de utilizar una arquitectura de microservicios para gestionar una red de sensores conectados a una placa de Arduino. Para ello, se ha desarrollado una aplicación web de domótica que se apoya en una arquitectura de microservicios desplegada mediante Docker y Kubernetes para comunicarse con los sensores.
Las arquitecturas de microservicios están pensadas para ser pequeñas aplicaciones desplegadas en contenedores, que se comunican por medio de la red. Así, se diferencian de las arquitecturas monolíticas en el hecho de que la funcionalidad completa está distribuida en distintos microservicios, cada uno con una parte de esa funcionalidad global.
Para realizar el análisis propuesto en el proyecto, se han utilizado al máximo las ventajas que proporcionan las arquitecturas de microservicios frente a los sistemas monolíticos, además de aprovechar los beneficios de usar Docker y Kubernetes, en un entorno local.
Por tanto, se ha construido una arquitectura de microservicios completamente funcional, se ha programado una placa de Arduino para gestionar distintos sensores y LED aplicados a la domótica, y se ha desarrollado una aplicación web con Angular para proveer un dashboard de control con el que los usuarios de los sensores pueden interactuar y obtener información en tiempo real y datos anteriores almacenados en base de datos.
Las tecnologías y metodologías utilizadas en este proyecto son bastante modernas en el ámbito del desarrollo de software, y están relacionadas con IoT, Cloud Computing y domótica. Como resultado principal del proyecto, se tiene que utilizar una arquitectura de microservicios para el caso de uso elegido es totalmente factible e incluso ofrece más ventajas que una arquitectura monolítica. This project analyzes the feasibility of using a microservices architecture to manage a network of sensors connected to an Arduino board. For this, a home automation web application has been developed that is supported by a microservices architecture deployed using Docker and Kubernetes to communicate with the sensors.
Microservices architectures are intended to be small, containerized applications that communicate over the network. Thus, they differ from monolithic architectures due to the fact that the complete functionality is distributed in different microservices, each with a part of that global functionality.
In order to carry out the analysis proposed in the project, most of the advantages provided by microservices architectures compared to monolithic systems have been used, in addition to the benefits of using Docker and Kubernetes, in a local environment.
Therefore, a fully functional microservices architecture has been built, an Arduino board has been programmed to manage different sensors and LED applied to home automation, and a web application has been developed with Angular to provide a control dashboard to let users interact and obtain real-time information about their sensors and previous data stored in databases.
The technologies and methodologies used in this project are quite modern in the field of software development, and are related to IoT, Cloud Computing and home automation. As a main result of the project, implementing a microservices architecture for the chosen use case is totally feasible and even offers more advantages than a monolithic architecture.
Trabajo Fin de Grado
Implementación de una arquitectura de microservicios para una red de sensores IoT sobre ArduinoTitulación / Programa
Grado en Ingeniería en Tecnologías de TelecomunicaciónMaterias/ UNESCO
33 Ciencias tecnológicas3325 Tecnología de las telecomunicaciones
Palabras Clave
IoT, microservicios, Kubernetes, Docker, Arduino, CloudIoT, microservices, Kubernetes, Docker, Arduino, Cloud