Abstract:
Cloud computing and Internet of Things (IoT) brings various physical devices which generate and exchange data with the services promoting the integration between the physical world and the computer world into a single common page. Together they have been providing various applications, use cases and services over the past few years, that has made a significant benefit on both industrial applications as well as day to day needs of humans. On the other side of the coin, programming of the IoT based applications has become very challenging due to the vast knowledge base required in various technical domains, from lowpower networking to the embedded operating systems, from low level calculations to the distributed algorithms and so on. It is certain that a well designed, reliable and scalable, easy configurable and high performance Application Programming Interfaces (APIs) are much needed in this paradigm to offer sophisticated services for an IoT cloud. APIs are generally exposed to its consumers as service endpoints to get pre-defined jobs done, and are offering convenient ways for developers to design and implement applications as well as vendors (OEMs) to design and manufacture their devices. In this research I have mainly focused and discussed about the true challenges, issues and the concerns that we may face when designing and implementing high performance APIs for IoT cloud. I have also elaborated the technical and theoretical limitations come along with the performance issues in such APIs. Most importantly I have tried to design a platform for small start-ups who start developing their IoT based products with a limited knowledge, time, funds and resources so that they can build their products without worrying about the production level challenges in terms of scaling and performance once the business is grown up. This research will provide a solution for most of the challenges when it comes to IoT cloud in terms of self configurations and elasticity with auto scaling whilst keeping better performance. Considering the massive variety of devices and the resource constraints we have in IoT, an architecture has been proposed for devices to be self-configured to the maximum extent with the API. The proposed solution will have a well designed RESTful API which comes in plug-andplay mode with developer convenience, supporting horizontal scaling as and when needed. In a nut-shell this gives a framework which takes care of all the architectural level challenges and best practices in IoT cloud where the engineering team focuses more on the business and the product.