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
| Platform | Status |
|---|---|
| Virtuele KVM-servers, aarch64 | Geverifieerd (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 apparaten | virtio (netwerk, schijf, SCSI, willekeurige getallen) |
| Netwerk | IPv4; TCP als server (accepteert verbindingen, opent geen uitgaande) |
| Fysieke servers (bare metal), VMware, Hyper-V, Xen | Niet ondersteund (nog niet) |
| Taal van de dienst | Status |
|---|---|
| Rust | De natuurlijke keuze: de hele basis is in Rust |
| C | Alleen 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, PHP | Niet 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.