CIT-330: Designing Virtualized Systems