← Terug naar home

Uw dienst zonder besturingssysteem

Een unikernel is één zelfstandig programma dat rechtstreeks op een virtuele server (KVM) draait, zonder Linux, shell en processen. Wij passen uw dienst aan op zo'n basis en u start hem vanaf één schijfimage. De basis hebben we zelf ontwikkeld en getoetst aan ons eigen product, de MQTT-broker urMQTT.

Voordelen

Klein aanvalsoppervlak

Eén statisch gelinkte image zonder besturingssysteem, shell of gebruikersprocessen; alleen wat de dienst nodig heeft wordt geopend. Componenten die u niet volledig kunt vertrouwen (bijvoorbeeld een C-bibliotheek) kunnen geïsoleerd draaien, in een eigen adresruimte zonder toegang tot de kernel.

Minder onderhoud

Geen besturingssysteem om te patchen en te upgraden: een nieuwe versie is een nieuwe image. De image is slechts enkele megabytes groot.

Minder onderdelen, minder verrassingen

Het gedrag wordt bepaald door één programma en zijn configuratie; er zijn geen achtergrondservices, pakketten of dingen die vanzelf starten.

Configuratie is data

Instellingen en certificaten worden verpakt in een gevalideerde configuratie die bij elke start wordt gecontroleerd; de image drukt een vingerafdruk van zijn configuratie af, zodat u kunt controleren dat het de image is die u hebt besteld.

Beveiliging zit in de basis

TLS 1.3 met wederzijdse authenticatie, bescherming tegen netwerkoverbelasting, resourcelimieten en een watchdog voorkomen dat één slechte client de rest stillegt; de opslag wordt bij elke schrijfactie getest met een stroomonderbreking, met optionele schijfversleuteling.

Controleerbaar en zonder lock-in

Reproduceerbare builds, ondertekende releases, een softwarestuklijst (SBOM), een open-sourcebasis en een auditpakket dat ook de bekende zwakheden vermeldt.

Past bij kleine en grote omgevingen

Dezelfde code draait op virtuele aarch64- en x86_64-servers.

Wat wij bieden

Prijs voor alles: op aanvraag

Haalbaarheidsonderzoek

Wij bekijken uw dienst (taal, afhankelijkheden, netwerk- en schijfbehoeften) en vertellen wat mogelijk is, wat moet veranderen en hoeveel werk dat is, voordat u zich aan iets anders verbindt.

Uw dienst aanpassen aan de unikernel

Wij porteren de dienst (het makkelijkst in Rust; C-bibliotheken in een geïsoleerde worker) naar onze basis: netwerk, TLS, opslag, configuratie en logging.

Een pilot op uw server

Wij draaien de dienst op uw infrastructuur (KVM), testen hem met uw verkeer en leveren een prestatierapport.

Support en onderhoud

Image-upgrades, afhandeling van gemelde kwetsbaarheden en training van uw team.

urMQTT als kant-en-klaar product

Heeft u een MQTT-broker nodig: een geconfigureerde, ondertekende image met uw certificaten.

Een goede kandidaat en een mindere

Goed: een dienst met één doel die netwerkverbindingen accepteert: een protocolserver, een gateway, een dataverzamelaar, een TLS-eindpunt, een edge-apparaat. Minder: een programma dat het Linux-ecosysteem, een bestandssysteem, veel processen of heel veel uitgaande verbindingen nodig heeft. De huidige basis accepteert verbindingen (een TCP-server), opent geen uitgaande TCP-verbindingen en ondersteunt alleen IPv4; uitbreidingen beoordelen we per project.

Platforms en talen: wat we vandaag ondersteunen

Platforms en talen: wat we vandaag ondersteunen
PlatformStatus
Virtuele KVM-servers, aarch64Geverifieerd (Apple HVF en TCG)
Virtuele KVM-servers, x86_64 (UEFI en BIOS)Gedraaid op een echte KVM-VPS (AMD EPYC), plus tests in een emulator; niet geprobeerd op fysieke hardware
Virtuele apparatenvirtio (netwerk, schijf, SCSI, willekeurige getallen)
NetwerkIPv4; TCP als server (accepteert verbindingen, opent geen uitgaande)
Fysieke servers (bare metal), VMware, Hyper-V, XenNiet ondersteund (nog niet)
Taal van de dienst
Taal van de dienstStatus
RustDe natuurlijke keuze: de hele basis is in Rust
CAlleen als geïsoleerd programma met onze kleine libc-laag (zo draait SQLite); niet POSIX
C++Mogelijk zoals C, onbewezen; per project beoordeeld
Go, Java, Python, Node.js, .NET, PHPNiet ondersteund: ze hebben een besturingssysteem nodig. Dan wordt de dienst herschreven in Rust, of blijft hij op Linux met een unikernel-gateway aan de rand

Wat u meteen moet weten

De basis bevindt zich in een vroege fase (versie vóór 1.0). Ze richt zich op virtuele KVM-servers; x86_64 heeft gedraaid op een echte KVM-VPS en in een emulator, maar niet op fysieke hardware; Secure Boot is gedeeltelijk en er is nog geen onafhankelijke beveiligingsaudit uitgevoerd. Daarom bieden wij een pilot met support aan, geen gecertificeerd product.

Voorbeeld: urMQTT

Een MQTT-broker op die basis: TLS 1.3 met wederzijdse authenticatie, intrekking van certificaten zonder nieuwe image, een geïsoleerde SQLite-database, optionele schijfversleuteling. Bekijk de broncode op GitHub of neem contact met ons op.