Andreas Garnæs

Gossiping Unikernels

Team Lead at Zendesk

Gossiping Unikernels

In the search for modular, efficient and safe applications, unikernels are currently at the frontier. A unikernel has a minimal footprint in terms of lines of code, resources and bagage, making it an attractive choice for future microservice architectures. A cluster of unikernels can collectively fulfill the task of the past monolith application, with members leaving and joining the cluster to scale elastically or to deploy new functionality seamlessly. By gossiping amongst each other, the unikernels of the cluster can keep track of these membership changes in a reliable way with low overhead.

In this talk, we will in investigate how to manage cluster membership in the context of MirageOS, one of the leading unikernel implementations written in OCaml. The SWIM gossip protocol will be introduced, and we will go through how to implement this in MirageOS with OCaml. Finally I will show how property based testing (Quickcheck) can be used to verify the protocol implementation.

Talk objectives:

  • Provide an overview of MirageOS and how unikernels can fit in a microservice architecture
  • Give an introduction to a gossip based membership protocol and how to implement this in the context of MirageOS
  • Show how to use property based testing to verify the protocol

Target audience:

  • Anyone interested in unikernels/MirageOS and they can fit in the bigger picture of an application architecture.


About Andreas

Andreas is a team lead at Zendesk and long-time OCaml enthusiast. He has previously worked at Hailo and Citrix, as well as multiple startups.

Github: andreas

Twitter: @cuvius

Back to conference page