# Deploying MirageOS Unikernels

**URL:** <https://oxygen.offdem.net/t/deploying-mirageos-unikernels/92>\
**Category:** OFFDEM\
**Created:** [18 February 2022 20:57 UTC](https://oxygen.offdem.net/t/deploying-mirageos-unikernels/92 "2022-02-18T20:57:35Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![hannes](https://oxygen.offdem.net/letter_avatar_proxy/v4/letter/h/f0a364/32.png) [@hannes](https://oxygen.offdem.net/u/hannes)\
**Post date:** [18 February 2022 20:57 UTC](https://oxygen.offdem.net/t/deploying-mirageos-unikernels/92/1 "2022-02-18T20:57:35Z")

</div>

## Abstract

[MirageOS](https://mirageos.org) is a library operating system – each service, also called _unikernel_, can be run as a separate virtual machine\[1\]. Only the required libraries ends up in a unikernel – e.g. an authoritative DNS server does not include a file system, a shell, or user management, neither process management.

It is all developed in the functional programming language _OCaml_ from the bottom up, and open source under permissive licenses. The _security_ – in contrast to contemporary Unix based services – is vastly improved: not only is the lines of code reduced by two orders of magnitude (leading to a reduced attack surface), also usage of the memory-safe programming language excludes several attack vectors from the beginning. The _carbon footprint_ of each service is drastically reduced compared to general purpose operating systems, since less code is executed.

This talk will **focus on the deployment and monitoring of MirageOS unikernels** – [Robur](https://robur.coop) developed the orchestration system [albatross](https://hannes.nqsb.io/Posts/VMM), a tiny code base, and established [reproducible builds](https://builds.robur.coop) of unikernels – so now your trustworthy setup can be done without having to compile OCaml source code. For monitoring unikernels we use syslog and grafana dashboards. Services provided by MirageOS span over authoritative DNS servers, Let’s Encrypt SSL certificate provisioning, DNS resolver, reverse TLS proxy, CalDAV server, eMail services, OpenVPN router, etc…

Parts of this work was sponsored by the EU Next Generation Internet (NGI) program.

* * *

1. using various virtualization technologies: KVM/Xen/seccomp hardened process/virtio/muen separation kernel/…

---

<div class="post-metadata">

**Author:** ![how](https://oxygen.offdem.net/user_avatar/oxygen.offdem.net/how/32/8_2.png) [@how](https://oxygen.offdem.net/u/how)\
**Post date:** [15 March 2022 13:01 UTC](https://oxygen.offdem.net/t/deploying-mirageos-unikernels/92/2 "2022-03-15T13:01:19Z")

</div>

@hannes could you please upload your slides?

I’m going through the [related pad](https://pad.public.cat/offdem-o2-mirageos-unikernels?both) and I see mentions of screenshots to be added from your deck. 🙂

---

<div class="post-metadata">

**Author:** ![how](https://oxygen.offdem.net/user_avatar/oxygen.offdem.net/how/32/8_2.png) [@how](https://oxygen.offdem.net/u/how)\
**Post date:** [15 March 2022 13:07 UTC](https://oxygen.offdem.net/t/deploying-mirageos-unikernels/92/3 "2022-03-15T13:07:52Z")

</div>

To whomever asked during the session, apparently [Debian has compiled OCaml for `mipsel`](https://packages.debian.org/en/sid/ocaml) and other architectures.

---

<div class="post-metadata">

**Author:** ![hannes](https://oxygen.offdem.net/letter_avatar_proxy/v4/letter/h/f0a364/32.png) [@hannes](https://oxygen.offdem.net/u/hannes)\
**Post date:** [21 March 2022 11:08 UTC](https://oxygen.offdem.net/t/deploying-mirageos-unikernels/92/4 "2022-03-21T11:08:38Z")

</div>

Here are the slides I presented: [talk.pdf](https://oxygen.offdem.net/404) (3.6 MB)

---

<div class="post-metadata">

**Author:** ![how](https://oxygen.offdem.net/user_avatar/oxygen.offdem.net/how/32/8_2.png) [@how](https://oxygen.offdem.net/u/how)\
**Post date:** [30 January 2023 10:59 UTC](https://oxygen.offdem.net/t/deploying-mirageos-unikernels/92/5 "2023-01-30T10:59:19Z")

</div>



---

<div class="post-metadata">

**Author:** ![how](https://oxygen.offdem.net/user_avatar/oxygen.offdem.net/how/32/8_2.png) [@how](https://oxygen.offdem.net/u/how)\
**Post date:** [21 January 2024 17:41 UTC](https://oxygen.offdem.net/t/deploying-mirageos-unikernels/92/6 "2024-01-21T17:41:26Z")

</div>



---

<div class="post-metadata">

**Author:** ![how](https://oxygen.offdem.net/user_avatar/oxygen.offdem.net/how/32/8_2.png) [@how](https://oxygen.offdem.net/u/how)\
**Post date:** [21 January 2024 17:41 UTC](https://oxygen.offdem.net/t/deploying-mirageos-unikernels/92/7 "2024-01-21T17:41:29Z")

</div>


