Design Principles for Virtualization Infrastructure