SmartSDK is not only developing some applications using FIWARE, but also working towards the improvement of FIWARE Applications development as a whole. With this purpose, in late 2016 we started the development of reusable tools and recipes to enable typical architecture patterns, bringing for example benefits like fault tolerance and high availability to deployed applications. In the early stages of the project, recipes are aimed at the most common Generic Enablers of the Data Management and IoT chapters. However, the final toolbox is expected to be extended to cover many other parts of FIWARE.
The underlying technology we chose for the development of these recipes is Docker. We like Docker both because it is simple to use and because it makes deployment and management of applications simpler. And this simplicity goes well in line with the goals of the project. Since day 1 of the project we’ve been exploring the latest features from docker, docker-compose and swarm, docker’s native tool for managing clusters of docker engines. The end of 2016 brought out a couple of new and powerful docker versions with an embedded swarm mode adding orchestration capabilities and a better integration with docker-compose.
Taking advantage of these features, we have been experiencing creating docker swarm clusters and testing deployment scenarios of different FIWARE Generic Enablers and combinations of those. The first steps have already started at this GitHub repository and there is much more to come in 2017. The path is Containerizing what is not yet containerized and automating what is not automated!. If you are using FIWARE and have some things in mind you would like to either improve or automate, take your step and get in touch!