En este Trabajo de Fin de Grado se ha montado una arquitectura completa usando FIWARE, pensada para simular el funcionamiento de un supermercado inteligente. Para que el sistema pudiera considerarse listo para producción, se han hecho varias mejoras sobre el tutorial original, añadiendo seguridad, persistencia de datos, monitorización y control de acceso.
Todo el ecosistema se ha desplegado usando Docker Swarm, organizando los servicios en módulos funcionales y aislándolos mediante redes overlay. Se han utilizado herramientas como Keyrock y Wilma para gestionar usuarios y permisos, y se ha montado un sistema de monitorización con Prometheus, cAdvisor y Grafana, que permite ver en tiempo real tanto el estado del sistema como el de los sensores simulados del supermercado.
También se han aplicado prácticas como el uso de Docker Secrets, certificados HTTPS autofirmados, healthchecks y volúmenes persistentes. A través de los dashboards creados en Grafana se ha podido estimar cuántos recursos necesita cada servicio, ajustando los límites para que el sistema funcione de forma eficiente.
Aunque el despliegue se ha hecho con dispositivos simulados, el sistema está preparado para funcionar con hardware real y escalarse en caso de que se quiera extender a otros escenarios o integrar con plataformas externas.
Abstract:
This Final Degree Project presents the deployment of complete FIWARE-based architecture to simulate the operation of a smart supermarket. The original setup has been improved to make it suitable for production by adding security, data persistence, monitoring, and access control mechanisms.
The whole system runs on Docker Swarm, with services organized into separate modules and connected through overlay networks. Keyrock and Wilma are used for identity and access management, while Prometheus, cAdvisor and Grafana handle system and device monitoring, offering real-time dashboards and alerts.
Practices such as Docker Secrets, self-signed HTTPS certificates, healthchecks, and persistent volumes have been applied to ensure a secure and resilient environment. Based on the metrics gathered, the required resources for each service have been estimated and adjusted accordingly.
Although the deployment uses simulated devices, the system is ready to be extended with real IoT hardware and can scale up to more complex scenarios or integrate with external platforms if needed.
En este Trabajo de Fin de Grado se ha montado una arquitectura completa usando FIWARE, pensada para simular el funcionamiento de un supermercado inteligente. Para que el sistema pudiera considerarse listo para producción, se han hecho varias mejoras sobre el tutorial original, añadiendo seguridad, persistencia de datos, monitorización y control de acceso.
Todo el ecosistema se ha desplegado usando Docker Swarm, organizando los servicios en módulos funcionales y aislándolos mediante redes overlay. Se han utilizado herramientas como Keyrock y Wilma para gestionar usuarios y permisos, y se ha montado un sistema de monitorización con Prometheus, cAdvisor y Grafana, que permite ver en tiempo real tanto el estado del sistema como el de los sensores simulados del supermercado.
También se han aplicado prácticas como el uso de Docker Secrets, certificados HTTPS autofirmados, healthchecks y volúmenes persistentes. A través de los dashboards creados en Grafana se ha podido estimar cuántos recursos necesita cada servicio, ajustando los límites para que el sistema funcione de forma eficiente.
Aunque el despliegue se ha hecho con dispositivos simulados, el sistema está preparado para funcionar con hardware real y escalarse en caso de que se quiera extender a otros escenarios o integrar con plataformas externas.
Abstract:
This Final Degree Project presents the deployment of complete FIWARE-based architecture to simulate the operation of a smart supermarket. The original setup has been improved to make it suitable for production by adding security, data persistence, monitoring, and access control mechanisms.
The whole system runs on Docker Swarm, with services organized into separate modules and connected through overlay networks. Keyrock and Wilma are used for identity and access management, while Prometheus, cAdvisor and Grafana handle system and device monitoring, offering real-time dashboards and alerts.
Practices such as Docker Secrets, self-signed HTTPS certificates, healthchecks, and persistent volumes have been applied to ensure a secure and resilient environment. Based on the metrics gathered, the required resources for each service have been estimated and adjusted accordingly.
Although the deployment uses simulated devices, the system is ready to be extended with real IoT hardware and can scale up to more complex scenarios or integrate with external platforms if needed. Read More


