How to Virtualize Mission-Critical Applications