I’ve been having a lot of fun with Rust Rumprun unikernels lately. Managed to get mio compiled and baked as a unikernel running under qemu (screenshot), followed quickly by running a mioco (mio + coroutines) http demo (screenshot).
Learned a lot in the process, since very few rust projects seem to be 100% compatible with netbsd out of the box, so there has been a lot of tweaking and sending tiny PRs for better netbsd support.
Was doing the same about a month ago. It’s been a good time. Hard to find a cloud to deploy to, though.
Did you happen to try AWS? Theoretically AWS lets you boot your own kernel, which should (also theoretically) be compatible with the xen_pv rumpbake target. It’s been on my to-do list to try… but haven’t found time to give it a go yet.
I fear it won’t be quite as simple as it sounds, since everything is a special snowflake in unikernel land :)
I happened to try. Not sure if anyone tried after me, or if I scared everyone off. At least the web server on AWS is still up.
Then I tried GCE, and it wasn’t exactly better than AWS, so still not sure about deployment on the public cloud.
Not sure if the cloud infra is complex because general purpose operating systems make it complex, or if it’s complex because it’s complex by nature.
Urgh. Thanks for the writeup…it does indeed look a lot more complicated than I had hoped. I’ll put it on my todo list to try, maybe if we take turns smashing our head against the blackbox we’ll eventually end up with a unified launch script :)
I already find AWS to be ridiculously complex, adding in a custom kernel seemed like it would make it even more impossible.
I’ve used EC2 exactly twice, and have exactly the same sentiments :)
I have had success on Vultr. And I’m hoping to try some (toy) deployments on DO.
I’d like to add myself to “currently having fun with rumprun” crew :)
The author lost me at “let’s say you’re a developer writing a PHP app” ;-p