Thomas Gazagnaire

I am Chief Architect and co-Founder at Unikernel Systems where I work on making unikernels easier to use so that they can be shipped and deployed everywhere.

Previously, I was Senior Research Associate at the University of Cambridge where I work on distributed systems and functional programming. I am one of the main authors and the release manager of the the Mirage operating system library and the main developer of the Irmin Git-like distributed store. Before that, I was Chief Technical Officier at OCamlPro where I designed and lead the implementation of OPAM and Principal Virtualisation Engineer at OnApp.

I was also a postdoctoral fellow at INRIA sophia-antipolis, in the INDES project and a Senior Software Engineer at Citrix, working on XenServer. I completed my Ph.D in 2008 at IRISA in the DistribCom project. I obtained my Master and Bachelor degrees from ENS Lyon and ENS Rennes.


My research interests primarily involve the application of formal methods and functional programming languages to complex-system engineering problems. More generally, I have a wide range of research and application interests including:

  • Cloud-computing;
  • Distributed and concurrent systems;
  • Verification (model-checking) of complex systems;
  • Automatic fault-diagnosis and monitoring of complex systems;
  • Application of functional programming to real-world problems;
  • Compilation and optimization techniques;
  • Partial-order theory.

I am doing most of my software developments in OCaml. My projects are hosted on Github.

Open Positions

I am looking for students interested to work on any project related to Mirage. Ideal profiles: master in CS, with a taste of formal methods and a strong interest in Functional Programming and/or Operating System. Please send a resume (CV) and a motivation letter.


FN14, Computer Laboratory,
University of Cambridge,
15 JJ Thomson Avenue,
Cambridge CB3 0FD, UK


  • A 2048 Tutorial in OCaml.
  • Various slides on Mirage and Irmin.