A Unikernel Compiler (UniK) Added to the Cloud Foundry Extensions Incubation

by Roger StrukhoffMarch 17, 2017
Ultralight images make the unikernel approach a fast, secure way to deploy apps on Cloud Foundry.
Dr. Max

Dr. Max

An initiative called CF-Extensions is a new idea from IBM Chief Architect of PaaS Innovation Michael Maximilien (a.k.a. Dr. Max), launched late in 2016 and starting to gain some traction within the Cloud Foundry community.


The UniK compiler is unique

There are now several projects in incubation, covering a wide range of services and functions. The latest is a unikernel compiling tool called UniK (pronounced like “unique”), which works with several unikernels and cloud providers. UniK has been offered up by Dell EMC.

Cloud Foundry unikernel unik cf components v3

There has been some talk of unikernels, which are lighter and perhaps more secure than containers, in recent years. They are described in the Dell EMC proposal as “lightweight, immutable operating systems compiled specifically to run a single application.”

Cloud Foundry unikernel container comparison

UniK produces lightweight, bootable machine images that can run directly on hypervisors or bare metal, with no need of Linux (or other host OS).

UniK currently supports the following unikernel types:

  • RumpRun
  • OSv
  • IncludeOS
  • MirageOS

It can manage instances locally, as well as with several cloud providers: VirtualBox, AWS, Google Cloud, vCenter, QEMU, UKVM, Xen, OpenStack, and Photon.

The proposal says UniK’s developers wanted to integrate with Cloud Foundry “to leverage its higher-level features like management, monitoring, and health.”


CF-Extensions projects in incubation

The CF-Extensions project has embraced some initiatives that have been around for awhile (such as Abacus and buildpacks), as well as newer ideas. The projects currently in incubation within CF-Extensions include:

Abacus. This is described as “a metering engine for Cloud Foundry.” It was put forward by IBM and “allows accumulation, aggregation, and queries of usage information from the Cloud Foundry runtime, as well as any compliant service broker. Abacus is currently deployed in IBM Bluemix and SAP HANA.”

Cloud Foundry Abacus Pipeline FlowAbacus pipeline flow (Cloud Foundry Foundation)

AutoScaler. This is another project from IBM, which “provides the capability to adjust the computation resources for Cloud Foundry applications through: a) dynamic scaling based on application performance metrics, and b) scheduled scaling based on time,” according to its proposal. Any application bound with the CF-AutoScaler service can use it.

Brooklyn Broker. This project was proposed by Cloudsoft, and is described as “a service broker that allows services to be defined using OASIS CAMP blueprints and deployed and managed by Apache Brooklyn.” It is currently deployed in the certified Atos Cloud Foundry distro. (Previously, we’ve covered the Brooklyn plugin.)

Cloud Foundry brooklyn service brokerBrooklyn service broker (Cloudsoft)

CF-Swagger. Another IBM initiative featuring a collection of Swagger descriptions and applications for BOSH. Swagger, in turn, is an open-source framework for building and consuming RESTful APIs.

Cloud Foundry cf-swagger high level overview v2CF-Swagger high-level overview (Cloud Foundry Foundation)

Notifications. This idea comes from Pivotal; the project “deploys the Cloud Foundry notification service as an application onto the Cloud Foundry platform. A running CF (with UAA) and a MySQL instance are required to deploy notifications.”

MS SQL Broker. This is a Go-based broker for the MS SQL service. According to its proposal, “it implements and exposes the Cloud Foundry Service Broker API to facilitate the management of a single Microsoft SQL Server instance. The minimum version supported is SQL Server 2012 Express. The broker service does not need to save any state, thus it can be farmed or deployed on another box without any data migration.“

The core buildpacks and a Java buildpack are also included on the CF-Extensions list of projects, as well as the Java Client library.


Next updates

For more details on the UniK incubation, you can check out the related blog posts here and here. In addition to its GitHub presence, UniK has a Slack channel and a Twitter account.

Dr. Max continues to encourage members of the Cloud Foundry community to make incubation proposals for CF-Extensions. He also holds conference calls, with the next one scheduled for Monday, April 24, at 11 a.m. Pacific Time.


Related slides


Related videos


Related reading