5 ms·
Anyone use Unikernels in real life? They always sounded interesting but without a lot of examples of real usage they feel ... academic and theoretical?
by kjeetgill 8y ago
Anyone use Unikernels in real life? They always sounded interesting but without a lot of examples of real usage they feel ... academic and theoretical?
- noselasd 8y agoMost embedded systems are really unikernels - so yes, certainly they are very widely used. Though the more recent developments of running traditional server software on unikernels have not gained that much traction.
- zaarn 8y agoI doubt you should call embedded systems unikernels. Stuff like the ATmega chips run the application barematal, yes, but they are cheap microcontrollers with 2KiB of RAM and no MMU. You can't run a kernel on that so your application runs bare. A lot of the higher-tiered embedded stuff usually either runs a Linux kernel or DOS (and older) from my experience.
- awelkie 8y agoFreeRTOS is essentially a unikernel. I assume many other RTOSs are as well.
- pjmlp 8y agoThere are plenty of OS for embedded systems deployment. Systems running Linux are the exception. Linux does not fulfill the security requirements of high integrity systems nor the real time constraints.
- magduf 8y agoThis is completely wrong. Embedded systems running Linux are extremely common, and becoming more and more popular because it runs on so many architectures (esp. ARM, but also PPC). For many applications, hard real-time is not necessary, and Linux is FAR easier to develop on. They are not "the exception" by any means. Look at almost any automotive "infotainment" system on current models: it's likely running on Linux. There's countless others. For high-integrity systems for critical safety applications, you would not use Linux, you'd use a dedicated RTOS, of which there are countless choices. But these all have big disadvantages: poor performance (they favor determinism over performance), poor development support, high license costs, etc. If you're doing avionics, then sure you'd use an RTOS, but if you're making a "smart TV" to play Netflix, you wouldn't, you'd use Linux. Also, Linux does have real-time capabilities, it just isn't hard real-time, only soft. It works well enough for controlling hobbyist-level CNC machines. I've used it myself for a pretty critical real-time system where ease of development and performance were more important than absolute real-time guarantees.
- pjmlp 8y agoSome numbers would be nice then.
- magduf 8y agoMost companies, and probably almost zero government projects, publicize what embedded OSes they use. You're not going to get any numbers. This means you also have no numbers to back up your claim.
- pjmlp 8y agoSince you insist. https://m.eet.com/media/1246048/2017-embedded-market-study.pdf https://m.eet.com/media/1246048/2017-embedded-market-study.p... Apparently I was wrong, see it wasn't that hard to find.
- perbu 8y agoYes. We have production deployments of IncludeOS. The use case was network functions like firewalls and load balancers. I think the perception of Unikernels as something that is suppose to replace containers is a bit artificial. They have a much stronger appeal in replacing Linux where Linux struggles. So CPU-based IoT devices where Linux security is a problem, serverless architectures where Unikernel boot-times of 5-10ms can provide more elasticity or network functions where the GNU/Linux footprint is significant. Certain containers could be a unikernel case down the line when the tooling improves. Once you can do "npm unikernel" and it spits out a bootable node-app might make node-based Unikernels attractive. But nobody is there yet, AFAIK.