@ibm+build smart
+buildsmart
Learn more >
@redhat+build open
+buildopen
Open Project
Get the Code
Published December 18, 2018
Cloud
Solo5 Unikernel implements a unikernel base, or the lowest layer of code inside a unikernel, which interacts with the hardware abstraction exposed by the hypervisor and forms a platform for building language runtime environments and applications. Solo5 currently interfaces with the MirageOS ecosystem, enabling Mirage unikernels to run on either Linux KVM/QEMU or a specialized unikernel monitor called “ukvm,” which is also available in the code repository.
You can watch the replay of the Solo5 Unikernel Tech Talk, recorded on August 3, 2016, and take a deeper dive into this emerging technology for packaging applications in the cloud.
Unikernels are an emerging technology for packaging applications for the cloud. They are small virtual machines that do not include a general purpose operating system (for example, Linux), but instead include a single application running with a small, special-purpose library operating system. (You can learn more at unikernel.org.)
Unikernels offer the following potential benefits:
Unikernels are often written in a language with a strong static type system throughout that serves to further strengthen security arguments. (MirageOS, for example, uses OCaml.)
Unikernels are notable in that you can contribute to exciting new cloud technology without getting too bogged down by large legacy code bases. You can contribute to Solo5 in almost any language. Solo5 is written in C, with some x86 assembly. It interfaces with hardware abstractions given by KVM/QEMU directly, so it’s perfect for low-level, close-to-the-hardware programming.
Because of Solo5’s interaction with the MirageOS ecosystem, there are many opportunities to learn OCaml (and also something about its internals). Alternatively, Solo5 is intended to be a base from which new runtimes can be implemented, so why not help Haskell unikernels move to Solo5? Or, if you love a particular language such as Swift, why not explore a Solo5/Swift unikernel by porting the Swift runtime to Solo5?
By exploring the unikernel base (Solo5), and the monitor underneath (ukvm), you have the opportunity to innovate or even completely redefine abstractions for tomorrow’s cloud, today.
The interface between unikernel and monitor influences the following areas:
Read our HotCloud paper for more details.
As application demands for cloud resources have increased, cloud architecture has evolved towards lighter-weight, more agile vehicles to run code on the cloud.
Unikernels can boot in as little as 10ms, which, in addition to their isolation and security properties, makes them extremely attractive for new on-demand cloud workloads. Three exciting emerging application domains, serverless computing, network function virtualization (NFV), and Internet of Things (IoT), require that kind of responsive technology. Solo5 can deliver speed, and in the interconnected marketplace, speed is a very big deal.
Workshop
August 30, 2019
São Paulo
CloudIBM Cloud+
Meetup
August 28, 2019
API ManagementArtificial intelligence+
September 3, 2019
London
AnalyticsCloud+
Back to top