Could Juju be stretched to support unikernels and serverless applications?

Advocates of unikernels–such as myself, I guess–have attempted to talk up their benefits for a long time. With less code, they’re more secure than containers and VMs. They can be run at higher density. They’re friendlier to CPU caches, leading to faster performance.

But the orchestration problems are really hard. I believe that Juju, with its persistent agent model, could be stretched to make deploying unikernels much easier.

Likewise, a “serverless” application only exists on-demand.

To do this, a unit agent would need to exist outside of the unit. The unit agent would need to live at the same level as the hypervisor. There’s no operating system inside a unikernel, so it couldn’t do it itself.

Kubernetes is great, but it’s cognitively expensive and some workloads run more slowly.

Anyway, just an idea that I wanted to get down on “paper”


I think the model that we have with K8s could work here as well. Since the agents very much aren’t inside of the pods that are running the workloads. You do still need a place to run the agents, but those can just be more of the same.