Geleneksel sanal makineler (VM) güvenlik ve izolasyon açısından üstünlük sağlasa da, performans ve hızlı başlatma süreleri konusunda dezavantajlara sahiptir. Bir işletim sisteminin (OS) tamamen başlatılması, bir OS sürecini başlatmaktan çok daha uzun sürer ve bu durum dinamik uygulama ölçeklendirmeyi engeller. Ayrıca, birden fazla genel amaçlı işletim sisteminin aynı donanım kaynakları (CPU, bellek, ağ, GPU'lar) üzerinde bağımsız zamanlama kararları alması, kaynak dağıtımını karmaşıklaştırır. "Micro VM"ler bu sınırlamaları azaltmaya çalışsa da, misafir işletim sisteminin tam bir genel amaçlı işletim sistemi olmasının getirdiği ek yükü tamamen ortadan kaldıramaz.
Unikerneller, tam da bu sorunlara çözüm sunan, oldukça özelleşmiş bir kernel türüdür. Temel olarak, tek bir uygulamayı ve yalnızca o uygulamayı çalıştırmak üzere tasarlanmıştır. Bu özelliği sayesinde, unikernel tek bir adres alanında çalışabilir; burada kernel ve user space arasındaki olağan ayrım ortadan kalkar. Uygulama kernel'dir, kernel de uygulamadır. Bu tasarım, geleneksel işletim sistemlerinde kaçınılmaz olan sistem çağrılarında user space ile kernel space arasında context switching yapmanın performans maliyetini ortadan kaldırır ve donanıma doğrudan ve daha hızlı erişim sağlar.
Farklı unikernel projeleri bulunmakla birlikte, bazıları belirli programlama dilleri için özelleşmişken, bazıları daha çok yönlüdür. Bazıları monolitik, bazıları modüler yapıdadır. Kimi projeler uygulamanın özel bir şekilde derlenmesini ve bağlanmasını gerektirirken, diğerleri değiştirilmemiş ELF çalıştırılabilir dosyalarını çalıştırabilir. Bu çeşitliliğe rağmen, tüm unikernel'ler uzmanlaşmayı ve optimize edilmiş performansı hedeflemektedir. Bu makale, bir unikernel'in nasıl oluşturulacağını ve Docker tarafından çalıştırılabilecek bir OCI imajı olarak nasıl paketleneceğini ele almaktadır.
Unikerneller, sanal makinelerin güvenlik avantajlarını korurken, geleneksel işletim sistemlerinin getirdiği performans yükünü ortadan kaldırarak bulut tabanlı uygulamalar için yeni bir optimizasyon ve verimlilik düzeyi sunar.