4 ms·
Can somebody explain me why GAE does not use virtualization as a security layer? Xen is a powerful, free, mature product that utilizes clever techniques along w
by xxxyy 12y ago
Can somebody explain me why GAE does not use virtualization as a security layer? Xen is a powerful, free, mature product that utilizes clever techniques along with hardware support to provide the best isolation layer yet available. AWS EC2 runs just fine on Xen, GAE seems to have lots and lots of hiccups.
- skybrian 12y agoWhat makes you think it doesn't?
- xxxyy 12y agoWell, that would be a lot of redundancy. Good isolation is hard to achieve (as proven by this post), why bother doing it twice? Is there any upside?
- Nitramp 12y agoDefense in depth. Have another failsafe if your first line of defense fails (as it will).
- nl 12y agoAppEngine (the PAAS) uses containerisation to isolate services. That both provides a security layer and allows resource control. This incident demonstrates the need for it. Additionally it isn't really redundant. AppEngine supports Python and Go as well as Java, and it makes sense to have a common isolation infrastructure.
- avz 12y agoWhat makes you think they don't?
- wmf 12y agoGAE appears to be an evolution of Google's internal platform which does not use virtualization. Why invest in learning about a technology that is very different from Linux when such knowledge would not benefit 99% of Google's workloads? Given the number of kernel developers at Google, if they want security I would expect to see them improve Linux rather than adding virtualization. Of course, Google now has virtualization (GCE) because some customers demanded it, but if GAE already works there's no reason to redesign it.
- nl 12y agoFor whoever downvoted: This post is accurate. AppEngine-the-PAAS uses containerization for resource control and as a security layer on top of the (J)VM security. GAE-the-EC2 competitor uses virtualization to segment machines. The Google Docker offering uses Docker containers, and segments each customer into a VM.
- mikaraento 12y agoIt is somewhat correct to say that it's an evolution of the internal platform, as in that it indeeed used the same mechanisms to spawn jobs; but in the way it provides a PaaS it was very much a parallel track - instead of naming and allocating the different backend instances you just get all of them in a box.
- Demiurge 12y agoWhat makes you think it isn't?
- jpalomaki 12y agoWhen GAE launched they were only charging for the actual CPU time used by the application. There was no static monthly fees on running your app on GAE. If you are not getting money when the app is not performing tasks, you need to minimize the costs related to that state. Two ways to minimize the costs: 1)put as many apps as possible to singe machine 2)implement a fast mechanism for loading/unloading the apps based on demand. Xen like virtualization is not best choice for this purpose. Virtual machines have overhead which limits on how many of those you can put on one server. Even if the app running on VM does nothing, you still have the overhead. Also starting up the VM takes time so reacting to demand is slower. At least the original GAE would quite often shutdown the application completely and only start it when a new web request came in.