Next-generation, data centric and end-to-end IoT architecture based on microservices