openBalena Production ready?

Hi @richbayliss,

First, I would like to thank you for the detailed answer! We very much appreciate it!

Second, I’d like to comment on your answers.

Is openBalena steady/robust enough to run on a server with multiple (hundreds) of devices?

This is a tricky one; it is the same base-code that we use in balenaCloud so by that definition it could be considered robust, however at this time we still consider it to be a Beta product when run standalone.

We understand it’s still in Beta. But the fact that it’s the base-code for balenaCloud, gives us confidence that openBalena isn’t going to be abandoned by you guys. openBalena Beta still works for us, with the side note that some (HostOS updates) are necessary to function properly.

Is it possible to SSH to any device that is connected to openBalena?

Yes, as you have described. Also there is a configuration environment variable `` which can be populated to represent the public SSH key to be pushed into all devices when they join your openBalena instance. It should be in Base64 format, and it would mitigate the use of the value in config.json.

I’d like to create an SSH key per-device. This enhances the security a little, because when the SSH key is compromised, only 1 device is compromised. I’ve asked that feature before, so I will test that of course. But this reaction seems like it is possible to push an SSH key to a device with version 2.44. I’ll comment in that thread to ask what this feature actually does.

Environment variables are supported, but also Service Variables?

Yes, why do you believe otherwise? If you’re having trouble with it via the CLI then I would recommend using the API directly inline with this documentation: https://www.balena.io/docs/reference/api/resources/device_service_environment_variable/

That’s my mistake. I thought I read it somewhere. But awesome!

Is a HostOS upgrade necessary when openBalena supports it?

At this point, without being able to do a HostOS upgrade, I wouldn’t personally deploy device where I couldn’t get that back to reflash in the future. This is part of the reason we consider openBalena to be in Beta.

That answer is clear. That’s the same thought we had. We’d like to start production around April 2020 for which this feature is necessary. I understand you can’t give an ETA, but we hope for the best!

What are the hardware requirements of running openBalena on a server?

Depends entirely on the load you expect it to run with; I have testing VPS instances with 2GB RAM and 2vCPU, and I do builds/development on VirtualBox VMs with about the same. If you have a lot of devices then I would expect your VPN memory usage to rise and require more. If you tunnel traffic over that VPN then it would require again, even more, but I cannot put a limit on this. My recommendation would be to provision a server that you can easily, and cost effectively, upgrade in the future.

We had a setup in mind with 4GB RAM and 2vCPU and 150GB SSD. This seems to us like a good start. We’d like to do the builds on other (local) servers / devices and the same for development. The server is very easily upgradeable, so that wouldn’t be an issue.

Only thing is, we expect to grow with 500/750 devices per year. Those aren’t all connected to internet, but let’s say 75% of them are. I know it’s not possible to translate number of devices into required hardware, but are there any numbers available on the average RAM/CPU usage per device?

What features are missing before going to production in your opinion?

The big one is HostOS upgrades. As a core team member for the open-source effort, this is certainly a topic which get’s a lot of discussion and is one which I think is really key - the purpose of openBalena is managing fleets of devices; we can push new software to them, but managing the base OS is just as important IMHO.

Totally agree.

It’s awesome to hear you’re a core team member of the open-source effort. Balena really helps start-ups like ourself to focus on developing devices instead of focussing on a fleet management system. It’s just not always possible for us to use cloudBalena for all of our projects, so openBalena is an awesome development! I hope you guys keep up the good work, and let me know if there is anything we could do to help!