In this update we’re going to demonstrate a Circumference C25 - the eight Raspberry Pi node, one UDOO x86 front-end process (FEP) version of the Circumference - running a Docker Swarm to quickly scale a workload up from one node to eight and back again.
One of the most popular containerisation platforms, Docker, allows for the creation, distribution, and execution of containers - a virtual bundle which allows for almost any software to be run on almost any platform. In its more recent releases, Docker has added the Swarm feature - previously requiring external software - which allows a Docker Manager node to handle services across any number of worker nodes. It’s this Swarm feature that makes Docker a great match for the Circumference family.
The following live video demonstration takes place on a Circumference C25 to which a small amount of preparation work has been carried out: Docker has been installed on all eight Raspberry Pi nodes, a Docker Swarm created, and all nodes joined to the Swarm with CC1 - the first Raspberry Pi node in the cluster - taking on the management role. The video is captured live from the HDMI output of the UDOO x86 FEP, which uses the Cluster Control Daemon (CCD) to handle power distribution and cooling. At the time the video starts, we’re logged into the FEP with all other cluster hardware powered off.
While this demonstration is at the very simplest end of what Docker Swarms can do, it offers a glimpse of just how easy it is to deploy, scale, and manage services on a Circumference cluster using Docker’s built-in tools. The simple web server example is enough to create a functional use-case, too: if you scale the service to all eight nodes, as in the video, the FEP can host a load balancing utility like HAProxy to turn a Circumference C25 into a surprisingly low-power web server with a total of 32 processing cores and 8 GB of RAM - and if a single node were to fail, the others can pick up the slack invisibly to the user.
-Gareth and the Circumference Team