Live data from Hacker News

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

news.ycombinator.com

1–10 of 68 posts

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

#1
Hey Hacker News! We're Josh, Sean, and Cyrus from Deviceplane (https://deviceplane.com/).

Deviceplane is an open source device management tool for embedded systems, IoT, and edge computing. More specifically, we manage any device running Linux. These can be found in many different categories of hardware such as single-board computers (Raspberry Pis, Jetson Nanos), IoT devices/gateways, and servers running at the edge.

The use cases for Linux devices span many different verticals/industries: robotics, consumer appliances, drones, autonomous vehicles, medical devices, and much more. Your first thought might be that a tool for managing robots and a tool for managing medical devices are quite different, but after talking to a variety of companies, we've found that the pain points across these industries are actually quite similar!

Deviceplane solves the biggest infrastructure problems for these use cases:

  - Orchestrating and deployment of remote updates
  - Network connectivity and SSH access
  - Host and application monitoring
  - Device organization: naming, labeling, searching, and filtering of devices
  - Access and security controls
Deviceplane is designed to support a variety of hardware, from small embedded devices to large x86 servers. Today’s tooling ecosystem suffers from being segmented by hardware size.

For smaller devices, the Yocto project is popular. While it's good for building custom Linux installations, it has downsides for delivering applications. It's hard to understand, can take hours to compile, and solves only a portion of the problems present in device management.

For larger devices, many companies seem to build and maintain their own internal tooling. We've seen everything from systems built around configuration management to scripts polling for new Debian packages in S3. These systems are usually brittle, fall short of a complete feature set, and drain precious engineering resources with their maintenance.

We think Deviceplane is a great replacement for all of these. Not only is it suitable for all of these hardware sizes, it also presents a way to standardize the tooling across them.

One of our goals with Deviceplane is to make device management more accessible to developers. To do this, we build on technologies and concepts popularized in cloud deployments:

  - Applications are packaged as containers and defined in a format resembling Docker Compose
  - Updates can be rolled out and tested gradually by using "canary" deployments
  - An intuitive and scriptable CLI that will feel familiar to Docker and Kubernetes users
Deviceplane integrates with your device by running a lightweight static binary via your system supervisor. We can be used with nearly any Linux distro, which means you can continue using Ubuntu, Raspbian, a Yocto build, or whatever else fits your needs.

Deviceplane is completely open source. The code for everything from the agent to the backend and UI can be found on GitHub (https://github.com/deviceplane/deviceplane). We put a lot of effort into making our open source version as easy as possible to run. You can even run the backend of Deviceplane with a single Docker command:

docker run -d --restart=unless-stopped -p 8080:8080 deviceplane/deviceplane

For more information on hosting Deviceplane yourself, check out our docs (https://deviceplane.com/docs/self-hosted/).

If you'd rather jump right into managing devices, we have a hosted version available at https://cloud.deviceplane.com/.

Lastly, we'd love to hear more about your experiences managing devices! What have your biggest pain points been, and what infrastructure do you wish existed to solve those? Either comment here, or shoot us an email anytime at founders@deviceplane.com.

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

#2
I don't know a ton about the embedded/IOT world, but it's an area that has been coming up more on my radar recently. This project seems like a super interesting solution to the problems of deployment, updates, and monitoring.

Could you talk a bit more about the focus on linux? How much of the ecosystem is running a full OS vs a small embedded program?

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

#3
post #2

I don't know a ton about the embedded/IOT world, but it's an area that has been coming up more on my radar recently. This project seems like a super interesting solution to the problems of deployment, updates, and monitoring. Could you talk a bit more about the focus on linux? How much of the ecosystem is running a full OS vs a small embedded program?

linux has become quite common in iot, which has really expanded what a lot of people consider an “embedded system”. we built a platform on a custom BSP for OpenWRT for industrial applications where an rtos or plc wasn’t needed.

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

#5
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/Azure/GCP eating your lunch running your self-hosted code?

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

#6
We've been running DevicePlane in prod for a few months now (after switching over from remote.it) Originally it was just device plane being having a much faster SSH and for convenience, but the new features they've begun to add started streamlining a lot of our dev work and actually helped us with more best practices. We've now containerized our applications and can schedule releases, stream metrics and crash data to datadog, all of which makes us feel more confident in our IoT.

The only feature I miss is being able to execute bulk scripts across devices, and would love to have an internal dashboard rather than using datadog since the cost of data collection is beginning to scale out of hand.

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

#7
post #2

I don't know a ton about the embedded/IOT world, but it's an area that has been coming up more on my radar recently. This project seems like a super interesting solution to the problems of deployment, updates, and monitoring. Could you talk a bit more about the focus on linux? How much of the ecosystem is running a full OS vs a small embedded program?

The short answer, agreeing with @crtlaltdel, is that Linux is getting really popular for embedded/IoT use cases. A lot of "embedded" devices are starting to look more and more like real servers. The latest model of Raspberry Pis go up to 4gb of RAM!

Linux has been standard in the cloud for a long time and as a result the tooling is pretty mature now. Projects like Kubernetes are great for managing servers in the cloud and have become quite standard. We noticed the same level of tooling for running Linux on devices just wasn't there yet, and so we decided to try and fix that!

That being said, there are certainly use cases where Linux isn't the best choice. If you have realtime requirements or you need low power usage then using an RTOS is a better option.

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

#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 as a response to AWS/Azure/GCP though.

We get this question a lot, but we don't actually fear AWS/Azure/GCP much. Plenty of SaaS companies have products similar to something offered by major clouds (Datadog, Cloudflare, etc...). We think the big clouds are good at their core competencies (EC2, RDS, etc...) but struggle to address the right problems with a great UX in their fringe products.

AWS/Azure/GCP just don't come up much in our customer conversations. We think our real competitor is internal tooling!

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

#10
post #6

We've been running DevicePlane in prod for a few months now (after switching over from remote.it) Originally it was just device plane being having a much faster SSH and for convenience, but the new features they've begun to add started streamlining a lot of our dev work and actually helped us with more best practices. We've now containerized our applications and can schedule releases, stream metrics and crash data to…

Hey Kai, I remember you mentioning that bulk scripting the first time we talked. I actually wrote up the docs on how to do that just recently (the last section is probably what you're looking for): https://deviceplane.com/docs/operating/command-scripting/

Glad to hear you're enjoying using Deviceplane!

Post reply on HN