Live data from Hacker News

Launch HN: Deviceplane (YC W20) – Update and Manage Devices Running Linux

news.ycombinator.com

51–60 of 68 posts

Re: Launch HN: Deviceplane (YC W20) – Update and Manage Devices Running Linux

#51

I tried to enroll a server into deviceplane but there is a hard requirement on systemd. Are there any plans in the future to support more linux distributions?

Our agent will support nearly any Linux distro, even though our installation script only supports systemd at the moment. We've really wanted to add OpenRC support to our installation script for a while but haven't gotten to it yet. If you know your init system well, you could always write your own service file. Here's the unit file for systemd as a reference: https://github.com/deviceplane/deviceplane/blob/master/ins…

A OpenRC script should be fairly simple, as should a script for the modern van Smoorenburg rc in Debian. They are both largely just scripts of variable=value assignments.

* https://manpages.debian.org/unstable/sysvinit-utils/init-d-s...

* https://sources.debian.org/src/opendnssec/1:2.0.4-3/debian/o...

Re: Launch HN: Deviceplane (YC W20) – Update and Manage Devices Running Linux

#52
post #50

Earlier quoted context omitted.

Our agent will support nearly any Linux distro, even though our installation script only supports systemd at the moment. We've really wanted to add OpenRC support to our installation script for a while but haven't gotten to it yet. If you know your init system well, you could always write your own service file. Here's the unit file for systemd as a reference: https://github.com/deviceplane/deviceplane/blob/master/ins…

> nearly any Linux distro The service file for systemd looks pretty simple, so that's probably not a problem to port to some other init system. But what's in the "nearly" above, do you have some other concrete requirements for the distro? Any technical reason very small busybox-based systems would be unable to support your agent? Deviceplane sounds like a very good idea for a niche that really needs something like it…

    % printf '1,$s/^KillMode/#&/\nw\n' | ex ./deviceplane.service
    %
    % /package/admin/nosh/command/system-control convert-systemd-units --no-systemd-quirks ./deviceplane.service 
    convert-systemd-units: WARNING: ./deviceplane.service: Unused setting: [service] delegate = yes
    convert-systemd-units: WARNING: ./deviceplane.service: Unused setting: [service] tasksmax = infinity
    convert-systemd-units: WARNING: ./deviceplane.service: Unused setting: [service] timeoutstartsec = 0
    convert-systemd-units: WARNING: ./deviceplane.service: Unused setting: [unit] documentation = https://deviceplane.com/docs/
    % 
    % /package/admin/nosh/command/system-control print-service-scripts ./deviceplane                            
    start:#!/bin/nosh
    start:#Start file generated from ./deviceplane.service
    start:true
    stop:#!/bin/nosh
    stop:#Stop file generated from ./deviceplane.service
    stop:true
    run:#!/bin/nosh
    run:#Run file generated from ./deviceplane.service
    run:#Deviceplane agent
    run:hardlimit -o infinity -c infinity -p infinity
    run:softlimit -o hard -c hard -p hard
    run:/usr/local/bin/deviceplane-agent --controller=https://example.com:443/api --project=example --registration-token=example
    restart:#!/bin/sh
    restart:#Restart file generated from ./deviceplane.service
    restart:sleep 5s
    restart:exec true # ignore script arguments
    %
Delegate=yes is ignored because I did not run this on a Linux operating system.

* http://jdebp.uk./Softwares/nosh/worked-example.html

* http://jdebp.uk./FGA/run-scripts-and-service-units-side-by-s...

Re: Launch HN: Deviceplane (YC W20) – Update and Manage Devices Running Linux

#53
post #8

This sounds really neat, and exciting that it has a self-hosting option as well! Raspberry Pis seem to generally be pets instead of cattle, and combined with the ease at which they seem to torch their file systems, a good management solution for them sounds really appealing. Do you foresee a business model applying to self-hosters? If your business is going to focus on the service, do you have a plan to avoid AWS/Azu…

> Raspberry Pis seem to generally be pets instead of cattle This is a great comment, and maybe a point we should have directly made in the launch post. Devices are certainly more like pets. If you push an update that breaks a device, you'll have an angry customer calling you rather than just being able to spin up a new EC2 instance! We certainly predict self-hosting being a core part of our business model. This isn't…

I assumed the pets/cattle comment was a reference to https://github.com/cattlepi/cattlepi

Re: Launch HN: Deviceplane (YC W20) – Update and Manage Devices Running Linux

#54

What about Balena? How are you different or the same?

Great question! We're in the same space as Balena and tackling some of the same problems, but with a different approach. Here are some of the big ways we defer from Balena (though these points really just scratch the surface). Balena ties you into their ecosystem a bit too much. They require you to use BalenaOS which means they only support a fixed number of devices. In contrast, Deviceplane can be used with any Linu…

I looked at Balena for my project but being tied so tightly to their eco-system and not being able to use it with regular Raspbian really put me off. However, one feature that looked useful was the ability to have one service per container and have them tied all together with docker compose. Do you support that architecture or does Deviceplace manage a single docker container which must contain all the services bundled together?

I do agree that the openBalena install docs are not great. To me they sound like a bunch of separate hacks all stuck together.

Re: Launch HN: Deviceplane (YC W20) – Update and Manage Devices Running Linux

#55

