You may not have heard of Docker, unless you happen to be involved in Linux DevOps, in which case you’re probably sick of hearing about Docker. It is, in essence, a way of controlling what’s running on machines remotely, by managing things called containers. To avoid going down a geek-rabbit-hole, we’ll leave the technical description there. Docker’s been pioneered by people who run large numbers of services, as this technology (along with a few similar alternatives) has made it easy to keep software running and up-to-date on a large number of machines.
It turns out that the basic problems faced by people managing data centres are very similar to the problems faced by people managing Internet of Things networks. If you’ve got tens or hundreds of machines scattered about the place, how do you manage them? What do you do if you update your software? Or want to run a new bit of software on each machine?
Docker is a bit of software, not a bit of hardware, but it does bring in a few hardware requirements. Firstly, you need to run Linux – Docker requires some features of the Linux kernel in order to work, and while there are some hacks that let it work on Windows and macOS, these aren’t things to rely on in production. There’s no real equivalent for it on microcontrollers.
Prepare to dock
So, if Docker is a bit of software, why have we spent so long talking about it in a review of a bit of hardware? Well, balena hosts infrastructure that’s designed specifically to run Docker on embedded Linux boards, and while the firm’s software supports a wide range of hardware, the Fin is its board designed to bring the ultimate experience to the embedded Docker world.
At the heart of the Fin is a Raspberry Pi Compute Module. This brings the Pi 3B+ system, along with the software and hardware support (the Fin breaks out the GPIO pins so you can fit HATs as usual) that come with it. On top of this, it brings in robust eMMC storage (8–64GB), a power supply that can take a wider range of voltages (5–24 V), a mini-PCIe and SIM card slot for cellular connectivity, a real-time clock, and a microcontroller that can turn the Compute Module on and off, and do its own processing for low-power applications.
This all adds up to a very capable embedded board that – thanks to what it inherits from the Raspberry Pi – has a great community and ecosystem around it. All this comes at a price – from $154.80 for the 8GB version to $238.80 for the 64GB version. In both cases, you’ll need to add on $35 if you need the Compute Module as well. While this is an order of magnitude more than hobbyist boards, the Fin is designed, specced, and built to be industrial level.
The balenaCloud web interface provides you with a place to manage all your boards using balena, (whether they’re Fin or other Linux boards, such as Raspberry Pi). Your first ten devices are free, but beyond that, you’ll need a monthly account which starts at $99 + VAT for 20 devices. There’s also openBalena that’s free to use, but limited to command-line control (rather than the web-based interface of the balenaCloud).
While the system does let you use the vast ecosystem of Raspberry Pi software, you will have to be familiar with Docker to wrap it up for this hardware. Docker isn’t too complex to use – especially by system administration standards. If you’re running, or planning to run, a large fleet of embedded devices, then learning Docker is a small price to pay to help your software install, run, and update smoothly across a wide range of devices. If you’re only ever planning on running one or two, it’s an unnecessary extra hurdle.
The balenaFin is unashamedly an industrial-level product – the marketing bumpf calls it ‘a board for fleet owners’. The hardware is robust, and there are commercial plans for the software with differing levels of support with guaranteed response-time service level agreements – exactly what you want if your business relies on your IoT network running.
This comes with a price tag that puts it out of reach of most hackers and makers – for most hobbyists, the cost is hard to justify over, say, a Raspberry Pi 3B+ (with perhaps an additional microcontroller for real-time hardware control like the coprocessor does on the Fin). That’s OK: no one board will work for everyone, and the needs of hobbyists and professionals are quite different. What the Fin does mean is that, if you ever want to take your hobby projects and expand them into the professional world, there’s an easy path through from the Pi in your workshop to enterprise-grade IoT.
There’s no other Linux board we know of that manages to bridge the two worlds of hobbyist and professional in quite the same way: the hobbyist world brings in hardware and expansion modules that are easy to use, and the professional world brings in a design and infrastructure that’s designed to be easy to run and maintain.
Balena From $154.80 Balena.io/fin
Brings the power of the Raspberry Pi ecosystem to a professional IoT setup.