I think Bryan Cantrill and Joyent are doing a number of interesting things, but this reads more like an ad than a genuine critique of Unikernels.<p><pre><code>    The primary reason to implement functionality in the
    operating system kernel is for performance: by avoiding
    a context switch across the user-kernel boundary,
    operations that rely upon transit across that boundary
    can be made faster.
</code></pre>
I haven&#x27;t heard this argument made once.  There are performance benefits (smaller footprint, compiler optimization across system call boundaries, etc...).  However, the primary benefit is not performance from eliminating the user&#x2F;kernel boundary.<p><pre><code>    Should you have apps that can be unikernel-borne, you
    arrive at the most profound reason that unikernels are
    unfit for production — and the reason that (to me,
    anyway) strikes unikernels through the heart when it
    comes to deploying anything real in production:
    Unikernels are entirely undebuggable.
</code></pre>
If this were true, and an issue, FPGAs would also be completely unusable in production.