I posted this because I think Joyent is actually doing something unique relative to the other providers, as far as I understand, by having bare metal containers. If this is a desirable place to be, I think FreeBSD has almost all the components to do what SmartOS can in terms of running bare metal containers via jails with a docker interface. 64-bit linux compat is coming, as far as I understand. I think AWS has so much virtualization momentum that it is difficult for them to transition, as I understand it their container solution runs in a VM. Google is part of the same native cloud container foundation that Joyent is, but I’m not sure if Google will be running containers native or in a VM. Google would have to secure Linux containers quite a bit, which I think they have the human-power to do but I’m not sure if it would be a rough road.
The Joyent approach seems like the “right thing” to me, but I wouldn’t be surprised if Amazon’s solution is good enough. For a lot of cloud deployments people are mostly looking at what price/performance AWS can offer, which has a ton of factors going into it. Virtualization overhead will slightly worsen what AWS can offer there, but they can win it back through all sorts of methods, like datacenter economies of scale. And from the numbers they’ve disclosed in SEC filings, it sounds like AWS is currently a high-margin business, so if they really did feel a need to improve their price/performance offering, they can just cut prices without even changing any underlying technology.
If raw peak performance is an issue that could be more difficult, e.g. if AWS can’t offer the same max single-threaded performance, or the same max throughput on their biggest instance sizes, where you can no longer solve a performance problem by just throwing money at a bigger VM. I could also imagine latency of starting up containers being worse, though in principle you could solve that by throwing money at the problem too, e.g. by having a queue of “hot” pre-booted VMs ready to receive a Docker container.
I’m also probably wrong on multiple accounts. (I’d also like to be, because “AWS can deal with that just via brute-force economic power” isn’t a satisfying engineering solution.)
Maybe they’re hedging their bets on something vaguely like Mirage, where the containers will soon become more like VM appliances containing a small exokernel that’s linked in with the application?
I posted this because I think Joyent is actually doing something unique relative to the other providers, as far as I understand, by having bare metal containers. If this is a desirable place to be, I think FreeBSD has almost all the components to do what SmartOS can in terms of running bare metal containers via jails with a docker interface. 64-bit linux compat is coming, as far as I understand. I think AWS has so much virtualization momentum that it is difficult for them to transition, as I understand it their container solution runs in a VM. Google is part of the same native cloud container foundation that Joyent is, but I’m not sure if Google will be running containers native or in a VM. Google would have to secure Linux containers quite a bit, which I think they have the human-power to do but I’m not sure if it would be a rough road.
I’m probably wrong on multiple accounts.
The Joyent approach seems like the “right thing” to me, but I wouldn’t be surprised if Amazon’s solution is good enough. For a lot of cloud deployments people are mostly looking at what price/performance AWS can offer, which has a ton of factors going into it. Virtualization overhead will slightly worsen what AWS can offer there, but they can win it back through all sorts of methods, like datacenter economies of scale. And from the numbers they’ve disclosed in SEC filings, it sounds like AWS is currently a high-margin business, so if they really did feel a need to improve their price/performance offering, they can just cut prices without even changing any underlying technology.
If raw peak performance is an issue that could be more difficult, e.g. if AWS can’t offer the same max single-threaded performance, or the same max throughput on their biggest instance sizes, where you can no longer solve a performance problem by just throwing money at a bigger VM. I could also imagine latency of starting up containers being worse, though in principle you could solve that by throwing money at the problem too, e.g. by having a queue of “hot” pre-booted VMs ready to receive a Docker container.
I’m also probably wrong on multiple accounts. (I’d also like to be, because “AWS can deal with that just via brute-force economic power” isn’t a satisfying engineering solution.)
VMware has a very distinct answer: Run the container inside of a virtual machine.
Whaaaat.
Maybe they’re hedging their bets on something vaguely like Mirage, where the containers will soon become more like VM appliances containing a small exokernel that’s linked in with the application?
edit: Or I just realized… like the VM appliances that already exist, and for them to be powered by existing container ecosystems.