openBalena – IoT management platform for Linux devices
Balena, formally known as Resin.io has released an open source version of its IoT fleet management platform for Linux devices called openBalena. It is aimed at Intel NUC, Jetson TX2, Raspberry Pi, and a new RPi CM3 carrier called the balenaFin. Resin.io aimed to create a “git push for devices” and develop lightweight Docker containers for Linux devices to create easy security updates and IoT device management. Ever since, it has expanded beyond that to provide an in-depth, scalable platform for IoT fleet management. The company announced a name-change to Balena in conjunction with the release of an open source openBalena version of its software.
The change of name is due to trademark issues, to cannabis references, and to people mishearing it as ‘raisin
explained the founder and CEO Alexandros Marinos in a blog announcement.
The new branding is based on the company’s balena container engine, now called balenaEngine, which derives its name from the engine’s underlying Moby Project container technology. The openBalena is an open source version of the Resin.io server/cloud platform for managing fleets of Linux-based IoT devices, now referred to as balenaCloud. The open source ResinOS distro is now referred to as balenaOS. Resin.io’s Etcher software for fast image writes to flash drives is now called balenaEtcher and the Project Fin carrier board for the Raspberry Pi Compute Module, which is now available starting at $129, is now called balenaFin.
The balenaOS is an open source spinoff of the container-based device software that works with balenaCloud, the new openbalena, on the other hand, is an open version of the balenaCloud server software. Users can now choose between letting balena manage their fleet of devices or building their own openBalena based server platform that manages fleets of devices running balenaOS. openBalena is a limited feature version of the commercial product. However, the components shared by both commercial and open versions are closely similar.
According to “Marinos”, this will allow them to release updates for the project as they update their cloud product, while also allowing open source contributions to flow back into the cloud product. The new deployment workflows and tools to enable this coordination will be announced soon.
openBalena has balenaCloud core features such as the powerful API, the built-in device VPN, as well as our spectacular provisioning workflow,
according to “Marinos”. It can also similarly scale to a large number of devices.
However, openBalena is single-user, instead of supporting multiple users. It’s controlled only through the already open sourced balena CLI tool rather than balenaCloud’s web-based dashboard, and it is void of “updates with binary container deltas.” Regarding the device aspect, openBalena incorporates the Yocto Project and Docker-based balenaOS. The client software has been updated to let devices more easily “join and leave a server”. This enables you set up your own openBalena server instead of being directed to balenaCloud. openBalena’s CLI allows you provision and configure devices, push updates, check status, and view logs.
Its backend features can securely store device information, enabling remote management via a built-in VPN service, and share container images to devices. On the server aspect, openBalena requires the following releases (or higher): Docker 18.05.0, Docker Compose 1.11, OpenSSL 1.0.0, and Python 2.7 or 3.4. The beta version of openBalena supports Raspberry Pi boards, Intel NUC boards, Nvidia Jetson TX2 module, and the new balenaFin. It seems it will eventually support the full list of devices supported by balenaCloud, like Samsung’s Artik boards, Variscite’s DART-6UL, Aaeon’s UP board, the Banana Pi M1+, BeagleBone, and BeagleBone Green/Green Wireless, SolidRun’s HummingBoard i2, the Odroid-C1/C1+ and Odroid-XU4, the Orange Pi Plus2, Technologic’s TS-4900, and Siemens’ IOT2000 gateway.