What is a unikernel?
Unikernels are in our opinion the future of cloud infrastructure for many different reasons. Within this context, however, we are defining a unikernel as a single process, single address space system that cross-compiles just what it needs from an operating system and nothing more.
Why not AWS/GCE?
AWS and GCE both have severe dis-advantages for running unikernels. They were built for monolithic operating systems that have been in use since the 1960s. They are unfit for running unikernels in production.
Why would I use a unikernel?
Unikernels can bring massive consolidation to your datacenter. Unikernels also present un-paralled security advantages that you simply can not find anywhere else. Unikernels can also boot *very* fast and offer performance guarantees that no other system can. Lastly, unikernels will become the dominant form of infrastructure in the coming years so it's important for you to familiarize yourself with their application early on.
Do you Support Linux?
We do support full linux VMs through our managed and private platform offerings. This is to allow your existing infrastructure footprint to co-exist with your unikernel undertakings.
Do you Support Containers?
Yes we do support containers/kubernetes through our managed and private platform offerings. This is to allow your existing infrastructure footprint to co-exist with your unikernel undertakings.
Why doesn't my app build?
Unfortunately this is a hard question to answer without looking at your individual app - you can always email engineering@ to ask for help. Unikernels are inherently *very* different from the operating system environment you are probably used to. Things like 'fork' are explicitly disallowed. Most native dependencies need to be baked in at compile-time. Most applications *can* be supported but we are still very early days in the ecosystem. Having said that we are here to help you build your app if it needs special help.
Why doesn't my app run?
Unfortunately this is a hard question to answer without looking at your individual app - you can always email engineering@ to ask for help. Typically speaking though if your app builds it probably will run.
What types of unikernels do you support?
If it boots we'll give it an ip. Having said that we will compile source server-side to Rumpkernel or OSv unikernels. You may also upload your own bootable image and attach various volumes to your instances. We've ran includeOS and mirage unikernels with great success as well.
I heard you don't support ssh?
That's correct - we don't support SSH because we don't support shells. This is by design. Eliminating this eliminates a *lot* of security problems in your infrastructure. Having said that we do allow tunneling so if you need a sql console and your database isn't open to the internet you can still have your cake and eat it too. Likewise, while we encourage immutable infrastructure you can easily remount your volumes to do any configuration management that you might have done via ssh in the past.
How do I route to other ports?
We currently don't hand out public ips by default - just cnames. However, we do allow you to associate a public ip with a particular instance so when you do that you'll be able to use the full spectrum of ports and of course the ip itself.
How much does it cost?
If you are interested in just toying around with the platform feel free to sign up for a free account. This will allow you to boot up a couple of unikernels.
Once you get comfortable with the ecosystem come talk to us to see how you can get the best out of unikernel infrastructure. If you just need a public cloud solution we can set you up with private projects, elastic ips and more.
We also have a variety of professional services and have managed hosting and on-premise installations which if you are interested in that you should contact firstname.lastname@example.org.