urMQTT Enterprise
The commercial edition of urMQTT. It is the open kernel and broker with drivers added for devices that are not virtio, for cloud instance types and physical machines that the open edition cannot run on, and the support around them.
Status
Commercial
In development. No Enterprise release has shipped yet. We are looking for design-partner customers for the first target, Google Cloud. The terms of support and of a service-level agreement are not defined yet. Pricing on request.
What it adds to the open edition
Google Cloud: gVNIC and NVMe
Drivers for the network adapter (gVNIC) and the NVMe disks of Google Cloud's newer instance types, such as C3, C4 and the Arm types. The first target.
AWS Nitro: ENA and NVMe
Drivers for the Elastic Network Adapter and the NVMe disks (EBS and instance storage) of Nitro instances, on x86_64 and on Graviton (Arm). After Google Cloud.
Azure and VMware
On Azure, Hyper-V's VMBus devices (NetVSC for the network, StorVSC for storage) and MANA; on VMware, VMXNET3 and PVSCSI. Built when a customer needs them.
Bare metal
Drivers for physical network cards and disk controllers (for example Intel e1000e and igb, NVMe, AHCI), USB boot, a hardware report and a list of the machines it has run on. Built when a customer needs it.
Support and a service-level agreement
Answers, fixes and upgrades within agreed response times. The terms are not defined yet.
Signed production images
An image configured for you (your certificate authority, your network) and signed, with its configuration fingerprint recorded, so you can check on the console that it is the image you ordered.
Adapting your own service
The service of adapting an existing network service to a unikernel, offered under Services: a feasibility assessment, the port and a pilot on your infrastructure. Unikernel: your service with no operating system →
What runs where
| Platform and devices | urMQTT (open source) | urMQTT Enterprise |
|---|---|---|
| virtio devices: network, disk, SCSI, random numbers, console, balloon, GPU console, input, vsock | Yes: every virtio driver | Included |
| Devices that are not virtio: gVNIC, ENA, NVMe, VMBus, MANA, VMXNET3, PVSCSI, physical network cards, AHCI | No | Planned, per platform below |
| QEMU and KVM with virtio devices | Yes: tested (QEMU in the test suite) | Included |
| KVM VPS at netcup (aarch64) and Contabo (x86_64) | Yes: a release candidate has run on both | Included |
| Other KVM VPS with virtio devices, for example Hetzner | Expected: not tested | Included |
| Proxmox VE, Cloud Hypervisor, bhyve (virtio over PCI) | Expected: not tested | Included |
| Firecracker (virtio over MMIO, starts without UEFI or BIOS) | Not yet: neither is supported; this would be open-edition work | Same as the open edition |
| Google Cloud e2, n2 and other types with virtio-net and a virtio-scsi disk | Expected: not tested yet; until the open edition honours the network's MTU, it needs a network with an MTU of 1500 (Google Cloud's default is 1460) | Included |
| Google Cloud C3, C4 and Arm types (gVNIC, NVMe disks) | No | Planned: the first target |
| AWS Nitro, x86_64 and Graviton (ENA, NVMe disks) | No | Planned, after Google Cloud |
| Azure (Hyper-V VMBus with NetVSC and StorVSC, MANA) | No | Planned, when a customer needs it |
| VMware (VMXNET3, PVSCSI) | No | Planned, when a customer needs it |
| Bare metal (physical network cards, NVMe, AHCI, USB boot) | No | Planned, when a customer needs it |
The line between the editions is the device interface: the open edition drives every device that is virtio (PCI vendor ID 1AF4), on any hypervisor that offers it; Enterprise adds the devices that are not. Expected means that the platform offers the devices the open edition drives, but no urMQTT image has run there yet. No Enterprise release has shipped yet: its column says what it will contain.
What stays the same
Enterprise is the open kernel with more drivers, not a different broker. The MQTT protocol, the network stack, TLS 1.3 with mutual authentication, every security feature, the storage, the configuration format and the tools are those of the open edition, and they stay open (Apache-2.0 OR MIT). The open edition has no limits on connections, cores, memory or throughput, and no security fix is held back from it.
Security process and audit
A vulnerability is handled the same way in both editions, by one published process; a fix to shared code is released in the open edition no later than in Enterprise. For every Enterprise release, a summary of its audit state is published: the drivers it adds, the external inputs they parse, their fuzz targets and tests, and the open findings, in the form of the open edition's audit package.
The open edition
urMQTT, everything that runs on virtio, is open source under Apache-2.0 OR MIT. What is open stays open, the line between the editions never moves back toward the commercial side, and the open edition is not made weaker to sell this one.
Design partners and questions
If you want to run urMQTT on Google Cloud's gVNIC and NVMe instance types, on AWS, Azure, VMware or on your own hardware, tell us what you run and what you need. Pricing on request.