Microservices approach for the internet of things

The microservice approach has created a hype in the domain of cloud and enterprise application business. Before, grown, monolithic, software has been pushed to the limits of maintainability and scalability. The microservice architecture approach utilizes the service oriented architecture together with best practices and recent developments in software virtualization to overcome those issues. One monolithic application is split up into a set of distributed services. Those are strongly decoupled to enable high maintainability and scalability. In this case an application is split up in a top down manner. In the internet of things, applications need to be put together from a set of small and independent services. Thus, creating value added services would require to freely combine services of different vendors to fully make use of the IoT's heterogeneity. Even though the direction is different, many of the requirements in microservices are similar to those of the internet of things. This paper investigates patterns and best practices that are used in the microservices approach and how they can be used in the internet of things. Since the companies using microservices have made considerations on how services have to be designed to work together properly, IoT applications might adopt several of these design decisions to improve the ability to create value added applications from a multitude of services.