Live data from Hacker News

ResinOS, run Docker containers on embedded devices

resinos.io

11–20 of 73 posts

Re: ResinOS, run Docker containers on embedded devices

#11
post #7

I always have trouble calling platforms that can run a system of this magnitude "embedded." For some reason I always had the term "single-purpose" linked with the idea of an embedded system. Once you add tons of RAM, a relatively powerful processor, and can only last a couple of hours on a battery--I feel like then it's just a small general purpose computer.

For a long time, I struggled with a similar view. The lines for this are blurring very fast though. Example - Amazon's kindle is more or less a single purpose system - but runs linux, lasts for days on battery, has good RAM and a relatively powerful processor.

Re: ResinOS, run Docker containers on embedded devices

#12

Hi everyone, resin.io founder here, happy to answer any and all questions. We just released resinOS at ELCE a few hours ago (Embedded Linux Coference, Europe), happy to see it made HN!

I think I see where you fit in - deeply embedded systems with real-time constraints tend to use a certified hypervisor solution to separate runtimes. Traditional IT solutions can use Linux KVM or a full Docker implementation. ResinOS fits in the middle.

Familiarity with Docker will allow makers to get multiple runtimes up and running on higher-end (but small) SoCs...but for what type of applications?

Re: ResinOS, run Docker containers on embedded devices

#13
post #8

Hi everyone, resin.io founder here, happy to answer any and all questions. We just released resinOS at ELCE a few hours ago (Embedded Linux Coference, Europe), happy to see it made HN!

How is this different from HypriotOS? http://blog.hypriot.com

The hypriot guys are doing great work, and we share a common mission in spreading containers to embedded development. ResinOS is built with production deployments as a first goal, and so has a read-only rootFS, supports atomic host OS updates, is ported (and portable) to a lot of device types (via Yocto) and in general has many more "embedded" characteristics than Debian, on which hypriotOS is based. I do however want to reiterate that we know the Hypriot guys decently well and appreciate the work they're doing to make Docker accessible to embedded hackers.

Re: ResinOS, run Docker containers on embedded devices

#14

Earlier quoted context omitted.

The version of Docker on the OS right now is 1.10 so the ram footprint of the OS is fairly small. The team is all asleep (being in Berlin and whatnot), but I'd estimate about 50mb is a decent approximation. We're working on getting a newer Docker but its RAM footprint is one of our concerns, though we do have ways forward. The number of containers is kinda a red herring for a couple reasons. For one, you can make a t…

quick question...would the images have to be specifically built for arm? (we were looking to build a cluster of RPis that we could orchestrate containers on.)

Yes. We build many container base images for all architectures. have a browse and pick what works for you -- https://hub.docker.com/r/resin/ and also http://docs.resin.io/runtime/resin-base-images/

Re: ResinOS, run Docker containers on embedded devices

#15
post #7

I always have trouble calling platforms that can run a system of this magnitude "embedded." For some reason I always had the term "single-purpose" linked with the idea of an embedded system. Once you add tons of RAM, a relatively powerful processor, and can only last a couple of hours on a battery--I feel like then it's just a small general purpose computer.

I feel like in modern usage, "embedded" has shifted to refer less to the constraints imposed by size and power and cost (because, increasingly, there aren't any), and more to the extra peripherals present. Basically "working in embedded systems" now means what "robotics" used to mean.

Has your thing got always-on sensors, or actuators, or both? Your job title is probably "embedded software developer."

Re: ResinOS, run Docker containers on embedded devices

#16

Congrats on launching! Testing & deployment of stable configs is arguably even more of an issue in embedded development than in web, so I'm sure this will make a lot of people very giddy! Are y'all 100% happy with the technical design assumptions & requirements of Docker, or did you mainly pick it so you could bridge with the existing community (or a bit of both?)

Very good question. We find that we have to add functionality for the embedded world in quite a few cases, and part of the resinOS roadmap is to package that up for the OS. But the base Docker, other than its recently growing size, is a very strong foundation, and one that keeps improving. We're particularly excited about the new security features and in general our approach is that we can move a lot faster by filling the gap between Docker and embedded devices, rather than starting from scratch and building Yet Another Container Engine.

Re: ResinOS, run Docker containers on embedded devices

#17

Hi everyone, resin.io founder here, happy to answer any and all questions. We just released resinOS at ELCE a few hours ago (Embedded Linux Coference, Europe), happy to see it made HN!

I think I see where you fit in - deeply embedded systems with real-time constraints tend to use a certified hypervisor solution to separate runtimes. Traditional IT solutions can use Linux KVM or a full Docker implementation. ResinOS fits in the middle. Familiarity with Docker will allow makers to get multiple runtimes up and running on higher-end (but small) SoCs...but for what type of applications?

There are a lot of companies looking at the intersection of containers and embedded. Some call it "Fog Computing" others "Edge Computing", others still "Industrial Internet" and so forth. We have a number of use cases on the resin.io website of people using this technology in production today, but some of the larger ones we're not allowed to talk about :(. ResinOS does include a full Docker engine however. It's just that a lot more is needed to do containers right on embedded Linux devices.

Re: ResinOS, run Docker containers on embedded devices

#18

Hi everyone, resin.io founder here, happy to answer any and all questions. We just released resinOS at ELCE a few hours ago (Embedded Linux Coference, Europe), happy to see it made HN!

Did you consider extending Yocto's meta-virtualization layer, which supports containers, http://elinux.org/images/9/9b/Elc2013_Christofferson.pdf?

Re: ResinOS, run Docker containers on embedded devices

#19

Hi everyone, resin.io founder here, happy to answer any and all questions. We just released resinOS at ELCE a few hours ago (Embedded Linux Coference, Europe), happy to see it made HN!

Did you consider extending Yocto's meta-virtualization layer, which supports containers, http://elinux.org/images/9/9b/Elc2013_Christofferson.pdf ?

We're generally very active in the Yocto community, the resin.io team already maintains the raspberrypi, CHIP, and Samsung Artik BSPs. Not sure what their interaction has been with the vitrualisation layer and don't want to misrepresent them, but I do know Andrei and the rest of the team are generally good citizens and work hard to feed patches upstream as much as possible.

Re: ResinOS, run Docker containers on embedded devices

#20
This is awesome!

I always loved Arduino as it promoted a few core ideas (apps are highly portable, the environment is standardized over boards and devices) - this allows the hobbyist / stack overflow reader to make some awesome hacks in a few hours and really reduces the barrier to entry for maker projects. However, in the last few years, I've wanted a similar type of environment for all the Linux boards that now clutter my desk - the ability to run different apps on multiple boards without having to understand the depths of GPIO alternative function mapping and quirks of various distros.

Having a docker container approach where the app is sandboxed away is the right approach I think for this, but there should be a "standard API" as well put in place that the apps that be written against (and bindings to python, rust etc...) that is also emulated in a desktop or webpage environment. This container doesn't support any HDMI output or full Debian environment - just a basic API to start with. Add PIP/Cargo etc.. for advanced use cases. A movement away from Arduino might be around the corner if there is something as accessible but much more powerful available. The block is no doubt "power management" - suspending/hibernating Linux boards for battery operation etc...

I hacked up a version of resinOS last year (using Android as the base Linux port) and running docker on a root FS but never took it anywhere as the day job (a different kind of startup) takes most cycles still. Can't wait to install this later on a few Pi's :)

Post reply on HN