# \[ANN\] Mollymawk and Albatross orchestrating all virtual machines

**URL:** https://discuss.ocaml.org/t/ann-mollymawk-and-albatross-orchestrating-all-virtual-machines/17988
**Category:** Community
**Tags:** announce, unikernel, orchestration
**Created:** [April 15, 2026, 2:18pm UTC](https://discuss.ocaml.org/t/ann-mollymawk-and-albatross-orchestrating-all-virtual-machines/17988 "2026-04-15T14:18:54Z")
**Posts on this page:** 12
**Page:** 1

<div class="post-metadata">

### Author: ![hannes](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/hannes/32/2302_2.png) [@hannes](https://discuss.ocaml.org/u/hannes)
#### Post date: [April 15, 2026, 2:18pm UTC](https://discuss.ocaml.org/t/ann-mollymawk-and-albatross-orchestrating-all-virtual-machines/17988/1 "2026-04-15T14:18:54Z")

</div>

Dear everyone,

we just finished and deployed [Albatross](https://github.com/robur-coop/albatross) and [Mollymawk](https://github.com/robur-coop/mollymawk) to support virtual machines that are not MirageOS unikernels.

The reasoning is simple: we embedded so many nice features (metrics, console output, deploying via web UI, multi-tenant, startup dependencies, restart-on-failure,..) that we really wanted to deploy our non-MirageOS virtual machines as well with the same mechanism and don’t have duplicated code all over.

For the time being, it only supports FreeBSD BHyve, but let us know if you’re interested in other virtualization technologies and we will prioritize that work!

We also wrote a brief blog article with screenshots: [Robur's blog - Mollymawk supporting other virtual machines](https://blog.robur.coop/articles/mollymawk-other.html)

---

<div class="post-metadata">

### Author: ![pukkamustard](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/pukkamustard/32/2330_2.png) [@pukkamustard](https://discuss.ocaml.org/u/pukkamustard)
#### Post date: [April 15, 2026, 3:04pm UTC](https://discuss.ocaml.org/t/ann-mollymawk-and-albatross-orchestrating-all-virtual-machines/17988/2 "2026-04-15T15:04:22Z")

</div>

Congratulations!

Have you considered using [libvirt](https://libvirt.org/) as an abstraction to underlying hypervisor? And do you think solo5 tender could be controlled via libvirt?

I’m researching how to setup a Xen hypervisor and the possibility of managing virtual machines and unikernels on Xen via Albatross would be neat.

---

<div class="post-metadata">

### Author: ![hannes](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/hannes/32/2302_2.png) [@hannes](https://discuss.ocaml.org/u/hannes)
#### Post date: [April 15, 2026, 3:12pm UTC](https://discuss.ocaml.org/t/ann-mollymawk-and-albatross-orchestrating-all-virtual-machines/17988/3 "2026-04-15T15:12:43Z")

</div>

I have briefly looked into libvirt, and it was rather complex, so I decided to not use it in Albatross.

Albatross has not been developed for the Xen use-case – which is pretty different from the `hvt` approach, so I’d expect there’d be quite some work needed, and in addition quite some code not used in Albatross. I’m not sure how widely people are using Xen these days (apart from QubesOS), so I’m a bit sceptical whether “Xen support in Albatross” would be a worthwhile goal. Do you use Xen on a server yourself?

---

<div class="post-metadata">

### Author: ![pukkamustard](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/pukkamustard/32/2330_2.png) [@pukkamustard](https://discuss.ocaml.org/u/pukkamustard)
#### Post date: [April 15, 2026, 8:32pm UTC](https://discuss.ocaml.org/t/ann-mollymawk-and-albatross-orchestrating-all-virtual-machines/17988/4 "2026-04-15T20:32:15Z")

</div>

> [@hannes](#):
>
> I have briefly looked into libvirt, and it was rather complex, so I decided to not use it in Albatross.

Fair enough. My arguments for using libvirt is that it abstracts over other popular hypervisors like KVM (or Xen) and not be tied to Bhyve. But I don’t know much about libvirt and can understand that the complexity was not worth it.

> [@hannes](#):
>
> I’m not sure how widely people are using Xen these days (apart from QubesOS), so I’m a bit sceptical whether “Xen support in Albatross” would be a worthwhile goal. Do you use Xen on a server yourself?

Not yet, just researching best fits. Xen appeals to me as a type-1 hypervisor and thus much smaller trusted computing base.

---

<div class="post-metadata">

### Author: ![Fardale](https://avatars.discourse-cdn.com/v4/letter/f/8baadc/32.png) [@Fardale](https://discuss.ocaml.org/u/Fardale)
#### Post date: [April 15, 2026, 10:35pm UTC](https://discuss.ocaml.org/t/ann-mollymawk-and-albatross-orchestrating-all-virtual-machines/17988/5 "2026-04-15T22:35:54Z")

</div>

Great work! I am setting up my server, and I would be interested in using Albatross and Mollymawk to manage non-MirageOS on a Linux-based system.

---

<div class="post-metadata">

### Author: ![sid](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/sid/32/1476_2.png) [@sid](https://discuss.ocaml.org/u/sid)
#### Post date: [April 16, 2026, 5:45am UTC](https://discuss.ocaml.org/t/ann-mollymawk-and-albatross-orchestrating-all-virtual-machines/17988/6 "2026-04-16T05:45:14Z")

</div>

I find the support for FreeBSD’s bhyve interesting. How would you compare with Linux’s KVM in terms of performance, reliability and feature set ? Some top level insights would be useful to me. Are there areas where bhyve is actually better than KVM ?

---

<div class="post-metadata">

### Author: ![hannes](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/hannes/32/2302_2.png) [@hannes](https://discuss.ocaml.org/u/hannes)
#### Post date: [April 20, 2026, 8:51am UTC](https://discuss.ocaml.org/t/ann-mollymawk-and-albatross-orchestrating-all-virtual-machines/17988/7 "2026-04-20T08:51:21Z")

</div>

Thanks for your interest. I didn’t conduct any benchmarks, but I’m sure you’ll find some on the Internet or be able to conduct some yourself.

I won’t go into the “FreeBSD vs Linux” discussion in here, I’m sure there are plenty of (opinionated) resources available that will help you to get a top level insight.

---

<div class="post-metadata">

### Author: ![hannes](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/hannes/32/2302_2.png) [@hannes](https://discuss.ocaml.org/u/hannes)
#### Post date: [April 20, 2026, 9:10am UTC](https://discuss.ocaml.org/t/ann-mollymawk-and-albatross-orchestrating-all-virtual-machines/17988/8 "2026-04-20T09:10:16Z")

</div>

So what is your current invocation how you start a virtual machine? Is it using qemu? What kind of parameters do you pass?

---

<div class="post-metadata">

### Author: ![sid](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/sid/32/1476_2.png) [@sid](https://discuss.ocaml.org/u/sid)
#### Post date: [April 20, 2026, 9:25am UTC](https://discuss.ocaml.org/t/ann-mollymawk-and-albatross-orchestrating-all-virtual-machines/17988/9 "2026-04-20T09:25:12Z")

</div>

> [@hannes](#):
>
> I won’t go into the “FreeBSD vs Linux” discussion in here, I’m sure there are plenty of (opinionated) resources available that will help you to get a top level insight.

Thanks ! Ok I understand that you don’t want to get drawn into any FreeBSD/Linux comparison.

In my experience there is often poor quality information available about OSes other than Linux/Windows on the internet. The usage of FreeBSD is quite miniscule so that is to be expected.

I’m not interested in benchmarks… rather your general experience with bhyve if you’d like to share that with everyone. No need to compare with Linux if you don’t want to.

---

<div class="post-metadata">

### Author: ![Fardale](https://avatars.discourse-cdn.com/v4/letter/f/8baadc/32.png) [@Fardale](https://discuss.ocaml.org/u/Fardale)
#### Post date: [April 20, 2026, 2:00pm UTC](https://discuss.ocaml.org/t/ann-mollymawk-and-albatross-orchestrating-all-virtual-machines/17988/10 "2026-04-20T14:00:19Z")

</div>

Sorry, I haven’t started using VM, I am still in the process of defining what I will run and how.

---

<div class="post-metadata">

### Author: ![hannes](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/hannes/32/2302_2.png) [@hannes](https://discuss.ocaml.org/u/hannes)
#### Post date: [April 21, 2026, 11:22am UTC](https://discuss.ocaml.org/t/ann-mollymawk-and-albatross-orchestrating-all-virtual-machines/17988/11 "2026-04-21T11:22:10Z")

</div>

I use since more than two decades FreeBSD as my daily driver, and also on servers I maintain.

Since more than a decade I use the zfs file system ([ZFS - Wikipedia](https://en.wikipedia.org/wiki/ZFS)) – nowadays available on GNU/Linux via OpenZFS as well. I do use geli for encryption of drives (plus some testruns of zfs encryption).

I have to say, I don’t understand how people can run services and laptops without such a snapshottable file system. Updating is easy. Backups are easy. Documentation is great.

Also, when it comes to documentation, whenever I’m unsure I look up in the FreeBSD handbook ([FreeBSD Handbook | FreeBSD Documentation Portal](https://docs.freebsd.org/en/books/handbook/)) – a well-wrtitten, up-to-date book on how to configure FreeBSD. I also find the manual pages very well written and understandable.

Why I use FreeBSD is as well that to me it feels like home, I have an easy time to debug and change the system I’m using, compiling a new kernel (or a user-space utility) without any fuzz (as example, recently I had to connect to a wireless network with enterprise (802.1x) authentication, and it used legacy ciphers – so I needed to change the call in wpa\_supplicant to OpenSSL – I wouldn’t know where to start and what to do on a Linux system). Various utilities are shipped with the base system, which makes the pure base already very usable (ifconfig / tcpdump / …).

I tried to use GNU/Linux as my daily driver, and was overwhelmed by the number of daemons that are running, and how to figure out where the source code of something is and how to compile it (as a package) feels very tricky to me. Also, their system of initrd etc. is very complex to my brain.

I do understand and appreciate that other people are using and are happy with their Linux systems. It’s just not my cup of tea.

Now, BHyve in my perspective performs well, works nicely, and has its limitations: when I first tried on my laptop I couldn’t execute more than 1600 virtual machines (doing the MirageOS unikernel development) – I asked the original author, and he mentioned that this is uncharted territory. In production, I do run fewer virtual machines, and I don’t run into issues there.

Obviously the development of FreeBSD (similar to Linux as far as I understand) is driven a lot by commercial users who employ developers (for FreeBSD, this is for sure NetApp, Netflix, etc. – take a look at [Donors | FreeBSD Foundation](https://freebsdfoundation.org/our-donors/donors/) is this is interesting.

---

<div class="post-metadata">

### Author: ![sid](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/sid/32/1476_2.png) [@sid](https://discuss.ocaml.org/u/sid)
#### Post date: [April 21, 2026, 12:48pm UTC](https://discuss.ocaml.org/t/ann-mollymawk-and-albatross-orchestrating-all-virtual-machines/17988/12 "2026-04-21T12:48:01Z")

</div>

> [@hannes](#):
>
> Now, BHyve in my perspective performs well, works nicely, and has its limitations: when I first tried on my laptop I couldn’t execute more than 1600 virtual machines (doing the MirageOS unikernel development) – I asked the original author, and he mentioned that this is uncharted territory. In production, I do run fewer virtual machines, and I don’t run into issues there.

Really appreciate your response regarding BHyve and FreeBSD in general.

I also use FreeBSD occasionally and agree with a lot of the points you made in your reply. I use `vm` as the Bhyve front end and while basic, it gets the job done.

> I have to say, I don’t understand how people can run services and laptops without such a snapshottable file system. Updating is easy. Backups are easy.

The same thing is definitely possible in Linux via btrfs snapshots – there are some utilities available that ease the whole process. However the simplicity of FreeBSD’s `bectl`experience is unbeatable.

> I tried to use GNU/Linux as my daily driver, and was overwhelmed by the number of daemons that are running, and how to figure out where the source code of something is and how to compile it (as a package) feels very tricky to me. Also, their system of initrd etc. is very complex to my brain.

I came into FreeBSD from Linux. I would say that FreeBSD is an excellent system but not any less complex than Linux. It’s just a matter of getting used to things. I personally love Fedora and Chimera Linux (incidentally Chimera Linux is quite similar in philosophy to FreeBSD in the Linux world).

For me, learning to use FreeBSD has been a very pleasant experience. Once you use ZFS you understand what the fuss is about. You also realise the value of a cohesive system in which kernel and userspace are developed together. It’s also great that clang is the FreeBSD system compiler and the FreeBSD libc is so simple in comparison to Linux’s glibc. (musl libc is quite good though).

To anybody reading this I would recommend trying out FreeBSD. It will give your unix/computing concepts a nice boost. I still prefer Linux but I love FreeBSD too 🙂 .
