Unikernels: The Next Generation of Cloud Technology

Unikernels: A Perfect Fit for Cloud

Elasticity and agility are both key concepts in the cloud. Traditional data center workloads are large and slow, requiring lots of resources and taking time to start and stop as needed. Unikernels take those same workloads and make them much smaller and much quicker. By stripping away the unneeded parts of the application stack, many tasks can be reduced to a fraction of their traditional size into tiny VMs, which can be created in less than a second. This has given rise to transient microservices or services that are born when a need appears and then die as soon as it disappears. This becomes a theoretical backplane to concepts like the Internet of Things (IoT), in which millions, billions, or even trillions of devices will need to register every button pushed and every switch flipped. We don't need millions of VMs sitting idle taking up valuable resources waiting for something to happen; we need transient microservices that appear the instant the button is pushed and disappear the moment the job is done. IoT is just one of new ideas that will benefit from unikernel technology.

Most technologists have heard about software containers (or simply "containers") – a technology that became popularized by Docker, which is an open platform for building, shipping and running distributed applications through containers. Containers use shared operating systems to create a capsule, of sorts, to contain your application.

They are increasingly popular, but are not the panacea able to solve all the new challenges cloud computing presents. Problems mainly pertaining to security tend to hinder this technology. However, a new technology on the rise — unikernels — holds great promise for the next generation of cloud infrastructure.

For this slideshow, the Xen Project provides background on what this new technology is, how it fits within the greater cloud infrastructure ecosystem, why it's well-suited to the future of cloud computing, how it compares with containers, and how to choose between the unikernels and containers to best support the needs of specific IT environments.