[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)