Moderne Softwarearchitekturen basieren auf Microservices. Zurzeit sind Container dabei das Mittel der Wahl. Einige Fachleute halten Container für eine Übergangstechnologie und sehen Unikernel als den logischen nächsten Schritt.
Virtuelle Maschinen enthalten ein komplettes Betriebssystem, auf dem die Anwendung läuft. Container verschlanken dieses Konzept, da sich mehrere Container ein Betriebssystem teilen können. Noch einen Schritt weiter geht der Unikernel-Ansatz: ein Unikernel enthält neben dem eigentlichen Service nur die Funktionen eines Betriebssystems, die unmittelbar für dessen Ausführung notwendig sind. Dies wird dadurch möglich, dass die Entwickler aus Bibliotheken die notwenigen Komponenten eines Betriebssystems auswählen und zusammen mit dem Service kompilieren. So entsteht ein Unikernel-Image, das direkt auf der Hardware oder in einem Hypervisor ausführbar ist.
Die erhofften Vorteile sind u.a.:
- Höhere Sicherheit
- Skalierbarkeit
- Ressourcenschonung