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