High availability services in microcloud@home with Cloudy on several Raspberry Pi

The goal is to have high availability of the services we deploy at home in case any of the Raspberry Pi gets disconnected.
The hardware we used were three Raspberry Pi.

The solution to achieve high availability consisted of a set of software components, hardware and open technologies, i.e. Raspberry, Cloudy, Docker, Swarm, Node-Red, Mosquitto, keepalived, syncthing, which we integrated to make up the local microcloud, an infrastructure that we can run at home.
We use keepalived to have a floating IP to access the cluster services in the event of a node failure.
The configuration of the containers is replicated with the SyncThing software.

The obtained microcloud offers high availability to any Docker service that we execute on the nodes and has the following characteristics:

– It is scalable and flexible, allowing us to add more nodes, internal or external, to adjust the resources of the microcloud to our needs.
– Thanks to the technology of Docker Swarm, it allows executing complex distributed systems of pre-configured services from a single configuration file.
– It gives us full control over our services.
– It gives us full control over our data.
– The cost is less than 50 Euros per computing node.

Reference (in Spanish):
José Elías Rael Gutierrez: Diseño e implementación de una microCloud abierta para IoT

Cloudy 2017.12 Skywhale + Docker, Docker Compose, IPFS

Cloudy 2017.12 Skywhale release

We are very happy to announce the imminent release of Cloudy 2017.12 Skywhale on December 2017!

During the past months, and thanks to the support of the netCommons project, we have been able to further develop Cloudy and include several new and exciting features. Among them we would like to highlight:

As a result of these integrations, Cloudy now leverages the Docker containerization technology and Community Network users can launch their favourite or the predefined Docker images in a few clicks, from their browser. This rapid application provision allows room for new, very dynamic ways to deploy services and share resources in a digital community. For example, an instance of the Mosquitto broker can be quickly launched to start collecting, managing and processing data from IoT (Internet of Things) sources. In parallel to this, IPFS is now used in Cloudy as part of the DADS – Distributed Announcement and Discovery Service. This allows room for announcing from within a Cloudy instance an arbitrarily large amount of services and data to other Cloudy instances in an efficient and convenient way.

Furthermore, the Cloudy codebase and its different packages have been updated to the latest Debian 9 Stretch release, while keeping compatibility with the previous version. In addition, several features have been added to the platform or improved and a few bugs have been squashed.

We are looking forward for your comments at the Cloudy mailing lists!

IoT data collection with Mosquitto broker in Docker container

A Mosquitto broker has been deployed within a Docker container from the Cloudy’s GUI and is published in the microcloud.

IoT data from sensors within the microcloud can be sent to the broker. In addition, a gateway to FIESTA-IoT (http://fiesta-iot.eu/) fetches periodically external sensor data from diverse IoT testbeds.