Unikernels: The Debate Continues
For Cloud Foundry and EMC, the benefits of utilizing unikernels have been many. However, developers may find themselves skeptical of onboarding a technology which can only run one process at a time. Are the benefits of unikernels enough to outweigh developer’s concerns about this new technology? Time will tell.
In this episode of The New Stack Makers podcast embedded below, The New Stack host Lee Calcote spoke with Idit Levine, who is in the EMC Office of the CTO, and as well as a chief technology officer of EMC Cloud Foundry Dojo; and along with Nic Williams, CEO at Cloud Foundry consultancy Stark & Wayne LLC. They debated the benefits to using unikernels in production, how developers can implement unikernels into their own projects, and the ways in which using unikernels has benefited both EMC and Cloud Foundry.
The conversation can also be enjoyed on YouTube.
Levine launched the discussion by highlighting EMC’s open source project UniK, a unikernel compilation and deployment platform focused on helping developers get up-and-running with Unikernels quickly. “People have this notion that setting up unikernels is very hard to do, and therefore, people aren’t really using it. Same for Linux containers before Docker. We decided to do a Docker for Unikernel, open source by EMC to make it easy and seamless for users to build unikernels on the cloud or any embedded devices.”
Rather than having dependencies and libraries in a stack which may never be used shoved into one container, unikernels strip away these pieces to streamline an application’s performance. Levine explained that while unikernels are limited to only having one running process in them, they are well-suited to cloud-based development and creating projects based around the Internet of Things.
“The idea with unikernels is if you’re looking at the stack today, you’re running a hypervisor, drivers, the system on top, the kernel, system processes, then the container on top of it, the libraries in that container, and so on. What unikernel is doing is they said, ‘All of this is not necessary.’ At the end of the day, we’re trying to run a single user on a single server. We start from the application, see what the application really needs. If it doesn’t need driver for a USB because it’s in the cloud, it’s not going to be there. It’s taking only what it needs,”
Under heavy cross-fire from Williams, Levine explained that while developers may be reluctant to embrace unikernels in their stack, they have significant benefits such as size and speed. Levine highlighted that where containers are growing to gigs in size, UniK can run what is essentially a full stack with significantly less. “The main quality important in unikernels is the size. We created small unikernel VMs, with a real DNS for service discovery. Where regular VMs are a few gigs, we are doing this in 300 MB,” Levine countered.
Williams continued his line of questioning, posing the idea that developers used to running Docker, traditional VMs, and BOSH may find the concept of unikernels difficult. However, Levine noted that developers essentially won’t have to pivot away from what they know, as unikernels are essentially VMs. UniK, for example, can spin up Cloud Foundry from within a unikernel.
“The advantage of unikernels is that you basically don’t need to change. If you think about it, this is a VM. You’re still running your hypervisor, you’re getting all the benefits of containers, but are still running a mature hypervisor technology. You have the best of both worlds, and it’s much more secure. All the problems of containers don’t apply to unikernels. You’re still basically running a VM, so everything you did before, you can keep doing it,” Levine explained.
Levine also highlighted that Cloud Foundry has also on-boarded UniK into the Deigo DBS in order to support persistence. Calcote mentioned that by doing so, Cloud Foundry has opened up the opportunity of unikernels become the ‘thing’ in IoT, where the possibilities are limitless. Having persistent unikernels bridges the old with the new, allowing developers familiarity and flexibility which Levine touched on to close out the discussion.
“Right now, you can run unikernels with persistence. If you lose a unikernel, Cloud Foundry will know to spin a new one and attach a new unikernel. It’s cool because you’re getting the old style VM quality with V-Motion and vDR’s. But, you’re running a much smaller footprint and have the performance of containers with the security of a VM.”
Cloud Foundry is a sponsor of The New Stack.
Feature image via Pixabay.