8 ms·
Bryan Cantrill has a great post on unikernel models: https://www.joyent.com/blog/unikernels-are-unfit-for-production https://www.joyent.com/blog/unikernels-are-
by Timothycquinn 9y ago
Bryan Cantrill has a great post on unikernel models: https://www.joyent.com/blog/unikernels-are-unfit-for-production https://www.joyent.com/blog/unikernels-are-unfit-for-product...
From my read, the benefits do not outweigh the costs. If you want light weight microservices, OS level virtualization is the way to go.
- zenlikethat 9y agoAtmanOS says in the README it's highly experimental and doesn't imply you should use it for production at all. So who cares? What else is HN for if not for posting cool hacks and projects and encouraging fellow builders?
- xena 9y agoEvery product shipped into production today started as a highly experimental prototype.
- im_down_w_otp 9y agoBrenden Gregg also has a great post on unikernel models: http://www.brendangregg.com/blog/2016-01-27/unikernel-profiling-from-dom0.html http://www.brendangregg.com/blog/2016-01-27/unikernel-profil... From my read, it counters Bryan Cantrill's claim that, "unikernels are undebuggable". From personal experience I'm also quite certain Bryan Cantrill's claim is spurious in that regard, as I've used both debugging and tracing facilities w/ LING unikernels to assess a number of runtime and clustering issues.
- abrookewood 9y agoAre you still using LING? The project looks like it died.
- dnautics 9y agoLing is a special beast since erlang is basically begging to be it's own runtime os.
- pjmlp 9y agoA language runtime is an OS, when running bare metal. That is how we used to program many 8 and 16 bit applications, and how many keep programming embedded systems nowadays.
- pjmlp 9y agoHe has a horse on the race, of course unikernels are unfit according to him.
- Annatar 9y agoApart from disassembling the machine code, assuming one could even attach a debugger to such an application, how would you debug a unikernel application in production?
- pjmlp 9y agoJust like debugging Java and .NET applications running bare metal on production. By having a rich runtime (kernel) that exposes the internals to the world, like Mission Control, TraceViewer and the respective debuggers, when the right set of flags/authentication are enabled. Unikernel are no different from running embedded applications, bare metal.
- Annatar 9y agoI know they are no different since they are one and the same. Now imagine your unikernel application is running inside of a vehicle and there is a bug in the head-up display code. Without re-inventing DTrace and kdb from Solaris / illumos from scratch, how would you debug your unikernel application in order to find and even fix the bug? (With kdb, it can be done on the fly.)
- pjmlp 9y agoSokaris/Ilumnos don't run inside vehicles, maybe one day they will. Can you give an actual production example? Unikernels on the other hand, do actually run on vehicles. There are a few embedded runtimes based on the same architecture. They have debugging support to attach to graphical debugger, probes, JTAGs, and a few other vendor specific tools. Of course someone trying to sell me Solaris/Illumnos, will have prejudice to anything else.
- 9y ago
- en4bz 9y agoYup, If you're running unikernels in a VM for "improved performance" you're doing it wrong. Containers are a much better solution. Unfortunately people see containers now as a packaging mechanism rather than an alternative to hardware virtualization. Also doesn't help that everyone runs their applications in The Cloud where you're required to run on a VM. I'd really like to see containers services like Joyent's take off.
- closeparen 9y ago>I'd really like to see containers services like Joyent's take off. Interesting. I'd like to see a return to owning/renting whole machines and running containers on them directly (as several major tech companies do). A lot of the value proposition for the cloud service providers is a multi-host hypervisor that's really easy to get started with (compared to buying vSphere). If it becomes really easy to deploy your own instance of an open-source container scheduler across your own boxes, we can return to cost-competitive commodity boxes instead of overpaying for AWS.
- Timothycquinn 9y agoAgreed, private cloud systems that leverage OS level virtualization like Joyent's solution is completely production ready from a software perspective. IMO, the biggest challenge past getting CTO approval is finding production 24/7 support for the complete stack. For SMB private clouds, its a no-brainer; I just buy a FreeNAS or TrueNAS box (FreeBSD based) from iXSystems and have them customize the box for extra ram and CPU. You get ZFS, DTrace and a wicked NAS, OS level virtualization with jails and even linux binary support if required. I've done this successfully in production and could not be happier. Note: I don't work for iXSystems but I do love their products and services.
- Annatar 9y agoI'd really like to see containers services like Joyent's take off. Same here, especially since the zones that the Joyent containers are built on are really easy to use and provide entire miniature yet full fledged UNIX servers, not to mention it’s all open source and gratis and the community is really competent.
- testcross 9y agoHe has no choice but to say that as it is a threat for his business.
- Annatar 9y agoI wonder what Bryan would think of the idea of the „unikernel“ designed from the get-go with DTrace and kdb hooks?