Congrats on the launch! This is perfectly timed since I’m currently evaluating device management solutions for Hiome’s IoT device fleet ( https://hiome.com ) Currently, we use Mender (mender.io) but are considering switching. Pros for Mender: * great pricing for consumer products at around $0.50/device/mo * lets us keep using Raspbian on our Raspberry Pi fleet The cons however are that we are stuck with Raspberry Pi…

Hello Neil, Thank you for using Mender! Since I’m directly involved with the development of the GUI I’m sorry to hear that you found an issue with it. However I'm all ears and would like to get this fixed asap, so please let me know using hub.mender.io, the support@hosted.mender.io address you already know or find my address in my profile.

Re: Launch HN: Deviceplane (YC W20) – Update and Manage Devices Running Linux

#56
post #55

Congrats on the launch! This is perfectly timed since I’m currently evaluating device management solutions for Hiome’s IoT device fleet ( https://hiome.com ) Currently, we use Mender (mender.io) but are considering switching. Pros for Mender: * great pricing for consumer products at around $0.50/device/mo * lets us keep using Raspbian on our Raspberry Pi fleet The cons however are that we are stuck with Raspberry Pi…

Hello Neil, Thank you for using Mender! Since I’m directly involved with the development of the GUI I’m sorry to hear that you found an issue with it. However I'm all ears and would like to get this fixed asap, so please let me know using hub.mender.io, the support@hosted.mender.io address you already know or find my address in my profile.

Hi Manuel, thanks for the comment. I reached out a few times to support and never heard back. It does look like most of my issues were quietly resolved later, but we ended up abandoning the dashboard and using the API directly for a lot of tasks. If I'm being honest, I don't have a lot of confidence in Mender's reliability due to those experiences. However, it's mender-convert's limited device list that is really driving the search for an alternative.

Re: Launch HN: Deviceplane (YC W20) – Update and Manage Devices Running Linux

#57

Congrats on the launch! This is perfectly timed since I’m currently evaluating device management solutions for Hiome’s IoT device fleet ( https://hiome.com ) Currently, we use Mender (mender.io) but are considering switching. Pros for Mender: * great pricing for consumer products at around $0.50/device/mo * lets us keep using Raspbian on our Raspberry Pi fleet The cons however are that we are stuck with Raspberry Pi…

Hiome looks cool, but that's quite the expensive occupancy sensor!

Thanks, our beta customers love them so far! Regarding price, each occupancy sensor is $79. These are high accuracy thermal sensors with local machine learning that can count occupancy. For comparison, a standard PIR motion sensor that can only tell you if there was motion in the last 30 seconds costs around $50 from Philips Hue or Eve. We think the price is very fair! :)

Re: Launch HN: Deviceplane (YC W20) – Update and Manage Devices Running Linux

#58

Earlier quoted context omitted.

Thanks! > However, as far as I can tell, you only support application updates, not OS-level updates. For now this is true. People using Deviceplane today upgrade their underlying OS via the mechanism provided by their distro. On Debian-based systems this means running something like `apt-get dist-upgrade`. Deviceplane provides the tools to rollout this upgrade across your devices, but we're not hands-on past that. We…

To add on to what Josh said, re: OS updates, we have functionality for bulk scripting ( https://deviceplane.com/docs/operating/command-scripting/ ) to help you roll out host-level updates to your devices. We're also interested in hearing your thoughts on pricing, shoot us founders@deviceplane.com, and let's talk about it!

Thanks Josh and Cyrus! The bulk scripting looks super handy and definitely addresses half my concern with OS updates. The other half is being able to roll-back if something goes wrong during the update.

Sent you an email!

Re: Launch HN: Deviceplane (YC W20) – Update and Manage Devices Running Linux

#59
post #55

Earlier quoted context omitted.

Hello Neil, Thank you for using Mender! Since I’m directly involved with the development of the GUI I’m sorry to hear that you found an issue with it. However I'm all ears and would like to get this fixed asap, so please let me know using hub.mender.io, the support@hosted.mender.io address you already know or find my address in my profile.

Hi Manuel, thanks for the comment. I reached out a few times to support and never heard back. It does look like most of my issues were quietly resolved later, but we ended up abandoning the dashboard and using the API directly for a lot of tasks. If I'm being honest, I don't have a lot of confidence in Mender's reliability due to those experiences. However, it's mender-convert's limited device list that is really dri…

Hi, I am also working with the Mender project and we have been in touch earlier.

The device support for mender-convert will be drastically widened (actually, there will not be any limit as such) in the Mender 2.3 release, beta ETA in a week or two and final in March. But you can already test it with the development branch today: https://docs.mender.io/development/devices/debian-family

There will also be stock converted images for the most common development boards.

Let us know what you think!

Re: Launch HN: Deviceplane (YC W20) – Update and Manage Devices Running Linux

#60

My biggest pain point with Balena in my previous job was that it used Docker; it's unfortunate that most of the solutions in this space (including Deviceplane) seem to do so. It's not really ideal in a number of installations to be pulling down 1GB Docker images simultaneously from 20 devices when you push an update. I'd be really interested in seeing a system based around Git and something like buildpacks instead. I…

I'm involved with Mender which focuses on OTA updates and does not limit the type of update you can deploy, some popular choices: * full system image (with robust a/b layout for rollback support, can also do delta updates to reduce bandwidth with 70-90%) * docker containers * single files or directories * deb packages

You can see the ones OOTB here: https://hub.mender.io/c/update-modules

Also, you can write your own update type if you have a more custom use case: https://docs.mender.io/2.2/devices/update-modules

Does that make sense? Git and buildpack support is not yet OOTB but should be fairly simple to add with a new update module. Note however, that those type of updates may not be easy to roll back (or make atomic - meaning you can get partially installed updates and bricked devices/applications if you lose power).

Post reply on HN