[HN Gopher] Ask HN: How are you using unikernels? ___________________________________________________________________ Ask HN: How are you using unikernels? The HN conversations around unikernels suggest that they're not ready for production yet [0] but feel free to set that record straight. In the meantime, a handful of organisations/individuals seem to be working on becoming "Docker for unikernels". That's probably an unfair description, but they're aiming to produce tools for building and managing unikernels: Unikraft [1], NanoVMs/Nanos [2], Unik [3]. Other orgs are producing unikernel-based OSs and VMs [4]. What is your toolset for building and managing unikernels? What have you learned? Bonus question: is Unik dead? [5] [0] https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que... [1] https://unikraft.org/ [2] https://github.com/nanovms/nanos [3] https://github.com/solo-io/unik/ [4] http://unikernel.org/projects/ [5] https://github.com/solo- io/unik/issues/172 Author : austinjp Score : 44 points Date : 2021-05-27 10:27 UTC (1 days ago) | eqvinox wrote: | Probably not the kind of answer you're looking for, but | networking appliances (routers, switches, firewalls) essentially | used to be "unikernels" in the early 90ies, particularly the | original Cisco IOS. Which is also a great example that blurs the | lines between embedded systems and unikernels... | | That said, no modern router is a "unikernel" anymore, and the low | end switches fall more into the embedded systems category. | | (btw: out of curiosity, how would HN differentiate between an | embedded system/RTOS and an unikernel?) | tenebrisalietum wrote: | Embedded system: Has an OS designed to be flashed to firmware | with no dependency on external storage devices and survive for | a long time without updates/reboots. | | RTOS: Any operating system that 100% absolutely guarantees IRQ | response time or CPU scheduler time. An embedded system's OS | may or may not be realtime. An RTOS may be possible on the | standard PC platform. | | Unikernel: User space program linked with required kernel code | and designed to run in kernel mode; also possibly designed with | the expectation of a hypervisor. The things that come to mind | with this are Xbox and Xbox 360 games. | | So all three of these to me are not mutually exclusive | concepts. A unikernel program running in kernel mode probably | doesn't need an OS, but there may be need for a hypervisor | which the unikernel may use via some virtualized hardware type | interface, and that may essentially be an embedded RTOS. | sn wrote: | Let's define unikernels as running under a hypervisor. If it's | not, it's more likely to be called an embedded operating system. | | I don't think unikernels are worth it unless you're running at | massive scale. A realistic target audience is providers of | serverless-style services, in which case you're taking a vanilla | application someone else wrote and compiling it against a | unikernel. | mikepurvis wrote: | I'd be interested to know more about what the developer workflow | is like on these. Like, do you _always_ build the application as | a unikernel, and run it locally on qemu or vmware? What is it | like debugging something like that? What is the story for | incremental builds? | | Or do you basically have to maintain a port of your software so | that you can also run it on Linux with all the creature comforts | of a normal system? If it's that, do you get weird bugs that only | happen in prod that are a gigantic pain to understand and work | through? ___________________________________________________________________ (page generated 2021-05-28 23:00 UTC)