The application deployed in the cloud is one of the most ﬂexible element of the internet of things because, essentially, all of the logic, rules and usage properties that are needed for the speciﬁc industry is built inside the application. Theoretically,the best and most secure development practice would be to only allow developers to build application in the cloud. Everything else, such as communication, security, device management and many more features, would already be provided by the platform provider.
This scenario is however less realistic because of the complexity and wide variety of device usage and the lack of uniﬁed frameworks. In most cases the applications are written in Java or .NET, however with containerization frameworks such as Kubernetes or Cloud Foundry, it is possible to use other languages for the application.