Hacker News new | ask | show | jobs
by alexandros 2509 days ago
Hey folks, balena.io founder here, just chiming in to mention that Chris is one of our Hardware Hackers in Residence, and if you think that doing HW projects with all sorts of cool technologies and writing them up for the world is your dream job, we're hiring! https://balena.workable.com/j/27A101659C

Happy to answer any balena (or train station sign) related questions, of course :)

6 comments

No question, just wanted to say thank you for Etcher.
This is exactly where my mind went when I first saw this. Thanks for the balenaEtcher AppImage!!!
I haven't used balena but I have worked with other IoT SAAS companies in the past. All these services seem rather expensive for what you get. Other than creating an easy way to push OS updates to field devices what would I get from your service?
You can't ask a founder this and not expect a pitch, so here goes:

Having built a similar bespoke stack in the past, Balena would have been a steal! It gives you the development, provisioning, build & deployment, configuration, management, and even remote debugging workflows out of the box. On top of that, it's built to require web/cloud developer skills, not embedded skills.

To do that, we have created several companies worth of infrastructure, from a cross-architecture container build system, to a bespoke OS supporting many device types, customized docker engine for embedded use cases, container deltas for bandwidth saving, etc. Even simple things like "how do I make sure my device gets DNS in an arbitrary home network" are incredibly tricky, and balenaOS gets it right almost always.

Which brings me to my next point. We are fanatical about support. We take responsibility for our customers succeeding, which means we constantly find and improve sources of friction. Using Balena gets you that backup team, but most importantly gets you hooked up to the flow of improvements we make all the time. Cloud companies charge $15 per server per month for various devops type services. We do very similar things but for devices that are smaller, more diverse, in tougher conditions, with less reliable networking, and ask for just $1 per device per month.

In other words, when I was in the shoes of our customers, producing even a fraction of the value and piece of mind that Balena provides in house took a lot of work, which was money, and that's not accounting for the time and risk of not getting there in the end. If I found myself in that situation again, knowing Balena and not using it would essentially be negligent. Our most fanatical customers are those who have tried to build something like it themselves, because infrastructure is so easy to underestimate.

Note: I am in no way affiliated to balena, only a happy customer.

As a long time customer of balena, I can assure they are a ton for what you pay for.

* faster development times: git push and your code is built and compiled in their cloud (with real ARM servers), and downloaded from your devices. Doing CI/CD for iot is a great experience with balena.

* the support is tremendous: several times I found very specific use cases that failed or wasn't what the balena APIs where expecting, and after contacting the support, they even put me directly with the developers in charge of those areas to discuss if it makes sense to add it as a feature to balena, or if they can provide me a workaround

* again, the support: I have around 10 years of experience with Linux derived systems, but some things still are black magic to me (like debugging problems with aufs partitions). The support of balena goes to the deepest level possible to solve your problem, even if you aren't in the private support tier. You just enable access to your board to support and they get inside and try to find the problem. It's truly amazing. They are even open to discuss how to improve what they are giving you or the tools.

* total control of your fleet: need to set a flag for a client? Just set an environment variable from the api or the dashboard and each device will update its state when they come back online

* amazing tools: the balena dashboard feels as polished as their other projects, like etcher, if not even more. Any kind of need you have (remote access to the device? Proxy to a port in the device? contact the supervisor of the device from a proxy inside their VPN?) they give to you.

And even more, but this is already a long post.

Hey I just had a quick question.

I have been looking at building a project on Balena OS and raspberry pi 0 W. I want to deploy it in a hard to get to place and don't want to have to replace the SD card for a good amount of time.

I was wondering if Balena OS with Balena cloud managing it puts more or less strain the the sd card write cycles than Raspbian.

Chris's application seems to write little or nothing to the sd card so in your experience how would it last? A couple years?

Hey, balenaOS has been designed for long term deployment. As such, we have a read-only partition for the hostOS. We also have a second host partition so we can update the OS remotely and atomically. In general, we've tuned all sorts of elements in this direction as our customers really don't want to run around collecting sd cards from all over the world.
Thanks, Have you done any testing on the effect of something like leaving persistent logging on vs off. I know that writes to the state partition which is not read only.

Is there a way to push device logs to another service to keep track of them long term?

How did you come up with the pricing model of essentials vs micro-services?

Persistent logging is only there for cases we need to debug something, in other words where it's the only choice. Even so, it writes to a circular buffer so it should be reasonably safe. But it's not intended to be on by default, more like an emergency measure. We do push logs to our server to some degree, and some customers use proper devops platforms to manage their logs, but we definitely want to do more in the future.

The pricing model is along the lines of "essentials is for people looking for a better OTA solution whereas microservices is for people who consider their devices mini-servers". So it's more a difference of perspective of the customer that allows us to group features and give more to the one crowd without alienating the other crowd with high prices. Not sure if that makes sense.

Cool project thank you for sharing it! I was checking out BalenaCloud and BelenaOS and noticed you support more advanced embedded devices (such as the pi) but are there any plans on supporting lower cost IoT devices? Similar to Azure IoT hub, Amazon FreeRTOS IoT, etc?

In either case I can completely see the value in these IoT SaaS services. A lot of companies I see which want to get into IoT are experts in their own field - not networking. It is very easy to underestimate how much work it is getting everything up and running which is required for a product. You can always roll your own cloud solution later on once you gain the expertise and market fit.

We're currently focused on devices that can run Linux. The smaller devices are a different kind of challenge, and while we do have some ideas about how to achieve the same level of developer experience for them, it's not out yet. :)
That job looks amazing and makes me wish I wasn’t terrible at soldering.

Thanks so much for Etcher, btw - it’s the only GUI software for flashing Pi images to SD that I’ve had good luck with on Mac.

Hey, been a while. Glad things look to be going well.

This job looks awesome. Is it full time? I assume it is but worth asking.

Yup.